pasvitas
Ученик
Здравствуйте пользователи pawno-info, сегодня я научу вас делать систему Религий для мода GodFather. Смысл в следущем: сначала игрок выбирает религию, потом каждый час он может молиться и получать прибавку к опыту. Чем больше уровень религии - тем больше опыта. Итак, приступим.
Для начала сделаем переменные для нашей религии
В enum pInfo ставим
Дальше в OnPlayerConnect
И все это сохраняем
В public OnPlayerUpdate_GF(playerid)
Теперь загружаем из файла все это
В public OnPlayerLogin(playerid,password[])
Теперь делаем команды для нашей религии
В public OnPlayerCommandText(playerid, cmdtext[]) все следующие вставляем
Для начала для показа информации о религии
Теперь при /rel нам покажет информацию о нашей религии
Дальше делаем выбор религии
При /vrel - покажет окно выбора религии
Теперь делаем молитву
Команды сделаем - теперь пишем диалоги
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Диалог сделали. Теперь в
public PayDay()
Делаем отмену религии каждый час
Вот и все, религии готовы!
Удачи всем! Если что пишите - помогу
Для начала сделаем переменные для нашей религии
В enum pInfo ставим
PHP:
pRel,//Религия
pRelLvl,//Уровень религии
pRelExp,//Опыт религии
pRelMol,//Молился ли в этот час
PHP:
PlayerInfo[playerid][pRel] = 0;
PlayerInfo[playerid][pRelLvl] = 0;
PlayerInfo[playerid][pRelExp] = 0;
В public OnPlayerUpdate_GF(playerid)
PHP:
iniSetInt(File,"Rel",PlayerInfo[playerid][pRel]);
iniSetInt(File,"RelLvl",PlayerInfo[playerid][pRelLvl]);
iniSetInt(File,"RelExp",PlayerInfo[playerid][pRelExp]);
В public OnPlayerLogin(playerid,password[])
PHP:
iniGetInt(File,"Rel",PlayerInfo[playerid][pRel]);
iniGetInt(File,"RelExp",PlayerInfo[playerid][pRelExp]);
iniGetInt(File,"RelLvl",PlayerInfo[playerid][pRelLvl]);
В public OnPlayerCommandText(playerid, cmdtext[]) все следующие вставляем
Для начала для показа информации о религии
PHP:
if(strcmp(cmd, "/rel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
new reltext[20];
if(PlayerInfo[playerid][pRel] == 1) { reltext = "Православие"; }
else if(PlayerInfo[playerid][pRel] == 2) { reltext = "Католицизм"; }
else if(PlayerInfo[playerid][pRel] == 3) { reltext = "Иудаизм"; }
else if(PlayerInfo[playerid][pRel] == 4) { reltext = "Конфуцианство"; }
else if(PlayerInfo[playerid][pRel] == 5) { reltext = "Ислам"; }
format(string, sizeof(string), "Ваша религия:%s\nУровень вероисповедания:%d\nОпыт религии:%d\n",reltext,PlayerInfo[playerid][pRelLvl],PlayerInfo[playerid][pRelExp]);
ShowPlayerDialog(playerid,11000,DIALOG_STYLE_MSGBOX,"Религия",string,"Ok","Cancel");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не зашли на сервер !");
}
}
return 1;
}
Дальше делаем выбор религии
PHP:
if(strcmp(cmd, "/vrel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
ShowPlayerDialog(playerid,11001,DIALOG_STYLE_LIST,"Выбор религии","Православие\nКатолицизм\nИудаизм\nКонфуцианство\nИслам","Ok","Cancel");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не зашли на сервер !");
}
}
return 1;
}
Теперь делаем молитву
PHP:
if(strcmp(cmd, "/molitva", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (gPlayerLogged[playerid] != 0)
{
if(PlayerInfo[playerid][pRelMol] == 0)
{
if(PlayerInfo[playerid][pRel] > 0)
{
if(PlayerInfo[playerid][pRelLvl] <= 1)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;
PlayerInfo[playerid][pRelMol] = 1;
PlayerInfo[playerid][pExp] += 1;
}
else if(PlayerInfo[playerid][pRelLvl] == 2)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;
PlayerInfo[playerid][pRelMol] = 1;
PlayerInfo[playerid][pExp] += 2;
}
else if(PlayerInfo[playerid][pRelLvl] == 3)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;
PlayerInfo[playerid][pRelMol] = 1;
PlayerInfo[playerid][pExp] += 2;
}
else if(PlayerInfo[playerid][pRelLvl] == 4)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;
PlayerInfo[playerid][pRelMol] = 1;
PlayerInfo[playerid][pExp] += 3;
}
else if(PlayerInfo[playerid][pRelLvl] == 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;
PlayerInfo[playerid][pRelMol] = 1;
PlayerInfo[playerid][pExp] += 4;
}
else if(PlayerInfo[playerid][pRelLvl] == 6)
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы помолились !");
PlayerInfo[playerid][pRelExp] += 1;//Даем опыт религии
PlayerInfo[playerid][pRelMol] = 1;//Делаем так что он помолился
PlayerInfo[playerid][pExp] += 5;//Даем опыт
}
if(PlayerInfo[playerid][pRelExp] == 8)//Если опыт религии 8 то апаем ему следующей лвл религии
{
PlayerInfo[playerid][pRelLvl] += 1;
SendClientMessage(playerid, COLOR_GRAD1, " Вы стали более верующим");
PlayerInfo[playerid][pRelExp] = 0;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы уже молились в этот час !");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " У вас нет религии /vrel");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Вы не зашли на сервер !");
}
}
return 1;
}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
if(dialogid == 11001)
{
if(response)
{
if(listitem == 0)
{
SendClientMessage(playerid,0x88AA88AA,"Вы стали православным!");
PlayerInfo[playerid][pRel] = 1;
PlayerInfo[playerid][pRelExp] = 0;
PlayerInfo[playerid][pRelLvl] = 0;
}
if(listitem == 1)
{
SendClientMessage(playerid,0x88AA88AA,"Вы стали католиком!");
PlayerInfo[playerid][pRel] = 2;
PlayerInfo[playerid][pRelExp] = 0;
PlayerInfo[playerid][pRelLvl] = 0;
}
if(listitem == 2)
{
SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете иудаизм!");
PlayerInfo[playerid][pRel] = 3;
PlayerInfo[playerid][pRelExp] = 0;
PlayerInfo[playerid][pRelLvl] = 0;
}
if(listitem == 3)
{
SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете конфуцианство!");
PlayerInfo[playerid][pRel] = 4;
PlayerInfo[playerid][pRelExp] = 0;
PlayerInfo[playerid][pRelLvl] = 0;
}
if(listitem == 4)
{
SendClientMessage(playerid,0x88AA88AA,"Вы исповедуете ислам");
PlayerInfo[playerid][pRel] = 5;//Ставим религию
PlayerInfo[playerid][pRelExp] = 0;//Ставим 0 в опыт религии
PlayerInfo[playerid][pRelLvl] = 0;//Ставим 0 в уровне религии
}
}
else
{
return 1;
}
}
public PayDay()
Делаем отмену религии каждый час
PHP:
PlayerInfo[i][pRelMol] = 0;
Удачи всем! Если что пишите - помогу
