Jump to content

[Problema] onPlayerChangeNick no FUNCIONA?


Recommended Posts

Resulta que habia creado un perfectisisimo filtro de nombres, y que en el pasado, nose cuando, pero en el pasado funcionaba, dejo el codigo, ni errores, ni nada, debe ser algo que para al loop.

onConnect, tampoco funciona, por lo tanto debe ser un problema con las tablas.

--[[ 
/////////////////////// 
/   - CATH chatSystem / 
/   - ipArray.lua ///// 
/////////////////////// 
]] 
ipArray = { 
"%d%d%d.%d%d%d.%d%d%d.%d%d%d", 
"%d%d%d.%d%d%d.%d%d%d.%d%d", 
"%d%d%d.%d%d%d.%d%d%d.%d", 
"%d%d%d.%d%d%d.%d%d.%d%d%d", 
"%d%d%d.%d%d%d.%d%d.%d%d", 
"%d%d%d.%d%d%d.%d%d.%d", 
"%d%d%d.%d%d%d.%d.%d%d%d", 
"%d%d%d.%d%d%d.%d.%d%d", 
"%d%d%d.%d%d%d.%d.%d", 
"%d%d%d.%d%d.%d%d%d.%d%d%d", 
"%d%d%d.%d%d.%d%d%d.%d%d", 
"%d%d%d.%d%d.%d%d%d.%d", 
"%d%d%d.%d%d.%d%d.%d%d%d", 
"%d%d%d.%d%d.%d%d.%d%d", 
"%d%d%d.%d%d.%d%d.%d", 
"%d%d%d.%d%d.%d.%d%d%d", 
"%d%d%d.%d%d.%d.%d%d", 
"%d%d%d.%d%d.%d.%d", 
"%d%d%d.%d.%d%d%d.%d%d%d", 
"%d%d%d.%d.%d%d%d.%d%d", 
"%d%d%d.%d.%d%d%d.%d", 
"%d%d%d.%d.%d%d.%d%d%d", 
"%d%d%d.%d.%d%d.%d%d", 
"%d%d%d.%d.%d%d.%d", 
"%d%d%d.%d.%d.%d%d%d", 
"%d%d%d.%d.%d.%d%d", 
"%d%d%d.%d.%d.%d", 
"%d%d.%d%d%d.%d%d%d.%d%d%d", 
"%d%d.%d%d%d.%d%d%d.%d%d", 
"%d%d.%d%d%d.%d%d%d.%d", 
"%d%d.%d%d%d.%d%d.%d%d%d", 
"%d%d.%d%d%d.%d%d.%d%d", 
"%d%d.%d%d%d.%d%d.%d", 
"%d%d.%d%d%d.%d.%d%d%d", 
"%d%d.%d%d%d.%d.%d%d", 
"%d%d.%d%d%d.%d.%d", 
"%d%d.%d%d.%d%d%d.%d%d%d", 
"%d%d.%d%d.%d%d%d.%d%d", 
"%d%d.%d%d.%d%d%d.%d", 
"%d%d.%d%d.%d%d.%d%d%d", 
"%d%d.%d%d.%d%d.%d%d", 
"%d%d.%d%d.%d%d.%d", 
"%d%d.%d%d.%d.%d%d%d", 
"%d%d.%d%d.%d.%d%d", 
"%d%d.%d%d.%d.%d", 
"%d%d.%d.%d%d%d.%d%d%d", 
"%d%d.%d.%d%d%d.%d%d", 
"%d%d.%d.%d%d%d.%d", 
"%d%d.%d.%d%d.%d%d%d", 
"%d%d.%d.%d%d.%d%d", 
"%d%d.%d.%d%d.%d", 
"%d%d.%d.%d.%d%d%d", 
"%d%d.%d.%d.%d%d", 
"%d%d.%d.%d.%d", 
"%d.%d%d%d.%d%d%d.%d%d%d", 
"%d.%d%d%d.%d%d%d.%d%d", 
"%d.%d%d%d.%d%d%d.%d", 
"%d.%d%d%d.%d%d.%d%d%d", 
"%d.%d%d%d.%d%d.%d%d", 
"%d.%d%d%d.%d%d.%d", 
"%d.%d%d%d.%d.%d%d%d", 
"%d.%d%d%d.%d.%d%d", 
"%d.%d%d%d.%d.%d", 
"%d.%d%d.%d%d%d.%d%d%d", 
"%d.%d%d.%d%d%d.%d%d", 
"%d.%d%d.%d%d%d.%d", 
"%d.%d%d.%d%d.%d%d%d", 
"%d.%d%d.%d%d.%d%d", 
"%d.%d%d.%d%d.%d", 
"%d.%d%d.%d.%d%d%d", 
"%d.%d%d.%d.%d%d", 
"%d.%d%d.%d.%d", 
"%d.%d.%d%d%d.%d%d%d", 
"%d.%d.%d%d%d.%d%d", 
"%d.%d.%d%d%d.%d", 
"%d.%d.%d%d.%d%d%d", 
"%d.%d.%d%d.%d%d", 
"%d.%d.%d%d.%d", 
"%d.%d.%d.%d%d%d", 
"%d.%d.%d.%d%d", 
"%d.%d.%d.%d" 
} 

