Jump to content

Remover uma conta por serial do painel de login


Recommended Posts

Olá a todos. Achei um painel de login muito bem feito na net mas ele tem um problema, só permite uma conta por serial. Já tentei remover isso de todas as maneiras mas não consigo. Segue o script server-side:
 


local badChars = {"!","\"","§","&","/","=","?","`","´","\\","{","}","³","²","@","€","*","+","#","'","~","|","<",">",".",":",",",";","%","(",")","$","[","]"}

addEventHandler("onResourceStart", resourceRoot, function()
    for _, player in ipairs(getElementsByType"player") do
        logOut(player)
    end
end)

local function containsBadChars(n)
    for _, theChar in ipairs(badChars) do
        if string.find(n, tostring(theChar), 1, true) then
            return true
        end
    end
    return false
end

local function isPlayerRegistered(player)
    if #getAccountsBySerial(getPlayerSerial(player)) ~= 0 then return true else return false end
end

local function getPlayersFirstAccount(player)
    if #getAccountsBySerial(getPlayerSerial(player)) ~= 0 then 
        return getAccountsBySerial(getPlayerSerial(player))[1]
    else 
        return false
    end
end

addEvent("onClientFinishedLoading", true)
addEventHandler("onClientFinishedLoading", root,
    function()
        local firstAccount = getPlayersFirstAccount(client)
        triggerClientEvent(client, "onServerRequestLoginRegister", getRootElement(), firstAccount and getAccountName(firstAccount) or false)
    end
)


local function isAccountRegistered(n)
    local account = getAccount(n)
    if account then return true else return false end
end

addEvent("onClientExecute", true)
addEventHandler("onClientExecute", root, function(s, inputs)
    if source ~= client then return end
    if s == 1 then
        local pA = getAccount(inputs[1])
        if pA then
            local pL = logIn(client, pA, inputs[2])
            if pL then
                triggerClientEvent(client, "onClientSuccess", client)
                triggerEvent("onClientLoggedIn", resourceRoot, client)
                triggerClientEvent(client, "addClientMessage", client, "|Info| #ff8000Type /report [text] for super very fast support :)", 255, 255, 255)
                return
            else
                triggerClientEvent(client, "showErrorMessage", client, "Senha incorreta")
            end
        else
            triggerClientEvent(client, "showErrorMessage", client, "Não foi possível encontrar essa conta!")
        end
    elseif s == 2 then
        for _, t in ipairs(inputs) do
            if t == nil or t == "" then
                triggerClientEvent(client, "showErrorMessage", client, "Nome de usuário ou senha incorreta")
                return
            end
        end
        
        if containsBadChars(inputs[1]) then
            triggerClientEvent(client, "showErrorMessage", client, "O nome da conta tem carateres inválidos")
            return
        elseif #inputs[2] < 6 then
            triggerClientEvent(client, "showErrorMessage", client,"Sua senha deve ter mais de 6 caracteres.")
            return
        elseif inputs[2] ~= inputs[3] then
            triggerClientEvent(client, "showErrorMessage", client,"Senhas não coincidem.")
            return
        elseif isAccountRegistered(inputs[1]) then
            triggerClientEvent(client, "showErrorMessage", client,"Esta conta já está registrada.")
            return
        elseif isPlayerRegistered(client) then
            triggerClientEvent(client, "showErrorMessage", client, "Você já está registrado.")
            return
        end

        local nA = addAccount(inputs[1], inputs[2])
        if nA then
            logIn(client, nA, inputs[2])
            triggerClientEvent(client, "onClientSuccess", client)
            setPlayerTeam(client, getTeamFromName("User"))
            --setAccountData(nA, "cash", 250000)
            triggerClientEvent(client, "onClientSuccess", client)
        else
            triggerClientEvent(client, "showErrorMessage", client, "Um erro ocorreu durante a criação da conta.")
        end
    end
end)

addEventHandler("onPlayerCommand", root, function(cmd)
    if cmd == "login" or cmd == "register" or cmd == "logout" then cancelEvent() end
end)

Estou suspeitando que talvez eu tenha conseguido ja remover essa confirmação de uma conta por serial, mas como já criei minha conta através do painel ele ja memorizou esse dado de que eu tenho uma conta e por isso não me permite criar mais mesmo já tendo excluído essa função do código, será que pode ser isso?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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