ANTI SPAM
#1
Buenas muchachos busco un anti spam que tenga stock color bloquee el mensaje y le de kick luego de enviar el mensaje 3 veces, gracas.
Responder
#2
Código PHP:
#include <amxmodx>

#define PLUGIN "Block Spam"
#define VERSION "1.2"
#define AUTHOR "zoolk"

new const szBlockWords[][] = {
    
"estupido",
    
"retrasado",
    
"imbecil"
}

new 
g_playername[33][32]

enum  
{  
    
NUM 0,  
    
POINT 1,
    
TOTAL  


public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say""hook_say")
    
register_clcmd("say_team""hook_say")
}
public 
client_putinserver(idget_user_name(idg_playername[id], charsmax(g_playername[]))

public 
hook_say(id)
{
    static 
said[192], contador[TOTAL], didspam
    read_args
(saidcharsmax(said))
    
remove_quotes(said)
    
replace_all(saidcharsmax(said), "%"" ")
    
    if (!
ValidMessage(said1))
        return 
PLUGIN_HANDLED;
        
    for( new 
0strlen(said) ; i++)  
    {  
        if(
48 <= said[i] <= 57)
        {      
            
contador[NUM]++
            
            if(
contador[NUM] > 5)
            {
                
didspam true
                
break
            }
            
        }
        
        if(
said[i] == 46)
        {
            
contador[POINT]++ 
            
            if(
contador[NUM] > 2)
            {
                
didspam true
                
break
            }
        }
    }
    
    for(new 
0sizeof szBlockWordsi++)
    {
        if(
equali(saidszBlockWords[i]) || containi(saidszBlockWords[i]) != -1)
        {
            
didspam true
            
break
        }
    }
    
    if(
didspam)
    {
        
ColorChat(id"!gNo se permite el SPAM!!!")
        
contador[NUM] = 0
        contador
[POINT] = 0
        didspam 
false
        
return PLUGIN_HANDLED;
    }
    
    if(
is_user_alive(id))
        
ColorChat(0"!t%s!n : %s"g_playername[id], said)
    else
        
ColorChat(0"!n*MUERTO* !t%s!n: %s"g_playername[id], said)
        
    
contador[NUM] = 0
    contador
[POINT] = 0
    
    
return PLUGIN_HANDLED;
}

stock ColorChat(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!n""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

[Imagen: jrXxqRT.png]
*Maper Del Cstrike* - *Estudiante De Sistema*
(03/09/2018, 08:32 PM)Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread
(04/01/2019, 05:12 PM)Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM
(15/01/2019, 04:08 AM)FreDDy escribió:
(15/01/2019, 03:45 AM)Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido

No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar.
(17/01/2019, 12:34 PM)totopizza escribió: el orden de los factores no altera el producto xD
(23/01/2019, 01:10 AM)GoldenCosta escribió:
Cita:E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años
(23/01/2019, 01:17 AM)Skylar escribió:
(22/01/2019, 10:30 PM)el_juan_fail escribió:
(22/01/2019, 10:03 AM)Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.

deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.uMario

Dijiste lo mismo que dijo Neeel!
(27/02/2019, 08:00 PM)Sugisaki escribió:
(27/02/2019, 05:37 PM)Pan Bimbo (? escribió:
(27/02/2019, 12:06 AM)luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?

Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada.
[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
(14/03/2019, 10:26 PM)KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja
(18/04/2019, 11:04 PM)Jose88 escribió:
(18/04/2019, 09:55 PM)Hypnotize escribió: arriba marica

papa me va perdonar pero aquí no sale ningún download. solo sale esto

Código PHP:
PDNiños Ratas eviten sacar el autor jaja.
REMOVIDO POR TUTOR Y SLOWHACK
(21/04/2019, 09:38 AM)SHENK! =D escribió: ASDASD

Si nos organizamos cojemos todos.
(11/08/2019, 05:11 PM)Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ...
(28/07/2015, 09:34 PM)Nazi.- escribió: :ohgodwhy buen aporte

PD: situación sentimental: Sin internetOh god why

Sigue así Proud

(28/02/2020, 12:23 AM)Skylar escribió:
(27/02/2020, 11:28 PM)4evergaming escribió: Ya me puse como autor y lo subi a mi empresa


Abrazos

FIX
Responder
#3
(16/09/2018, 05:12 PM)El pirucho XP-007 escribió:
Código PHP:
#include <amxmodx>

#define PLUGIN "Block Spam"
#define VERSION "1.2"
#define AUTHOR "zoolk"

new const szBlockWords[][] = {
    
"estupido",
    
"retrasado",
    
"imbecil"
}

new 
g_playername[33][32]

enum  
{  
    
NUM 0,  
    
POINT 1,
    
TOTAL  


public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say""hook_say")
    
register_clcmd("say_team""hook_say")
}
public 
client_putinserver(idget_user_name(idg_playername[id], charsmax(g_playername[]))

public 
hook_say(id)
{
    static 
said[192], contador[TOTAL], didspam
    read_args
(saidcharsmax(said))
    
remove_quotes(said)
    
replace_all(saidcharsmax(said), "%"" ")
    
    if (!
ValidMessage(said1))
        return 
PLUGIN_HANDLED;
        
    for( new 
0strlen(said) ; i++)  
    {  
        if(
48 <= said[i] <= 57)
        {      
            
contador[NUM]++
            
            if(
contador[NUM] > 5)
            {
                
didspam true
                
break
            }
            
        }
        
        if(
said[i] == 46)
        {
            
contador[POINT]++ 
            
            if(
contador[NUM] > 2)
            {
                
didspam true
                
break
            }
        }
    }
    
    for(new 
0sizeof szBlockWordsi++)
    {
        if(
equali(saidszBlockWords[i]) || containi(saidszBlockWords[i]) != -1)
        {
            
didspam true
            
break
        }
    }
    
    if(
didspam)
    {
        
ColorChat(id"!gNo se permite el SPAM!!!")
        
contador[NUM] = 0
        contador
[POINT] = 0
        didspam 
false
        
return PLUGIN_HANDLED;
    }
    
    if(
is_user_alive(id))
        
ColorChat(0"!t%s!n : %s"g_playername[id], said)
    else
        
ColorChat(0"!n*MUERTO* !t%s!n: %s"g_playername[id], said)
        
    
contador[NUM] = 0
    contador
[POINT] = 0
    
    
return PLUGIN_HANDLED;
}

stock ColorChat(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!n""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

no sirve xd, da 2 say, no kickea...
Responder
#4
Lo probaste en el sevidor?

Porque??? .-.

Porque si lo estas probando en el cstrike con amxmodx instalado, oviamente no te afectara el plugin. Porque cuando inicias una partida en el cstrike tu aparecerás como admin con flags "A".

Y como dice el archivo user.ini:

Cita: Access flags:
; a - immunity (can't be kicked/baned/slayed/slaped and affected by other commmands)

--->>> Español:

Banderas de acceso:
; a - inmunidad (no puede ser pateado / prohibido / asesinado / abofeteado y afectado por otros comandos)

Cita:no sirve xd, da 2 say

Oh god why Agrega mas:
Código PHP:
#include <amxmodx>

#define PLUGIN "Block Spam"
#define VERSION "1.2"
#define AUTHOR "zoolk"

new const szBlockWords[][] = {
    
"estupido",
    
"retrasado",
    
"imbecil",
    
".com",
    
"www."
}

new 
g_playername[33][32]

enum  
{  
    
NUM 0,  
    
POINT 1,
    
TOTAL  


public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say""hook_say")
    
register_clcmd("say_team""hook_say")
}
public 
client_putinserver(idget_user_name(idg_playername[id], charsmax(g_playername[]))

public 
hook_say(id)
{
    static 
said[192], contador[TOTAL], didspam
    read_args
(saidcharsmax(said))
    
remove_quotes(said)
    
replace_all(saidcharsmax(said), "%"" ")
    
    if (!
ValidMessage(said1))
        return 
PLUGIN_HANDLED;
        
    for( new 
0strlen(said) ; i++)  
    {  
        if(
48 <= said[i] <= 57)
        {      
            
contador[NUM]++
            
            if(
contador[NUM] > 5)
            {
                
didspam true
                
break
            }
            
        }
        
        if(
said[i] == 46)
        {
            
contador[POINT]++ 
            
            if(
contador[NUM] > 2)
            {
                
didspam true
                
break
            }
        }
    }
    
    for(new 
0sizeof szBlockWordsi++)
    {
        if(
equali(saidszBlockWords[i]) || containi(saidszBlockWords[i]) != -1)
        {
            
didspam true
            
break
        }
    }
    
    if(
didspam)
    {
        
ColorChat(id"!gNo se permite el SPAM!!!")
        
contador[NUM] = 0
        contador
[POINT] = 0
        didspam 
false
        
return PLUGIN_HANDLED;
    }
    
    if(
is_user_alive(id))
        
ColorChat(0"!t%s!n : %s"g_playername[id], said)
    else
        
ColorChat(0"!n*MUERTO* !t%s!n: %s"g_playername[id], said)
        
    
contador[NUM] = 0
    contador
[POINT] = 0
    
    
return PLUGIN_HANDLED;
}

stock ColorChat(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!n""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


--->>>

Código PHP:
new const szBlockWords[][] = {
    
"estupido",
    
"retrasado",
    
"imbecil",
    
".com",
    
"www.",
    
"Maricon",
    
"Server",
    
"Maldito",
    
"https"

    
// ECT....

[Imagen: jrXxqRT.png]
*Maper Del Cstrike* - *Estudiante De Sistema*
(03/09/2018, 08:32 PM)Skylar escribió: Obviamente, no va a hablar con super pro para que le mueva el thread
(04/01/2019, 05:12 PM)Pan Bimbo (? escribió: QUE HICISTE QUE??????? YO QUERIA LA PLACA DE VIDEO PORQUE LA TIRASTE CTM
(15/01/2019, 04:08 AM)FreDDy escribió:
(15/01/2019, 03:45 AM)Hernandez escribió: Qué más dan las palabras si a donde vayas están en tetas protestando sin sentido

No todas salen en tetas y no todas protestan sin sentido. Estás generalizando algo que sólo unas pocas lo hacen a diferencia de las muchas que realmente tienen un motivo para protestar.
(17/01/2019, 12:34 PM)totopizza escribió: el orden de los factores no altera el producto xD
(23/01/2019, 01:10 AM)GoldenCosta escribió:
Cita:E visto que este ZP , ESTA AQUI EN EL FORO PERO NO ES EL ORIGINAL POR QUE? , LE FALTAN MILES DE COSAS ESTA BUGEADO , LE FALTAN CÓDIGOS NI SE IMAGINAN , BUENO EL MOD ESTE SE VENDE POR 70 DOLARES , ACEPTO PAYPAL Y EN PESOS CHILENOS $42.584
ya esta publicado.... y 70 us en arg son 2625,35 pesos... estas loco con esa guita neel mantiene el foro por 2 años
(23/01/2019, 01:17 AM)Skylar escribió:
(22/01/2019, 10:30 PM)el_juan_fail escribió:
(22/01/2019, 10:03 AM)Neeeeeeeeeel.- escribió: Por favor subir las cosas al foro y no links a blogs externos. Solamente en caso de que haya recursos que no se pudiesen subir por un tema de tamaño, poenr un link de descarga directo (tipo mega) de los recursos y subir los plugins y demás archivos livianos al foro.

deberia ponerle en un link mediante el mediafire o mega o link externo lo que sea pero no es bueno dejar cosa agregada sin descargar solo por el blog no se puede se puede bajar el recurso o que haya sido creado disculpa neeeeel. estaba leyendose las reglas u.uMario

Dijiste lo mismo que dijo Neeel!
(27/02/2019, 08:00 PM)Sugisaki escribió:
(27/02/2019, 05:37 PM)Pan Bimbo (? escribió:
(27/02/2019, 12:06 AM)luxor xD escribió: Hola, si precacheo algo en un plugin, no es necesario precachearlo en otro plugin?

Si yo cargo una caja en un camion, mi amigo puede cargar la MISMA caja en el camion?, y no porque ya esta cargada.
[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
(14/03/2019, 10:26 PM)KrR10VnZl escribió: en Venezuela aprendes a ser desde bombas molotov hasta velas, es algo así como supervivencia al desnudo jaja
(18/04/2019, 11:04 PM)Jose88 escribió:
(18/04/2019, 09:55 PM)Hypnotize escribió: arriba marica

papa me va perdonar pero aquí no sale ningún download. solo sale esto

Código PHP:
PDNiños Ratas eviten sacar el autor jaja.
REMOVIDO POR TUTOR Y SLOWHACK
(21/04/2019, 09:38 AM)SHENK! =D escribió: ASDASD

Si nos organizamos cojemos todos.
(11/08/2019, 05:11 PM)Cr3470r escribió: Todo Software es crackeable ... No importa cuantas validaciones hagan, la ventaja siempre la tenemos nosotros ...
(28/07/2015, 09:34 PM)Nazi.- escribió: :ohgodwhy buen aporte

PD: situación sentimental: Sin internetOh god why

Sigue así Proud

(28/02/2020, 12:23 AM)Skylar escribió:
(27/02/2020, 11:28 PM)4evergaming escribió: Ya me puse como autor y lo subi a mi empresa


Abrazos

FIX
Responder
#5
Es porque tienes 2 plugins que interactuan con el say, cambia las prioridades.
Responder
#6
es por que tengo el admin prexie dice,pero igualmente no me sirve no bloquea el mensaje y no kickea
Responder
#7
https://amxmodx-es.com/Thread-AMXX-Block-Bad-Words
Cambia los insultos por cosas como .com, http, etc y listo.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)