Выкладываю свою систему /report и /ans.
Для начала добавим дефайны:
#define color_blue 0x0080FFFF #define color_white 0xFFFFFFFF #define SCM SendClientMessage
Далее создадим сток, с помощью которого будем узнавать имя.
stock gpname(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof pName);
return pName;
}
Добавим еще один сток, в котором будем отсеивать от всех игроков только администраторов.
stock asend(color, string[])
{
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(accounts[i][padminlvl] > 0) SCM(i, color, string);
}
}
return 1;
}
Ну и сами команды.
CMD:report(playerid,params[])
{
if(GetPVarInt(playerid, "Logged") == 0) return true;
if(gettime()-GetPVarInt(playerid,"report")<120) return SCM(playerid,color_white,"{F50F0F}[Ошибка]:{FFFFFF} Жалобу можно отправлять 1 раз в 120 секунд.");
SetPVarInt(playerid,"report",gettime());
new string[120];
new string2[120];
if(sscanf(params, "s[36]", params[0])) return SCM(playerid, color_white,"Введите: /report [жалоба]");
format(string, sizeof(string), "Жалоба успешно отправлена администрации!");
SCM(playerid, color_blue, string);
format(string2, sizeof(string2), "{F50F0F}Жалоба от игрока %s:{FFFFFF} %s", gpname(playerid), params[0]);
asend(color_white, string2);
return 1;
}
И команда /ans.
CMD:ans(playerid, params[])
{
if(GetPVarInt(playerid, "Logged") == 0) return true;
if(accounts[playerid][padminlvl] < 0) return true;
if(sscanf(params, "is[36]", params[0], params[1])) return SCM(playerid, color_white, "Введите: /ans [ID игрока] [текст]");
new string[200];
new string2[200];
format(string, sizeof(string), "Вы ответили игроку %s:{FFFFFF} %s", gpname(params[0]), params[1]);
SCM(playerid, color_blue, string);
format(string2, sizeof(string2), "{8B4513}Ответ от администратора %s:{FFFFFF} %s", gpname(playerid), params[1]);
SCM(params[0], color_white, string2);
return 1;
}
Переменную accounts[playerid][padminlvl] < 0 заменяйте на свою, где хранится уровень администрации игроков.
Кому помог от + не откажусь.
Сообщение отредактировал IcsOne: 24 марта 2015 - 14:49
Вход
Регистрация
Помощь









