/mute & /unmute в одной кмд (dc_cmd / zcmd) + sscanf
Команда действует по принципу: Если игрок заткнут, то его разоткнёт, и наоборот.
Ко всем new:
PHP код:
new
p_muted[MAX_PLAYERS char]
;
Теперь проверку - заткнут ли игрок:
В public OnPlayerText:
PHP код:
if(p_muted{playerid})
{
SendClientMessage(playerid, -1, "Вы заткнуты.");
return 0;
}
Ко всем командам:
PHP код:
CMD:mute(playerid, params[])
{
extract params -> new player: targetid; else
return SendClientMessage(playerid, -1, "Используйте: /mute [ID игрока / часть ника]");
if(IsPlayerConnected(targetid) == 0)
return SendClientMessage(playerid, -1, "Такого игрока нет на сервере.");
p_muted{targetid} = !p_muted{targetid};
static const
fmt_str[] = "%s (%d) %sткнул %s (%d)."
;
new
str[sizeof(fmt_str) - 2 + MAX_PLAYER_NAME - 2 + 3 - 2 + 4 - 2 + MAX_PLAYER_NAME - 2 + 3],
targetname[MAX_PLAYER_NAME + 1]
;
GetPlayerName(playerid, str, sizeof(str));
GetPlayerName(targetid, targetname, sizeof(targetname));
format(str, sizeof(str), fmt_str, str, playerid, p_muted{targetid} ? ("за") : ("разо"), targetname, targetid);
return SendClientMessageToAll(-1, str);
}
Автор: Londlem
Специально для: Pro-Pawn.Ru
Копирование данной статьи без разрешения автора запрещено!