Код за потвърждение: Избери целия код
#include <amxmodx>
#define MAX_WORDS 100
#define MAX_LEN 32
native gag_user(name[], ip[], duration, reason[], admin[])
new gsWords[ MAX_WORDS ][ MAX_LEN ];
new gsWordFile[] = "addons/amxmodx/configs/badwords.ini";
new bool:is_admin_connected[33]
new g_iAdminCount
public plugin_init()
{
register_plugin( "Word Blocker", "0.1", "hornet" )
register_clcmd( "say", "cmdSay" );
register_clcmd( "say_team", "cmdSay" );
new text[ MAX_LEN ], txtlen;
for( new i ; i < file_size( gsWordFile, 1 ) ; i ++ )
{
read_file( gsWordFile, i , text, charsmax( text ), txtlen );
gsWords[ i ] = text;
}
}
public cmdSay( id )
{
if (g_iAdminCount > 0)
return PLUGIN_CONTINUE;
new say[ 256 ];
read_args( say, charsmax( say ) );
new index = -1;
for( new i ; i < sizeof gsWords - 1 ; i ++ )
{
index = contain( say, gsWords[ i ] )
if( index != -1 )
{
new wordLength = strlen(gsWords[i]);
if (index > 0 && (say[index-1] >= 65 && say[index-1] <= 90 || say[index-1] >= 97 && say[index-1] <= 122)
|| index + wordLength < strlen(say) && (say[index + wordLength + 1] >= 65 && say[index + wordLength + 1] <= 90 || say[index + wordLength + 1] >= 97 && say[index + wordLength + 1] <= 122) )
{
return PLUGIN_CONTINUE;
}
new szName[32], szIP[16];
get_user_name(id, szName, charsmax(szName));
get_user_ip(id, szIP, charsmax(szIP), 1);
gag_user(szName, szIP, 1, "Adversting / Swearing", "Bad Words System");
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_KICK)
{
g_iAdminCount++
is_admin_connected[id] = true
}
}
public client_disconnected(id)
{
if(is_admin_connected[id])
{
is_admin_connected[id] = false
g_iAdminCount--
}
}