24.07.2015, 23:21
pawn Код:
new MuteTimer[MAX_PLAYERS];
CMD:mute(playerid, params[])
{
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "Error: You are not logged in!");
if(PlayerAcc[playerid][Admin] < 3) return ErrorMessages(playerid, 1);
new reason[128], id, time;
if(sscanf(params, "uis[128]", id, time, reason)) return SendClientMessage(playerid, COLOR_RED, "Syntax: /mute (id) (minutes) (reason)");
if(id == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2);
if(id == playerid) return ErrorMessages(playerid, 4);
if(PlayerAcc[id][Mute] == 1) return SendClientMessage(playerid, COLOR_RED, "That player is already mute!");
new str[128];
format(str, sizeof(str), "%s(%d) has been mute by Admin %s(%d) for %i minutes (for: %s)", GetName(id), id, GetName(playerid), playerid, time, reason);
SendClientMessageToAll(COLOR_RED, str);
format(str, sizeof(str), "You mute %s(%d) for %i minutes (for: %s)", GetName(id), id, time, reason);
SendClientMessage(playerid, COLOR_YELLOW, str);
PlayerAcc[id][Mute] = 1;
PlayerAcc[id][MuteTime] = time;
MuteTimer[id] = SetTimerEx("OnPlayerUnmute", 1000*60*time, false, "d", id);
return 1;
}
forward OnPlayerUnmute(id);
public OnPlayerUnmute(id)
{
new str[64];
format(str, sizeof(str), "%s(%d) has been unmuted ", GetName(id), id);
SendClientMessageToAll(COLOR_RED, str);
PlayerAcc[id][Mute] = 0;
PlayerAcc[id][MuteTime] = 0;
return 1;
}