Попробуй:
#pragma semicolon 1
#include <sourcemod>
#pragma newdecls required
bool g_bSilencer[MAXPLAYERS + 1];
public void OnPluginStart()
{
RegConsoleCmd("sm_silent", sm_silent);
HookEvent("round_end", Event_RoundEnd);
HookEvent("mission_lost", Event_RoundEnd);
HookEvent("map_transition", Event_RoundEnd);
}
public Action sm_silent(int client, int args)
{
if (IsClientInGame(client) && !IsFakeClient(client))
{
if (!g_bSilencer[client])
{
SetEntProp(client, Prop_Send, "m_upgradeBitVec", GetEntProp(client, Prop_Send, "m_upgradeBitVec") + 262144, 4);
g_bSilencer[client] = true;
PrintToChat(client, "\x03Silencer \x05On");
}
else
{
SetEntProp(client, Prop_Send, "m_upgradeBitVec", GetEntProp(client, Prop_Send, "m_upgradeBitVec") - 262144, 4);
g_bSilencer[client] = false;
PrintToChat(client, "\x03Silencer \x04Off");
}
}
return Plugin_Handled;
}
public void Event_RoundEnd(Event event, const char[] name, bool dontBroadcast)
{
for(int i=1; i<=MaxClients; i++)
{
if(IsClientInGame(i)) g_bSilencer[i] = false;
}
}