Первое добавим массив отвечаущию за время мута
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; 
 }