Code
if(!strcmp(cmd, "/mute", true))
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "*Не хватает прав");
new tmp2[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "*ПОДСКАЗКА: /mute [playerid] [время]");
new otherplayer = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "*ПОДСКАЗКА: /mute [playerid] [время]");
new time = strval(tmp);
if(!IsPlayerConnected(otherplayer)) return SendClientMessage(playerid, COLOR_WHITE, "*Неверный ид.");
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[otherplayer][pAdmin]) return SendClientMessage(playerid, COLOR_BRIGHTRED, "*Нельзя заткнуть старшего по уровню админки!");
PlayerInfo[otherplayer][Mute] = time;
if(PlayerInfo[playerid][pAdmin] < 6) format(string, sizeof(string), "\"%s\" был заткнут Модератором \"%s\" на %d секунд.", db_GetPlayerName(otherplayer), db_GetPlayerName(playerid), time);
else format(string, sizeof(string), "\"%s\" был заткнут Администратором \"%s\" на %d секунд.", db_GetPlayerName(otherplayer), db_GetPlayerName(playerid), time);
return SendClientMessageToAll(COLOR_YELLOW, string);
}
if(!strcmp(cmd, "/unmute", true))
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "*Не хватает прав");
tmp = strtok(cmdtext, idx);
giveplayerid = ReturnUser(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "*ПОДСКАЗКА: /unmute [playerid]");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "*Неверный ид.");
PlayerInfo[playerid][Mute] = 0;
if(PlayerInfo[playerid][pAdmin] < 6) format(string, sizeof(string), "*Вы были разоткнуты Модератором %s", db_GetPlayerName(playerid));
else format(string, sizeof(string), "*Вы были разоткнуты Администратором %s", db_GetPlayerName(playerid));
return SendClientMessage(giveplayerid, COLOR_YELLOW, string);
}
OnPlayerConnect
PlayerInfo[playerid][Mute] = 0;
Секундный таймер
Code
public System()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][Logged])
{
if(PlayerInfo[i][Mute]>0) PlayerInfo[i][Mute]--; //
if(PlayerInfo[i][Mute]<0) PlayerInfo[i][Mute]=0; // вот эти строки отвечают за вычитание секунд из срока мута
}
}
}
Запись в аккаунт мута соответственно.... тут уже ваши собственные знания нужны, ибо подгонять все под ваши моды я не собираюсь
Добавлено (06.07.2009, 14:15)
---------------------------------------------
Команды лишь пример, они вырезаны из моей реги