PHP код:
if(strcmp(cmd, "/mute", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_WHITE, "Нет доступа");
cmd = strtok(cmdtext, idx);
if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /mute [id] [Часы] [Минуты] [Секунды]");
giveplayerid = ReturnUser(cmd);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "[Ошибка]: Игрок не найден!");
cmd = strtok(cmdtext, idx);
if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /mute [id] [Часы] [Минуты] [Секунды]");
new hour = strval(cmd);
if(hour < 0) return SendClientMessage(playerid, COLOR_WHITE, "Количество часов не может быть меньше 0");
cmd = strtok(cmdtext, idx);
if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /mute [id] [Часы] [Минуты] [Секунды]");
new minute = strval(cmd);
if(minute < 0 || minute > 60) return SendClientMessage(playerid, COLOR_WHITE, "Количество минут не может быть меньше 0 или больше 60");
cmd = strtok(cmdtext, idx);
if(!strlen(cmd)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /mute [id] [Часы] [Минуты] [Секунды]");
new seconds = strval(cmd);
if(seconds < 1 || seconds > 60) return SendClientMessage(playerid, COLOR_WHITE, "Количество секунд не может быть меньше 1 или больше 60");
if(PlayerInfo[giveplayerid][pMuted] == 0)//Если у игрока нету бана = 0 то...
{
PlayerInfo[giveplayerid][pMuted] = 1;//Дали бан чата
PlayerInfo[giveplayerid][pMuteTime] = (hour*3600)+(minute*60)+seconds;
format(Stringers, sizeof(Stringers), "%s получил бан чата от администратора: %s", Name(giveplayerid), Name(playerid));
SendClientMessageToAll(COLOR_LIGHTRED, Stringers);
OnPlayerUpdateRL(giveplayerid);
}
else
{
PlayerInfo[giveplayerid][pMuted] = 0;
PlayerInfo[giveplayerid][pMuteTime] = 0;
format(Stringers, sizeof(Stringers), "Администратор: %s, снял бан чата у %s", Name(playerid), Name(giveplayerid));
SendClientMessageToAll(COLOR_LIGHTRED, Stringers);
OnPlayerUpdateRL(giveplayerid);
}
return 1;
}
А для конвертации можно использовать эту функцию.
PHP код:
stock ConvertSeconds(time, &hours, &minutes,&seconds)
{
if(time <= 60)
{
hours = 0;
minutes = 0;
seconds = time;
}
else if(time > 60 && time < 3600)
{
hours = 0;
minutes = time / 60;
seconds = floatround(time % 60, floatround_tozero);
}
else if(time == 3600){ hours = 1; minutes = 0; seconds = 0; }
else if(time > 3600)
{
new minutes_int;
hours = time / 3600;
minutes_int = floatround(time % 3600, floatround_tozero);
minutes = minutes_int / 60;
seconds = floatround(minutes_int % 60, floatround_tozero);
}
return 1;
}
Пример использования:
PHP код:
new hour, minute, second, string[40];
ConvertSeconds(PlayerInfo[giveplayerid][pMuteTime], hour, minute, second);
format(string, sizeof(string), "У Вас бан чата. Снятие через : %d:%d:%dс", hour, minute, second);
SendClientMessage(playerid, -1, string);