#pragma semicolon 1
#include <sourcemod>
new bool:Enable = true;
new bool:BlockConnectionMsg = true;
new bool:BlockDisonnectionMsg = true;
new bool:BlockJoinMsg = true;
new bool:BlockServer_CvarMsg = true;
new Handle:g_CvarEnable;
new Handle:g_CvarBlockConnectionMsg;
new Handle:g_CvarBlockDisonnectionMsg;
new Handle:g_CvarBlockJoinMsg;
new Handle:g_CvarBlockServer_CvarMsg;
public Plugin:myinfo =
{
name = "Block standard message",
author = "",
description = "",
version = "0.1",
url = ""
}
public OnPluginStart()
{
g_CvarEnable = CreateConVar( "sm_block_standard_enable", "1", "1 = Вкл | 0 = Выкл. Блокировки стандартных сообщений.\n1 = On | 0 = Off. Enable plugins block standard message", FCVAR_PLUGIN, true, 0.0, true, 1.0);
g_CvarBlockConnectionMsg = CreateConVar("sm_block_standard_con", "1", "1 = Вкл | 0 = Выкл. Блокирует сообщения входа игрока.\n1 = On | 0 = Off. Block standard player connected message", FCVAR_PLUGIN, true, 0.0, true, 1.0);
g_CvarBlockDisonnectionMsg = CreateConVar("sm_block_standard_disc", "1", "1 = Вкл | 0 = Выкл. Блокирует сообщения выхода игрока.\n1 = On | 0 = Off. Block standard player discconnected message", FCVAR_PLUGIN, true, 0.0, true, 1.0 );
g_CvarBlockJoinMsg = CreateConVar("sm_block_standard_join", "1", "1 = Вкл | 0 = Выкл. Блокирует сообщения о смене команды.\n1 = On | 0 = Off. Block standard team join messages", FCVAR_PLUGIN, true, 0.0, true, 1.0 );
g_CvarBlockServer_CvarMsg = CreateConVar("sm_block_server_cvar", "1", "1 = Вкл | 0 = Выкл. Блокирует сообщения об изменение серверных переменных.\n1 = On | 0 = Off. Block Server Cvar messages", FCVAR_PLUGIN, true, 0.0, true, 1.0 );
if(Enable && BlockConnectionMsg)
HookEvent("player_connect", Events, EventHookMode_Pre);
if(Enable && BlockDisonnectionMsg)
HookEvent("player_disconnect", Events, EventHookMode_Pre);
if(Enable && BlockJoinMsg)
HookEvent("player_team", Events, EventHookMode_Pre);
if(Enable && BlockServer_CvarMsg)
HookEvent("server_cvar", Events, EventHookMode_Pre);
AutoExecConfig(true, "Block_standar_message");
}
public OnConfigsExecuted()
{
Enable = GetConVarBool(g_CvarEnable);
BlockConnectionMsg = GetConVarBool(g_CvarBlockConnectionMsg);
BlockDisonnectionMsg = GetConVarBool(g_CvarBlockDisonnectionMsg);
BlockJoinMsg = GetConVarBool(g_CvarBlockJoinMsg);
BlockServer_CvarMsg = GetConVarBool(g_CvarBlockServer_CvarMsg);
}
public Action:Events(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!Enable)
{
return Plugin_Continue;
}
if(!Enable && !BlockConnectionMsg)
{
return Plugin_Continue;
}
if(!Enable && !BlockDisonnectionMsg)
{
return Plugin_Continue;
}
if(!Enable && !BlockJoinMsg)
{
return Plugin_Continue;
}
if(!Enable && !BlockServer_CvarMsg)
{
return Plugin_Continue;
}
return Plugin_Handled;
}