Добавлено спустя 37 секунд:
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#define MAX_line 999
new g_iSayText
new g_szText[100][100]
new Reason[100][100]
new szText[32]
public plugin_init()
{
register_plugin("Anti-PrefixCheat", "1.0", "Seroff")
g_iSayText = get_user_msgid("SayText")
}
public client_putinserver( id )
{
set_task(0.1, "CheckCheatCvar", id)
}
public plugin_cfg()
{
new line
new textsize
new text[64]
new i
new Result[32]
new config[64]
get_configsdir(config, 64)
format(config, 63, "addons/amxmodx/configs/Cheat_Prefixes.ini", config)
if (!file_exists(config))
{
write_file(config, "// ")
}
else
{
while(read_file(config,line,text,63,textsize))
{
if(text[0] == ';' || text[0] == '/') continue
parse(text, szText, 31, Result, 31)
g_szText[i] = szText
Reason[i++] = Result
line++
}
}
}
public CheckCheatCvar(id)
{
if( is_user_connected(id) )
{
query_client_cvar(id, szText, "ClientCvarResult")
}
}
public ClientCvarResult(id, const szCvar[], const szValue[])
{
if( szValue[0] != 'B' )
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
for (new i = 0; i < MAX_line; i++)
server_cmd("kick #%d %s", get_user_userid(id),Reason[i])
ColorChat(0, "^4ˆãðîê ^1%s ^3 èñïîëüçóåò ^3÷èòû ñ ïðåôèêñîì^1[^4%s ^3^1]^3!!", szName,szCvar)
}
}
ColorChat(id, fmt[], any:...)
{
new szMsg[192]
szMsg[0] = 0x04
vformat(szMsg[1], charsmax(szMsg)-1, fmt, 3)
message_begin(id ? MSG_ONE : MSG_ALL, g_iSayText, _, id)
{
write_byte(id ? id : 1)
write_string(szMsg)
}
message_end()
}