Enviar respuesta 
Anti Insultos
Autor Mensaje       Juez: Neeeeeeeeeel.-       Nombre: Anti Insultos       Categoría: Comandos de admin       Juego: Cualquiera
Niper.-. Ausente
Suspendido


Trebol verde
Mensajes: 573
Registro en: Feb 2016
Mensaje: #1
Anti Insultos
Bueno, es un plugin que hice hace un mes apróximado que le robe la idea a @Chema de un plugin "anti insultos".. lo hice rápido, le di poco testeo, lo vi como "original" por eso lo puse acá jaja, emm, bueno, poco que decir, cualquier cosa que este mal me lo dicen!
Aclaración
-Poco testeo.
-Poco uso.

Lo que vi es que funcionaba como yo quiero pacman y bueno, lo publico para joder un rato jajaja.

Cita: Versión 1.0 -> Release!

Código PHP:
#include < amxmodx >
#include < amxmisc >
#include < ColorChat >

new const PLUGIN [ ] = "Anti Insultos"
new const VERSION [ ] = "1.0";
new const 
AUTHOR [ ] = "heNK'";

new 
Trie:tMensajes;

new const 
szPrefix[] = "^4[AMXMODX]^1";

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say""HookSay");
    
register_clcmd("say_team""HookSay");
    
    
register_concmd("amx_reload_config""ReloadConfig"ADMIN_BAN"< Recarga el archivo insultos.ini >");
    
    
tMensajes TrieCreate();
}


