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


Trebol verde
Mensajes: 484
Registro en: Feb 2016
Reputación: 5
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); 

[BREAKING GAMING] COMUNIDAD ARGENTINA CS 1.6
(05/07/2018 11:09 PM)meTaLiCroSS escribió:  Esa es la diferencia, por eso no cualquier mandril puede programar
(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
Miembro Destacado


Trebol de oro 1k
Mensajes: 1,422
Registro en: Feb 2015
Reputación: 20
Mensaje: #2
RE: Anti Insultos
No se que decir, jaja saludos

Image
06/08/2018 12:43 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Chema En línea
Miembro Sr.


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

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

(Este mensaje fue modificado por última vez en: 06/08/2018 04:50 AM por Chema.)
06/08/2018 02:49 AM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Exertency En línea
Miembro Sr.


Mensajes: 629
Registro en: Feb 2016
Reputación: 11
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
Miembro


Mensajes: 194
Registro en: Sep 2016
Reputación: 1
Mensaje: #5
RE: Anti Insultos
Buen aporte Whatever

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.

(16/07/2018 05:22 PM)Nazy.- escribió:  eso es pana, que lacreo acabai de echate njd pa' lante q viva maduro mmgvoooo
RoflmaoRoflmao

Un mundo sin Negativos Feel like a sir
06/08/2018 10:08 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
roccoxx Sin conexión
Miembro Destacado


1k
Mensajes: 1,103
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
Miembro


Mensajes: 194
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 Sin conexión
Miembro Destacado


Mensajes: 763
Registro en: Feb 2015
Reputación: 9
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
Moderador


Buen Tutorial Plugin developer Pensador
Mensajes: 749
Registro en: Oct 2013
Reputación: 34
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
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