Anti-Spam IP (...y ésto debe pasar...)
#1
Estrella 
Hola chicos. Necesito ayuda con algún plugin que haga que cuando alguien se le ocurra poner alguna dirección ip/direccion web en el chat o cambiarse de nombre a alguna IP/direccion web que lo substituya por alguna frase que yo pueda editar. Ejemplo:

(Antes)
Sr. Aleatorio: Hola chicos. 74.255.255.255. ENTREN TODOS! Es mejor que estar haciedo nada!

(Ahora)
Sr. Aleatorio: Hola chicos. Me gusta bailar en publico y hacer el ridículo en el super mercado. ENTREN TODOS! Es mejor que estar haciendo nada!

La parte de la ip se cambia a una frase que sea editable. Osea una frase que yo quiera poner para que sea divertido. No consigo ninguno que haga esto. Les agradecería si pueden conseguirme alguno Gran sonrisa
Responder
#2
Cambias el client_cmd de Nick a SAY y escribis lo que quieras..

Código PHP:
#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

enum{
    
NUM 0,
    
POINT 1,
    
DPOINT 2,
    
WWW 3,
    
TOTAL_LTS


public 
plugin_init() 
{
    
register_plugin("Compilado de Anti-Spam""1.0""ReymonARG")
    
register_clcmd("say_team""hook_say")
    
register_clcmd("say""hook_say"
    
register_message(get_user_msgid("SayText"), "MessageNameChange")
}

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[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^"")
            
client_print(0print_chat"[Anti-Spam] %s Fue kickeado 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 
0strlen(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"[Anti-Spam] Mensaje bloqueado. Considerado Spam")
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_CONTINUE

Responder
#3
Muchas gracias amigo. Funciona perfectamente pero yo quería que la propia persona que escribe la ip, se le cambie la ip por lo que uno le ponga en el plugin... Ejemplo:

(Original)
Juan: Hola. 123.123.24.255:3462. www.aleatorio.com

(Plugin)
Juan: Hola. Soy tonto. Soy tonto.

Otro ejemplo:

(Original)
www.aleatorio.com: Hola. 123.123.24.255:3462. www.aleatorio.com

(Plugin)
Soy tonto.: Hola. Soy tonto. Soy tonto.

No es necesario que lo kickee. Simplemente que quede en ridículo diciendo cosas graciosas cada vez que intente spamear con una ip. De ante mano muchas gracias Gran sonrisa
Responder
#4
Ya te dije como era...
Remplaza:
Código PHP:
client_print(idprint_chat"[Anti-Spam] Mensaje bloqueado. Considerado Spam"
por:
Código PHP:
client_cmd id"say ^"Hola hice spam^"" ); 
Responder
#5
Si, pero no debería eliminar el server_cmd? ya que el dice que no quiere que los kicke solo que de un mensaje absurdo, asi como esta. lanza el mensaje de say y luego lo kikea

Código PHP:
server_cmd("kick %s"name
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Responder
#6
ese server_cmd , es cuando se lo pone de tag , no cuando lo escribe.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)