public 
plugin_cfg(){
    
    new 
iFile[64];
    
copy(iFile63"addons/amxmodx/configs/Insultos.ini");
    
    if(!
file_exists(iFile)){    
        
write_file(iFile"; [AMXX] Anti Insultos v1.0 by heNK'");
        
write_file(iFile"; Colocar palabras unas debajo de otras!");
        
    }
    
    new 
szFile fopen(iFile"rt");
    
    if(
szFile){
        while(!
feof(szFile)){
            static 
szBuffer[256];
            
fgets(szFileszBuffersizeof(szBuffer));
            
            if(
szBuffer[0] == ';' || szBuffer[0] == '/' && szBuffer[1] == '/' || !szBuffer[0])
                continue;
                
            
replace_all(szBuffersizeof(szBuffer), "^n""");
            
replace_all(szBuffersizeof(szBuffer), "^"", "");
            replace_all(szBuffer, sizeof(szBuffer), "
\\", "");
            
            
            TrieSetCell(tMensajes, szBuffer, 1);
            //TrieSetString(tMensajes, szBuffer, szBuffer);
        }
    }        
    
    fclose(szFile);
    
    
    server_cmd("
amx_pausecfg add ^"%s^"", PLUGIN);
}

public ReloadConfig(id, level, cid){
    if(!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED;
        
    
    if(read_argc())
        console_print(id, "
[AMXXRecargaste la lista de insultos");
        
    plugin_cfg();
    
    return PLUGIN_CONTINUE;
    
}

public HookSay(id){
    
    new say[192];
    read_args(say, 191);
    remove_quotes(say);
    trim(say);
    
    //new iText[31];
    
    if(TrieKeyExists(tMensajes, say)){
        ColorChat(id, GREEN, "
%s No puedes decir la palabra ^4%s", szPrefix, say);
        return PLUGIN_HANDLED;
        
    }
    
    
    /*
    if(TrieGetString(tMensajes, say, iText, sizeof(iText))){
        
        ColorChat(id, GREEN, "
%s No puedes decir la palabra ^4%s", szPrefix, iText);
        return PLUGIN_HANDLED;
    }
    */
    
    return PLUGIN_CONTINUE;
    
}


public plugin_end()
    TrieDestroy(tMensajes); 
(Este mensaje fue modificado por última vez en: 06/08/2018 12:35 AM por Niper.-..)
06/08/2018 12:29 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Skylar Sin conexión
Suspendido


Trebol de oro 1k
Mensajes: 1,465
Registro en: Feb 2015
Mensaje: #2
RE: Anti Insultos
No se que decir, jaja saludos
06/08/2018 12:43 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Chema Ausente
Miembro Destacado


Donador Trebol de oro
Mensajes: 849
Registro en: May 2017
Reputación: 8
Mensaje: #3
RE: Anti Insultos
No sé sí reír o llorar xdxd pacman

Buen aporte henkidama, aportaré mí versión. Crab

Image

Image
(Este mensaje fue modificado por última vez en: 06/08/2018 04:50 AM por Chema.)
06/08/2018 02:49 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Exertency Sin conexión
Miembro Sr.


Mensajes: 651
Registro en: Feb 2016
Reputación: 13
Mensaje: #4
RE: Anti Insultos
Si yo pongo "pedazo de puto" y "puto" está en el archivo lo bloquea?

Edit: Lo que dijo el entrerriano https://forums.alliedmods.net/showthread.php?p=1055491

(Este mensaje fue modificado por última vez en: 06/08/2018 02:02 PM por Exertency.)
06/08/2018 10:00 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
KrR10VnZl Ausente
Suspendido


Mensajes: 254
Registro en: Sep 2016
Mensaje: #5
RE: Anti Insultos
Buen aporte Whatever
06/08/2018 10:08 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
roccoxx Sin conexión
Miembro Destacado


Plugin developer Trebol purpura 1k
Mensajes: 1,125
Registro en: Oct 2013
Reputación: 17
Mensaje: #6
RE: Anti Insultos
que diferencia tiene con algún antispam que anda dando vuelta? mas bien seria un aporte no un plugin nuevo, saludos.

futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
06/08/2018 01:58 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Pan Bimbo (? Ausente
Anti-cheat Team


Plugin developer
Mensajes: 244
Registro en: Jun 2015
Reputación: 6
Mensaje: #7
RE: Anti Insultos
Es tan facil como poner

p e l o t u d o.

y bypassearlo....

Oh god why (AM como red social) (? (? (?
(Venganza le dijo el ganzo ala ganza.)
06/08/2018 02:55 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
OsweRRR Ausente
Miembro Destacado


Mensajes: 840
Registro en: Feb 2015
Reputación: 10
Mensaje: #8
RE: Anti Insultos
quien es henk? pacman



si queres un buen anti insultos o spam es la misma vaina solo que disfrazada xdxd .. quitale todos los espacios a la cadena del say y del archivo que cargas con las palabras luego en el say haces tus condiciones para buscar la palabra en la cadena ignorando . , | @ osea signos especiales etc etc etc hay te dejo la idea abierta.. yo hice uno hace un milenio y de esa forma me funciono xdxd


si yo te escribo "tu.jeva - fu/ e mía" igual no lo detecta pero con la idea que te doy si podrás

igual los acentos, números etc .. fín te puedo echar una mano si quieres

Image

(18/11/2014 05:47 PM)Neeeeeeeeeel.- escribió:  Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016 11:08 PM)kikizon2 escribió: #pid128717" class="quick_jump"> No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
(Este mensaje fue modificado por última vez en: 06/08/2018 05:14 PM por OsweRRR.)
06/08/2018 04:54 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Destro Sin conexión
Anti-cheat Team


Buen Tutorial Plugin developer Pensador Plugin popular
Mensajes: 797
Registro en: Oct 2013
Reputación: 36
Mensaje: #9
RE: Anti Insultos
Hace varios años arme una native para detectar insultos en el (say,adminchat,votemenu)
detecta cosas como put0 put@, p e lo t u 2
Código PHP:
new const badwords[][] = {
    
" puta"" puto""put0",
    
"pelotud"" gil"
    
" pta"" pto""boludin",
    
"boludit""putit""mogolic"
}

register_native("oa_filter_badwords""native_filter_badwords")

public 
native_filter_badwords(iPluginiParams// native oa_filter_badwords(string[], mask=1, strict=0)
{
    new 
string[256], org_pos[256], ijposmaskcountstrictmask
    
    get_string
(1stringcharsmax(string))
    
mask get_param(2)
    
strict get_param(3)
    
    
copy(g_buff,  charsmax(g_buff), string)
    
strtolower(g_buff)
    
    if(
strict)
    {
        static const 
_replace[][2] = {
        { 
'@''a' }, { '$''s' }, { 'z''s' }, { 'x''s' }, { '3''e' }, { '1''i' },
        { 
'4''a' }, { '0''o' }, { '7''t' }, { '6''g' }, { '8''b' }, { '|''i' }
        }
        
        for(
i=pos=0g_buff[i]; i++)
        {
            for(
j=0sizeof _replacej++)
            {
                if(
_replace[j][0] != g_buff[i])
                    continue
                    
                
g_buff[i] = _replace[j][1]
                
= -1
                
break
            }

            if(
!= -&& g_buff[i] == ' ' || !('a' <= g_buff[i] <= 'z' || '0' <= g_buff[i] <= '9') || (&& g_buff[i-1] == g_buff[i]))
                continue
        
            
g_buff[pos] = g_buff[i]
            
org_pos[pos] = i
            pos
++
        }
        
g_buff[pos] = 0
        
        replace_all
(g_buffcharsmax(g_buff), "2""do")
    }
    
    
maskcount 0
    
    
for(i=0sizeof badwordsi++)
    {
        
0
        
if(badwords[i][0] == ' ')
        {
            
pos contain(g_buffbadwords[i][1])
            if(
pos == -1) continue
            
            if(
strict == 1)
            {
                if(
org_pos[pos] && isalpha(string[org_pos[pos]-1]))
                    continue
            }
            else if(!
strict)
            {
                if(
pos && isalpha(g_buff[pos-1]))
                    continue
            }
            
            
j++
            
pos--
        }
        else if((
pos contain(g_buffbadwords[i])) == -1)
            continue
        
        if(
mask <= maskcount++)
            return 
2
        
        
for(; badwords[i][j]; j++)
        {
            if(
strictg_buff[pos+j] = string[org_pos[pos+j]] = '*'
            
else g_buff[pos+j] = string[pos+j] = '*'
        
}
                
        
i--
    }
    
    if(
maskcount)
    {
        
set_string(1stringstrlen(string))
        return 
1
    
}
        
    return 
0


(Este mensaje fue modificado por última vez en: 06/08/2018 05:48 PM por Destro.)
06/08/2018 05:46 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Neeeeeeeeeel.- En línea
Administrador


El protector 1k
Mensajes: 1,887
Registro en: Oct 2013
Reputación: 40
Mensaje: #10
RE: Anti Insultos
Que tremendo choclo de código Destro, tenés que aprender a usar expresiones regulares!

Respecto al plugin, creo que hay mejores formas de hacerlo y siquiera subiste el código como un archivo adjunto.

Además de que el OP está baneado. No recuerdo si temporal o permanente pero da igual. Si hacés un buen update y lo querés nuevamente en plugins nuevos mandame un mp.

No contesto mensajes privados pidiendo soporte!

Donaciones en btc 1EcNJV2gTFDYr7BBAFpMQk7pVCFEZCaKX4
14/11/2018 04:49 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS