Jaks
Умник
Итак, в этом уроке я расскажу вам как создать систему "Криминального авторитета человека", то есть сейчас я расскажу как сделать, что бы человеку было определённое ограничение по приёму во фракцию или банду/мафию. Чем будет больше криминального авторитета у человека тем меньше будет шанс попасть человеку попасть в гос.организацию, но больше попасть в банду и занять высокое звание в банде.
Итак начнём:
Ко всем new
В раздел enum pInfo
В public OnPlayerConnect(playerid)
В public OnPlayerRegister(playerid, password[])
В public OnPlayerUpdateRL(playerid)
В public OnPlayerLogin(playerid,password[])
В public OnPlayerCommandText(playerid, cmdtext[])
И команда узнать свой авторитет
И дальше что бы нельзя было принять в гос.организацию с большим + ставим такую строчку в команде /invite к определённой фракции
А так же для мафий:
Команда написана Jaks'om
Как то так, если что я думаю вы поправите меня.
Если понравилось думаю не откажите, и поставите +сик ?)
Если у кого то возникнут проблемы прошу обратиться в скайп,а не флудить в теме: nikita.kosyrev, или icq: 7342210
Итак начнём:
Ко всем new
PHP:
new avtoriteta[MAX_PLAYERS];
В раздел enum pInfo
PHP:
pAvtoritet,
В public OnPlayerConnect(playerid)
PHP:
PlayerInfo[playerid][pAvtoritet] = 0;
В public OnPlayerRegister(playerid, password[])
PHP:
ini_setInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);
В public OnPlayerUpdateRL(playerid)
PHP:
ini_setInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);
В public OnPlayerLogin(playerid,password[])
PHP:
ini_getInteger(File,"Avtoritet",PlayerInfo[playerid][pAvtoritet]);
В public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd, "/setavt", true) == 0)
{
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 15 && PlayerInfo[playerid][pMember] == 14)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /setavt [id] [+ 1 до 5 или -1 до -5]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /setavt [id] [+ 1 до 5 или -1 до -5]");
if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не можете давать авторитет самому себе!");
new amount;
amount = strval(tmp);
if(PlayerInfo[playerid][pAvtoritet] <= -1) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не можете давать уважуху человеку,потому что вы сами не лучше его.");
if(avtoriteta[playerid] >= 2) return SendClientMessage(playerid, COLOR_GRAD1, "Он не готов быть ещё более авторитетным!");
PlayerInfo[giveplayerid][pAvtoritet] += amount;
format(string, sizeof(string), "Вы доверились: %d", amount);
SendClientMessage(playerid, COLOR_YELLOW2, string);
GetPlayerName(playerid, sendername, sizeof(sendername));
avtoriteta[playerid] +=1;
format(string, sizeof(string), "Ваш авторитет изменился %d",amount);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Не достаточно полномочий!");
}
return 1;
}
И команда узнать свой авторитет
PHP:
if(strcmp(cmd, "/avtoritet", true) == 0)
{
tmp = strtok(cmdtext,idx);
format(string, sizeof(string), "Ваш авторитет: %d",PlayerInfo[playerid][pAvtoritet]);
SendClientMessage(playerid,0xAFAFAFAA,string);
if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"::: Введите: /avtoritet [id]");
giveplayerid = ReturnUser(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "[%s] Авторитет: %d",giveplayer,PlayerInfo[giveplayerid][pAvtoritet]);
SendClientMessage(playerid,0x6495EDFF,string);
return 1;
}
И дальше что бы нельзя было принять в гос.организацию с большим + ставим такую строчку в команде /invite к определённой фракции
PHP:
if(PlayerInfo[playerid][pAvtoritet] >= 20) return SendClientMessage(playerid, COLOR_GRAD1,"Игрок слишком авторитетный в криминальном мире!");
PHP:
if(PlayerInfo[playerid][pAvtoritet] <= 0) return SendClientMessage(playerid, COLOR_GRAD1,"Ему нечего делать у вас он может быть наводчиком!");
Как то так, если что я думаю вы поправите меня.
Если у кого то возникнут проблемы прошу обратиться в скайп,а не флудить в теме: nikita.kosyrev, или icq: 7342210
Последнее редактирование:
