Jump to content

SQL and ElementData


Insteren

Recommended Posts

Hello, i make system of registration and authorization.

Yesterday i found a problem with SQL and setElementData.

example:

print(playerdata.cloth) output "23"

print(getElementData(source, "cloth")) output "0".

Why?

Look at Code

Server

function loginPlayer(pass, variable, user)  
    if(variable == "1") then 
        if(getElementData(client, "login") == "2") then 
            local playerdat = sql.Query("SELECT * FROM `players` WHERE name = ?", getElementData(client, "name")) 
            for i,playerdata in ipairs(playerdat) do     
                if(tostring(playerdata.password) == tostring(pass)) then 
                    if(playerdata.ban == 0) then 
                        outputChatBox("logging", client) 
                        setElementData(client, "login", "3") 
                        spawnPlayer(client, spawnX, spawnY, spawnZ) 
                        setElementData(client, "money", playerdata.money) 
                        setElementData(client, "admin", playerdata.admin) 
                        setElementData(client, "level", playerdata.level) 
                        setElementData(client, "exp", playerdata.exp) 
                        setElementData(client, "maxexp", playerdata.maxexp) 
                        setElementData(client, "leader", playerdata.leader) 
                        setElementData(client, "member", playerdata.member) 
                        setElementData(client, "team", playerdata.team) 
                        setElementData(client, "skin", playerdata.skin) 
                        setElementData(client, "cloth", playerdata.cloth) 
                        setElementData(client, "bank", playerdata.bank) 
                        setElementData(client, "suspect", playerdata.suspect) 
                        setElementData(client, "warn", playerdata.warn) 
                        setElementData(client, "phone", playerdata.phone) 
                        setElementData(client, "mats", playerdata.mats) 
                        setElementData(client, "drugs", playerdata.drugs) 
                        setElementData(client, "rank", playerdata.rank) 
                        setElementData(client, "sex", playerdata.sex) 
                    else 
                        kickPlayer(client, "Ваш аккаунт заблокирован", "Server") 
                    end 
                     
                else 
                    kickPlayer(client, "Wrong password", "Server") 
                end 
                 
            end 
        end 
    end 
end 
addEvent("loginPL", true) 
addEventHandler("loginPL", resourceRoot, loginPlayer) 

Client

function nextLogin() 
    local long = guiGetText(WindowLog.edit[2]) 
    if(#long > 5) then 
        showCursor(false) 
        guiSetVisible(WindowLog.window[2], false) 
        triggerServerEvent("loginPL", resourceRoot, guiGetText(WindowLog.edit[2]), "1", getPlayerName(getLocalPlayer())) 
    else 
        outputChatBox("Длина пароля должна быть 6 и более символов") 
    end 
end 

Link to comment
  • Moderators

You are sending the resourceRoot as source, but you have to send the player.

triggerServerEvent("loginPL",localPlayer, guiGetText(WindowLog.edit[2]), "1", getPlayerName(getLocalPlayer())) 

Or use as you did before the client.

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...