Первое добавим массив отвечаущию за время мута

new Muted[MAX_PLAYERS];

Далее создадим таймер на секунду

В public OnGameModeInit
Добавляем следущее

Code
SetTimer("SecondTimer", 1000, 1); 

Теперь в любое место кроме пабликов(можно в конец мода)

Code
forward SecondTimer(); 
public SecondTimer() 

     for(new i = 0; i < MAX_PLAYERS; i++)//цикл 
     { 
         if(Muted[i] > 0)//если мут больше нуля секунд 
          { 
               Muted[i] --;//отнимаем мут на 1 
               if(Muted[i] == 0)//если мут равно одному 
               SendClientMessage(i,COLOR_RED,"У вас больше нет молчанки");//выдаем сообщение 
          } 
     } 
return 1; 

Теперь сама команда
public OnPlayerCommandText

Code
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] [time] [reason]"); 
     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] [time] [reason]"); 
     if(!strlen(cmdtext[idx])) 
     return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /mute [playerid] [time] [reason]"); 
     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); 
     Muted[id] = time*60;//ставим мут ваше число умноженое на 60 
     return 1; 
     } 

Теперь в public OnPlayerText

Code
if(Muted[playerid] != 0)//если мут не равно 0 
     { 
     format(string, sizeof(string), "Вы заткнуты отсавшиеся время заглушки %d(сек)",Muted[playerid]); 
     SendClientMessage(playerid, COLOR_SEA, string);//выдаем сообщение 
     return 0; 
     } 

проверку выше можно так же запихнуть в свои команды
Ну вот и все если кому нужен сток GN он ниже

stock GN(playerid)
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof Name);
return Name;
}