Anti-spam no bloquea el mensaje con espacios?

Hola a todos bueno aqui tengo un anti-spam, funca bien y bloquea las ips con puntos y todo pero se la pasan haciendome spam de esta forma 123 456 789 100 27019



Ven no le ponen puntos si no espacios y no bloquea el mensaje aqui el code




PHP Code:







#include <amxmodx>
#include <regex>

#define PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b

new pCvar_MaxpCvar_Kick

enum
{

NUM 0,

POINT 1,

DPOINT 2,

WWW 3 ,

TOTAL_LTS
}

public 
plugin_init()

{

register_plugin("Anti-Spam""1.0""Click post title for more details.")

register_clcmd("say_team""hook_say")

register_clcmd("say""hook_say")

pCvar_Kick register_cvar("check_mode","1"//0 desactivado, 1 kickear, 2 cambiar el nombre/borrar say

pCvar_Max register_cvar
("check_maxdigits","10"//cantidad de numeros permitidos en nick

register_message(get_user_msgid("SayText"), "MessageNameChange")
}

public 
client_connect(id

    new 
szName[32
    
get_user_nameidszName31 
    
check_name(id,szName
    
}

check_name(id,const szName[])

    
    new 
Count 
    
new iValue get_pcvar_num(pCvar_Kick)
    
    if(!
iValue)
    {
        return 
PLUGIN_HANDLED
    
}
    
    for(new 
0strlen(szName) ; i++) 
  & nbsp; { 
        if(
48 <= szName[i] <= 57
        { 
            
Count++ 
        } 
    } 
    
    if( 
Count >= get_pcvar_num(pCvar_Max) ) 
    { 
        switch(
clamp(iValue,1,2))
      &n bsp; {
            case 
1:
            {  
        
emessage_beginMSG_ONESVC_DISCONNECT_id 
        
ewrite_string("Nick detectado como spam."
        
emessage_end()
            }
            case 
2:
       &n bsp;    {
                
set_user_info(id,"name","[Spam]")
            }
        }
        
    } 
    
    return 
PLUGIN_CONTINUE
}

public 
client_putinserver(id)

check_user_name(id)

public 
client_infochanged(id)

{
new 
oldname[32], newname[32]

get_user_name(idoldname31)

get_user_info(id"name"newname31)

if( !
equal(oldnamenewname) )

check_user_name(idnewname)
}

stock check_user_name(id, const name[32] = "")

{
new 
plrname< span>[
32]

if(
equal(name""))

{
get_user_name(idplrname31)
}

else

{
plrname name
}

new 
g_returnvalueg_error[64]

new 
Regex:g_result regex_match(plrnamePATTERNg_returnvalueg_error63)

switch(
g_result)

{case 
REGEX_MATCH_FAILREGEX_PATTERN_FAIL:

{
return 
log_amx("REGEX ERROR! %s"g_error)
}

case 
REGEX_NO_MATCH:

{
return 
0
}

default:

{
new 
name[33]

get_user_name(idname32)

client_cmd(id"name ^"Intento Spammear^"; disconnect; echo ^"Fuiste kickeado por hacer spam.^"")< br />
client_print(0print_chat"%s Fue Expulsado por ponerse una IP en el Nombre."name)

server_cmd("kick %s"name)

return 
1
}
}

return -
1

}

public 
MessageNameChange(msgiddestid)

{

new 
szInfo[64]

get_msg_arg_string(2szInfo63)
if(!
equali(szInfo"#Cstrike_Name_Change"))

{
return 
PLUGIN_CONTINUE
}

return 
PLUGIN_HANDLED
}

public 
hook_say(id)

{

new 
args[192], contador[TOTAL_LTS]

read_args(args191)

replace_all(args191" """)

for( new 
0i& nbsp;strlen(args) ; i++)

{
switch(
args[i])
{

case 
'0''1''2''3''4''5''6''7''8''9' contador[NUM]++

case 
'.' contador[POINT]++

case 
':' contador[DPOINT]+ +

case 
'w' contador[WWW]++
}
}

if(
contador[NUM] >= && contador[POINT] || (contador[WWW] >= && containi(args,".com")))

{
client_print(idprint_chat"Mensaje Bloqueado. Considerado Spam.")

return 
PLUGIN_HANDLED
}

return 
PLUGIN_CONTINUE












Orignal From: Anti-spam no bloquea el mensaje con espacios?

No comments

Not a single link is allowed to submit in comment :o