Jump to content

Cancelar evento de ban


Recommended Posts

Como faço para cancelar o banimento caso o jogador esteja com algum elementdata?

tentei:

function noPunish (theBan)
    if getElementType(source) == "player" then
        if getElementData(source, "teste") then
            cancelEvent()
        end
    end
end
addEventHandler("onBan", root, noPunish)

Porém não obtive sucesso...

Link to comment

Tenho o seguinte código (vi o mesmo em um tópico aqui no forum):

SeriasQueNaoPodemSerBanidos = { 
["SEUSERIAL"] = true, 
["SEUSERIAL"] = true, 
["SEUSERIAL"] = true 
} 

function announceBan( theBan ) 
    if getElementType( source ) then --Check if a player banned the IP/Serial 
        if SeriasQueNaoPodemSerBanidos[getBanSerial(theBan)] then 
            outputChatBox("[ERRO] Esse serial não pode ser banido.!") 
            removeBan(theBan) 
        end 
    end 
end 
addEventHandler( "onBan", root, announceBan ) 


Como faço para ao invés de checar o serial se pode ser banido ou não, checar se o jogador banido tem o elementdata que eu desejo?

tentei de um jeito mais não funcionou... pois como você disse, source é quem baniu o jogador:

function announceBan( theBan ) 
    if getElementType( source ) then
       if getElementData(source, "teste") then
            outputChatBox("[ERRO] Esse serial não pode ser banido.!") 
            removeBan(theBan) 
        end 
    end 
end 
addEventHandler( "onBan", root, announceBan ) 

tem como fazer para o jogador que for banido se tiver o elementdata não tomar a punição?

Link to comment
  • Other Languages Moderators

Faça assim:

server.lua

addEventHandler ("onPlayerBan", root, function (banPointer) -- Neste evento, source = quem foi banido.
    if getElementData(source, "teste") then -- Se o jogador banido tem essa data, então:
        outputChatBox (getPlayerName(source).." não pode ser banido. (banimento negado)", root, 255, 0, 0) -- Manda isso pra geral.
        removeBan (banPointer) -- Desbane o jogador antes de ser chutado pelo ban, fazendo com que ele nem seja chutado.
        -- ESTE RESOURCE PRECISA TER ACESSO ADMIN PARA REMOVER O BAN.
    end
end)

 


Eu recomendo fortemente que não use elementData para este objetivo, pois é facilmente burlável e jogadores que deveriam ser banidos podem começar a se proteger de banimentos.

Em vez disso, use isso:

if getAccountName(getPlayerAccount(source)) == "myAccountName" then -- Se o jogador estiver logado nessa conta, então:

Assim enquanto o jogador estiver logado nessa conta específica, ele não poderá ser banido.

Edited by Lord Henry
  • Thanks 1
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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