<meta> 
    <info author="venadHD" version="3" type="script" /> 
    <script src="server.lua" /> 
    <script src="ipArray.lua"/> 
</meta> 

--[[ 
/////////////////////// 
/   - CATH nickFilter / 
/   - server.lua ////// 
/////////////////////// 
]] 
noname = { 
"admin", 
"root", 
"moderador", 
"moderator", 
"mod", 
"sobeit", 
"3arc", 
"supermoderator", 
"supermod", 
"smoderator", 
"smod", 
"adm" 
} 
function onChangeNick (old, new) 
    for idName,name in ipairs(ipArray) do 
    local nameFiltered = string.lower(new):gsub("#%x%x%x%x%x%x", "") 
    local ids = string.find(name, nameFiltered) 
        if ids  and ids >= 1 then 
        outputChatBox("No puedes ponerte este nombre.", root, 255,0,0,true) 
        cancelEvent() 
        break 
        end 
    end 
    for idName,name in ipairs(noname) do 
    local nameFiltered = string.lower(new):gsub("#%x%x%x%x%x%x", "") 
    local ids = string.find(name, nameFiltered) 
        if ids  and ids >= 1 then 
        outputChatBox("No puedes ponerte este nombre.", root, 255,0,0,true) 
        cancelEvent() 
        break 
        end 
    end 
end 
addEventHandler("onPlayerChangeNick", root, onChangeNick) 
function onConnect (Nick, IP, communityName, serial, version, versionStringed) 
    for idName, name in ipairs(noname) do 
    local ids = string.find(name, string.lower(Nick):gsub("#%x%x%x%x%x%x", "")) 
        if ids then 
        cancelEvent(true, "Por favor, cambia tu nombre y vuelve a conectarte.") 
        return 
        end 
    end 
    for idName_, ips in ipairs(ipArray) do 
    local ids = string.find(ips, string.lower(Nick):gsub("#%x%x%x%x%x%x", "")) 
        if ids then 
        cancelEvent(true, "Por favor, cambia tu nombre y vuelve a conectarte.") 
        return 
        end 
    end 
end 
addEventHandler("onPlayerConnect", root, onConnect) 

Link to comment

Me disculpo por no haber especificado antes.

La intención es cancelar el cambio de nombre al encontrar una coincidencia,

¿Para qué pones cosas que no sabes para que sirven? (break)

Break rompe el loop, no? :cry:

Y lo que no hace, es "No permitir el nombre", es decir, no filtra el nombre en sí, deja conectar con un nombre como "127.0.0.1" o "smod", al igual al cambiar de nombre

EDIT: Solo no funciona al unirse, ni las "ips".

Hice caso a Tomas.

--[[ 
/////////////////////// 
/   - CATH nickFilter / 
/   - server.lua ////// 
/////////////////////// 
]] 
noname = { 
"mod", 
"sobeit", 
"3arc" 
} 
function onChangeNick (old, new) 
    for idName,name in ipairs(ipArray) do 
    local nameFiltered = string.lower(new):gsub("#%x%x%x%x%x%x", "") 
    local ids = string.find(name, nameFiltered) 
        if ids  and ids >= 1 then 
        outputChatBox("No puedes ponerte este nombre.", root, 255,0,0,true) 
        cancelEvent() 
        end 
    end 
    for idName,name in ipairs(noname) do 
    local nameFiltered = string.lower(new):gsub("#%x%x%x%x%x%x", "") 
    local ids = string.find(name, nameFiltered) 
        if ids  and ids >= 1 then 
        outputChatBox("No puedes ponerte este nombre.", root, 255,0,0,true) 
        cancelEvent() 
        end 
    end 
end 
addEventHandler("onPlayerChangeNick", root, onChangeNick) 
function onConnect (Nick, IP, communityName, serial, version, versionStringed) 
    for idName, name in ipairs(noname) do 
    local ids = string.find(name, string.lower(Nick):gsub("#%x%x%x%x%x%x", "")) 
        if ids and ids >= 1 then 
        cancelEvent(true, "Por favor, cambia tu nombre y vuelve a conectarte.") 
        end 
    end 
    for idName_, ips in ipairs(ipArray) do 
    local ids = string.find(ips, string.lower(Nick):gsub("#%x%x%x%x%x%x", "")) 
        if ids and ids >= 1 then 
        cancelEvent(true, "Por favor, cambia tu nombre y vuelve a conectarte.") 
        end 
    end 
end 
addEventHandler("onPlayerConnect", root, onConnect) 

Link to comment
  • Recently Browsing   0 members

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