Jump to content

Anti-Insult ?


lLinux

Recommended Posts

Posted

Podes poner en una tabla todos los insultos que quieras censurar, y usar el evento onPlayerChat para luego fijarte si alguno de esos insultos esta en el mensaje que envio.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
Podes poner en una tabla todos los insultos que quieras censurar, y usar el evento onPlayerChat para luego fijarte si alguno de esos insultos esta en el mensaje que envio.

Eso es lo que no se por ejemplo seria asi:

  
insultos = { 
"put*", 
"zorr*", 
"hp", 
} 
  
  

pero como hago que para cuando chateen busque si esta alguna de esa palabra y ponga ****

Skype: HackerlLinux

¿Quieres aprender scripting para MTA? - http://www.scriptingmtasa.wordpress.com

"La disciplina es la clave del exito"

Posted
['insultos'] = { 
        ['hola'] = '*', 
        ['cambia'] = '*', 
        ['esto'] = '*', 
        ['como'] = '*', 
        ['te'] = '*', 
        ['guste'] = '*', 
        ['ati'] = '*', 
        ['lLinux'] = '*', 
        ['chauchis'] = '*' 
} 

My ingame nick is: #SilverY' / Seku.

560x95_FFFFFF_FF9900_000000_000000.png

**Entren al servidor**!! me encanto el servidor se los recomiendo ^^ , no es mio es de @TomasitoCaram

Posted
Podes poner en una tabla todos los insultos que quieras censurar, y usar el evento onPlayerChat para luego fijarte si alguno de esos insultos esta en el mensaje que envio.

Eso es lo que no se por ejemplo seria asi:

  
insultos = { 
"put*", 
"zorr*", 
"hp", 
} 
  
  

pero como hago que para cuando chateen busque si esta alguna de esa palabra y ponga ****

Utiliza 'string.find' o 'string.gsub'.

Developer @ MYVAL

Posted
['insultos'] = { 
        ['hola'] = '*', 
        ['cambia'] = '*', 
        ['esto'] = '*', 
        ['como'] = '*', 
        ['te'] = '*', 
        ['guste'] = '*', 
        ['ati'] = '*', 
        ['lLinux'] = '*', 
        ['chauchis'] = '*' 
} 

y despues que tengo que pner?

Skype: HackerlLinux

¿Quieres aprender scripting para MTA? - http://www.scriptingmtasa.wordpress.com

"La disciplina es la clave del exito"

Posted

pues como te dijo Alexs , te doy un ejemplito de lo que el dijo del string.gsub

  
function nosequeponer(message) 
local text = message:gsub("%a", string.upper, 1) 
for i, v in pairs ['insultos'] do 
while text:lower():find(i:lower(),1,true) do 
local start, end_ = text:lower():find(i:lower(),1,true) 
local found = text:sub(start,end_) 
text = text:gsub(found,v) 
end 
end 
end 
addEventHandler("onPlayerChat", getRootElement(), nosequeponer) 
  

si esta mal es porque soy nuevo en esto como vengo diciendo hace mucho e.e

My ingame nick is: #SilverY' / Seku.

560x95_FFFFFF_FF9900_000000_000000.png

**Entren al servidor**!! me encanto el servidor se los recomiendo ^^ , no es mio es de @TomasitoCaram

Posted

Tenia este script que hace justo lo que vos queres.

Insults = { "ejemplo", "estupido" } -- Aqui pones las palabras no deseadas 
  
  
addEventHandler("onPlayerChat", root, 
function(msg, msgType) 
    if msgType == 0 then 
        for k,v in ipairs (Insults) do 
            if string.find( string.lower ( msg ), v) then 
                msg = string.gsub ( string.lower( msg ), v, string.rep("*", wordToAsteric(v) ) ) 
            end 
        end 
  
        local playerAcc = getPlayerAccount(source) 
        if isGuestAccount(playerAcc) then 
            cancelEvent() 
        else 
            outputChatBox(getPlayerName(source)..": #FFFFFF"..msg, root, 255, 255, 255, true) 
            outputServerLog("CHAT: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","")..": "..msg) 
                        cancelEvent() 
        end 
    end 
end 
) 
  
function wordToAsteric(theWord) 
    if type(theWord) == 'string' then 
        return string.len(theWord) 
    end 
end 

State: Inactive

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...