21.04.2020, 15:02
Simple Mute Script: (please remember to set player color or else his name in chat will be black)
PHP Code:
#include <a_samp>
#include <foreach>
#include <sscanf2>
#include <zcmd>
static bool:Muted[MAX_PLAYERS][MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason)
{
foreach(new i,Player)
{
Muted[i][playerid] = false;
Muted[playerid][i] = false;
}
return 1;
}
CMD:mute(playerid, params[])
{
new user, name[31];
if(sscanf(params, "u", user)) return SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /mute [id/name]");
if(user == playerid) return SendClientMessage(playerid, 0xFF0000FF, "You cannot mute yourself!");
if(!IsPlayerConnected(user) || IsPlayerNPC(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Invalid player!");
if(Muted[playerid][user]) return SendClientMessage(playerid, 0xFF0000FF, "Player is allready muted!");
Muted[playerid][user] = true;
GetPlayerName(user, name, 24);
strcat(name, " muted!");
SendClientMessage(playerid, 0xFFFF00FF, name);
return 1;
}
CMD:unmute(playerid, params[])
{
new user, name[33];
if(sscanf(params, "u", user)) return SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /mute [id/name]");
if(user == playerid) return SendClientMessage(playerid, 0xFF0000FF, "If you cannot mute yourself then why unmute!");
if(!IsPlayerConnected(user) || IsPlayerNPC(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "Invalid player!");
if(!Muted[playerid][user]) return SendClientMessage(playerid, 0xFF0000FF, "Player is not muted!");
Muted[playerid][user] = false;
GetPlayerName(user, name, 24);
strcat(name, " unmuted!");
SendClientMessage(playerid, 0xFFFF00FF, name);
return 1;
}
public OnPlayerText(playerid, text[])
{
new color, name[144];
color = GetPlayerColor(playerid);
GetPlayerName(playerid, name, 24);
strcat(name, "{FFFFFF}: ");
strcat(name, text);
foreach(new i,Player)
{
if(Muted[i][playerid]) continue;
SendClientMessage(i, color, name);
}
return 0;
}