Hi,
My server run on VRP. I receive the following error in the server console on my login script: SCRIPT ERROR: @vrp/_server/login.lua:86: bad argument #1 to ‘decode’ (string expected, got nil)
Any advice will be highly appreciated to remediate this issue.
The piece of code that create this error is:
vRP.users[user.source] = {id = tonumber(rows[1].id), username = rows[1].username, data = json.decode(data)}
vRPclient.logInPlayer(user.source)
TriggerEvent("vRP:playerLoggedIn",user.source, tonumber(rows[1].id), json.decode(data))
The complete code is:
RegisterServerEvent("vRP:playerLoggedIn")
Citizen.CreateThread(function()
while true do
Wait(128)
local iterator = 0
while iterator <= #vRP.requests do
iterator = iterator + 1
if iterator <= #vRP.requests then
if not vRP.requests[iterator].passed then
vRP.requests[iterator].passed = true
local user = vRP.requests[iterator]
if user.source ~= nil then
vRP.MySQL.query("login", {username = user.username}, function(rows, affected)
if #rows > 0 then
if sha2.sha256(user.password) == rows[1].password then
if not rows[1].banned then
if not (config.whitelist and rows[1].whitelisted) or (not config.whitelist) then
TriggerClientEvent("vRP:playerLetIn",user.source)
local data = "[]"
if rows[1].data ~= "[]" then
data = rows[1].data
end
vRP.users[user.source] = {id = tonumber(rows[1].id), username = rows[1].username, data = json.decode(data)}
vRPclient.logInPlayer(user.source)
TriggerEvent("vRP:playerLoggedIn",user.source, tonumber(rows[1].id), json.decode(data))
Wait(256)
vRPclient.notify(user.source,{"Welcome on "..config.server_name.."!"})
print("vRP | "..user.username.." ( source = "..user.source.." ) logged in! ( user_id = "..rows[1].id.." )")
else
vRPclient.notify(user.source,{"You're not on the whitelist!"})
vRP.requests[iterator] = nil
print("vRP | "..user.username.." ( source = "..user.source.." ) refused! WHITELIST ON ( user_id = "..rows[1].id.." )")
end
else
vRPclient.notify(user.source,{"This account is blocked!"})
vRP.requests[iterator] = nil
print("vRP | "..user.username.." ( source = "..user.source.." ) refused! BANNED ( user_id = "..rows[1].id.." )")
end
else
vRPclient.notify(user.source,{"Credentials are wrong!"})
vRP.requests[iterator] = nil
end
else
vRPclient.notify(user.source,{"Credentials are wrong!"})
vRP.requests[iterator] = nil
end
end)
end
end
end
end
end
end)