if(strcmp(cmd, "/mute", true) == 0)
{
if(!IsPlayerAdmin(playerid))//проверка на админа
return SendClientMessage(playerid,COLOR_RED,"У вас не прав на использование даной команды");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /mute [playerid] [время] [причина]");
new id = strval(tmp);
tmp = strtok(cmdtext, idx);
new time = strval(tmp);
if(!strlen(tmp) || !IsPlayerConnected(id))
return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /mute [playerid] [время] [причина]");
if(!strlen(cmdtext[idx]))
return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /mute [playerid] [время] [причина]");
format(string, sizeof(string), "Вы заткнули %s на %d(минут) с причиной %s", GN(id),time, cmdtext[idx]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "Вас заткнул %s на %d(минут) Причина: %s", GN(playerid),time, cmdtext[idx]);
SendClientMessage(id, COLOR_WHITE, string);
SetPVarInt(id,"Muted", gettime() + (time*60) );//unix time + минуты введенные в параметры
return 1;
}
Теперь в public OnPlayerText
Спойлер: Нажми
if(GetPVarInt(playerid,"Muted") > gettime())//если PVar больше unixtime
{
format(string, sizeof(string), "Вы заткнуты отсавшиеся время заглушки %d(сек)",(GetPVarInt(playerid,"Muted") - gettime()) );
SendClientMessage(playerid, COLOR_SEA, string);//выдаем сообщение
return 0;
}
Проверку выше можно так же запихнуть в свои команды
Ну вот и все если кому нужен сток GN то :
stock GN(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof Name);
return Name;
}
Если вы хотите чтобы игрок не мог писать и в команды такие как /report, /вопрос, /me /w... Тогда в начало самой команды:
Спойлер: Нажми
if(Muted[playerid] != 0)//если мут не равно 0
{
format(string, sizeof(string), "Вы заткнуты отсавшиеся время заглушки %d(сек)",Muted[playerid]);
SendClientMessage(playerid, COLOR_SEA, string);//выдаем сообщение
return 0;
}
Вроде всё...