#foreach
Ученик
Доброго дня, пользователи Pawno-Info.ru
Решил написать скромненькую систему для лидеров, мб кому-нибудь да пригодиться.
Командный процессор DCMD.
Скриншоты:
Преступим же.
Ищем pInfo и добавляем в самый конец строчку:
Далее ищем public OnPlayerConnect и добавляем в конец:
Далее ищем stock/public OnPlayerRegister(playerid, Password[]) и вставляем туда:
Далее ищем public OnPlayerLogin(playerid, Password[]) и туда
Далее ищем свой паблик сохранения и вставляем туда:
Сама команда
В команду /makeleader добавим следующие:
И сама команда для просмотра статистики. (Изначально я хотел совместить её с /myskill, но позже решил сделать отдельную команду
Команда для просмотра администратором статистики игрока:
P.S У для тех у кого нету данного макроса:
Ищем pInfo и туда добавляем
В public OnPlayerConnect(playerid) добавляем строчку:
И где-нибудь в конце мода
И вот это(Если нету):
Спасибо за внимание, думаю вам понравится.
Решил написать скромненькую систему для лидеров, мб кому-нибудь да пригодиться.
Командный процессор DCMD.
Скриншоты:
Ищем pInfo и добавляем в самый конец строчку:
PHP:
pRepleader
PHP:
PlayerInfo[playerid][pRepleader] = 0;
PHP:
ini_setInteger(File,"Repleader",PlayerInfo[playerid][pRepleader]);
PHP:
ini_setInteger(File,"Repleader",PlayerInfo[playerid][pRepleader]);
PHP:
ini_setInteger(File,"Repleader",PlayerInfo[playerid][pRepleader]);
PHP:
CMD:setrepleader(playerid, params[])
{
new inputtext[10];
if(PlayerInfo[playerid][pAdmin] < 6) return true;
if(sscanf(params, "dis[10]", params[0],params[1], inputtext)) return SendClientMessage(playerid, COLOR_LIGHTGREEN, "Введите: /setrepleader [ид] [кол-во] [действие] (up / down)");
if(params[1] < 0 || params[1] > 5) return SendClientMessage(playerid, COLOR_GRAD1, "Количество повышаемых/понижаемых очков должно быть не меньше 1 и не больше 5.");
if(strcmp(inputtext, "up", true) == 0)
{
SendMes(params[0], COLOR_LIGHTRED, "Администратор %s повысил ваш навык лидерства на %i единиц(у).", Name(playerid),params[1]);
format(DCMDstr, 256, "[A]Администратор %s повысил навык лидерства игроку %s на %i единиц.", Name(playerid), Name(params[0]),params[1]);
ABroadCast(COLOR_LIGHTRED,DCMDstr,1);
SendClientMessage(params[0], COLOR_WHITE, "Для просмотра вашей репутации лидерства введите /myrepleader");
PlayerInfo[params[0]][pRepleader] += params[1];
}
if(strcmp(inputtext, "down", true) == 0)
{
SendMes(params[0], COLOR_LIGHTRED, "Администратор %s понизил ваш навык лидерства на %i единиц(у).", Name(playerid),params[1]);
format(DCMDstr, 256, "[A]Администратор %s понизил навык лидерства игроку %s на %i единиц.", Name(playerid), Name(params[0]),params[1]);
ABroadCast(COLOR_LIGHTRED,DCMDstr,1);
PlayerInfo[params[0]][pRepleader] -= params[1];
}
return true;
}
PHP:
if(PlayerInfo[params[0]][pRepleader] < 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "[WARNING]Игрок имеет ОТРИЦАТЕЛЬНУЮ репутация лидерства!");
PHP:
CMD:myrepleader(playerid, params[])
{
new text[32];
if(PlayerInfo[playerid][pRepleader] < 0) text = "{ff0000}Отрицательная{ffffff}";
else if(PlayerInfo[playerid][pRepleader] >= 0) text = "{00a86b}Положительная{ffffff}";
format(DCMDstr, 256,"{ffffff}Ваш Ник: {00a86b}%s\n{ffffff}Репутация вашего лидерства: %s\nКоличество очков: {00a86b}%d\n\n{ff0000}Внимание!С отрицательной репутацией лидерства-\nвы больше никогда не сможете стать лидером организации!.",Name(playerid), text, PlayerInfo[playerid][pRepleader]);
ShowPlayerDialog(playerid,8888,DIALOG_STYLE_MSGBOX,"{FFFFFF}Статистика лидерства", DCMDstr, "WAIT", "");
}
PHP:
CMD:getrepleader(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 6) return true;
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_LIGHTGREEN, "Введите: /getrepleader [ид лидера]");
new text[32];
if(PlayerInfo[params[0]][pRepleader] < 0) text = "{ff0000}Отрицательная{ffffff}";
else if(PlayerInfo[params[0]][pRepleader] >= 0) text = "{00a86b}Положительная{ffffff}";
format(DCMDstr, 256, "{ffffff}Ник лидера: {00a86b}%s\n{ffffff}Репутация лидерства: %s\nКоличество полученных очков: {00a86b}%d\n\n{ffffff}В данный момент контролирует фракцию: {00a86b}%s",Name(params[0]), text, PlayerInfo[params[0]][pRepleader], GetFrakName(PlayerInfo[params[0]][pMember]));
ShowPlayerDialog(playerid, 8888, DIALOG_STYLE_MSGBOX, "{FFFFFF}Статистика лидера", DCMDstr, "WAIT", "");
return true;
}
Ищем pInfo и туда добавляем
PHP:
pName[MAX_PLAYER_NAME]
PHP:
GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
PHP:
stock Name(i) return true;
#define Name(%1) PlayerInfo[%1][pName]
PHP:
stock GetFrakName(fnumbwer)
{
new string[32];
switch(fnumbwer)
{
case 0: format(string,sizeof(string),"NONE");
case 1: format(string,sizeof(string),"The Groove Street Gang");
case 2: format(string,sizeof(string),"Varios Aztecas Gang");
case 3: format(string,sizeof(string),"The Rifa Gang");
case 4: format(string,sizeof(string),"Los-Santos Vagos Gang");
case 5: format(string,sizeof(string),"The Ballas Gang");
case 6: format(string,sizeof(string),"Правительство");
}
return string;
}
Последнее редактирование:
