mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 11:01:25 +00:00
fix: Declare local functions before call
Fixed an issue where identity delete character and set Identity for deferrals errors due to no function found.
This commit is contained in:
@@ -2,6 +2,20 @@ local playerIdentity = {}
|
||||
local alreadyRegistered = {}
|
||||
local multichar = ESX.GetConfig().Multichar
|
||||
|
||||
local function deleteIdentityFromDatabase(xPlayer)
|
||||
MySQL.query.await(
|
||||
'UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ?, skin = ? WHERE identifier = ?',
|
||||
{nil, nil, nil, nil, nil, nil, xPlayer.identifier})
|
||||
|
||||
if Config.FullCharDelete then
|
||||
MySQL.update.await('UPDATE addon_account_data SET money = 0 WHERE account_name IN (?) AND owner = ?',
|
||||
{{'bank_savings', 'caution'}, xPlayer.identifier})
|
||||
|
||||
MySQL.prepare.await('UPDATE datastore_data SET data = ? WHERE name IN (?) AND owner = ?',
|
||||
{'\'{}\'', {'user_ears', 'user_glasses', 'user_helmet', 'user_mask'}, xPlayer.identifier})
|
||||
end
|
||||
end
|
||||
|
||||
local function deleteIdentity(xPlayer)
|
||||
if alreadyRegistered[xPlayer.identifier] then
|
||||
xPlayer.setName(('%s %s'):format(nil, nil))
|
||||
@@ -20,20 +34,6 @@ local function saveIdentityToDatabase(identifier, identity)
|
||||
{identity.firstName, identity.lastName, identity.dateOfBirth, identity.sex, identity.height, identifier})
|
||||
end
|
||||
|
||||
local function deleteIdentityFromDatabase(xPlayer)
|
||||
MySQL.query.await(
|
||||
'UPDATE users SET firstname = ?, lastname = ?, dateofbirth = ?, sex = ?, height = ?, skin = ? WHERE identifier = ?',
|
||||
{nil, nil, nil, nil, nil, nil, xPlayer.identifier})
|
||||
|
||||
if Config.FullCharDelete then
|
||||
MySQL.update.await('UPDATE addon_account_data SET money = 0 WHERE account_name IN (?) AND owner = ?',
|
||||
{{'bank_savings', 'caution'}, xPlayer.identifier})
|
||||
|
||||
MySQL.prepare.await('UPDATE datastore_data SET data = ? WHERE name IN (?) AND owner = ?',
|
||||
{'\'{}\'', {'user_ears', 'user_glasses', 'user_helmet', 'user_mask'}, xPlayer.identifier})
|
||||
end
|
||||
end
|
||||
|
||||
local function checkDate(str)
|
||||
if string.match(str, '(%d%d)/(%d%d)/(%d%d%d%d)') ~= nil then
|
||||
local d, m, y = string.match(str, '(%d+)/(%d+)/(%d+)')
|
||||
@@ -293,6 +293,25 @@ if Config.UseDeferrals then
|
||||
end
|
||||
end)
|
||||
else
|
||||
local function setIdentity(xPlayer)
|
||||
if alreadyRegistered[xPlayer.identifier] then
|
||||
local currentIdentity = playerIdentity[xPlayer.identifier]
|
||||
|
||||
xPlayer.setName(('%s %s'):format(currentIdentity.firstName, currentIdentity.lastName))
|
||||
xPlayer.set('firstName', currentIdentity.firstName)
|
||||
xPlayer.set('lastName', currentIdentity.lastName)
|
||||
xPlayer.set('dateofbirth', currentIdentity.dateOfBirth)
|
||||
xPlayer.set('sex', currentIdentity.sex)
|
||||
xPlayer.set('height', currentIdentity.height)
|
||||
TriggerClientEvent('esx_identity:setPlayerData', xPlayer.source, currentIdentity)
|
||||
if currentIdentity.saveToDatabase then
|
||||
saveIdentityToDatabase(xPlayer.identifier, currentIdentity)
|
||||
end
|
||||
|
||||
playerIdentity[xPlayer.identifier] = nil
|
||||
end
|
||||
end
|
||||
|
||||
local function checkIdentity(xPlayer)
|
||||
MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?',
|
||||
{xPlayer.identifier}, function(result)
|
||||
@@ -319,25 +338,6 @@ else
|
||||
end)
|
||||
end
|
||||
|
||||
local function setIdentity(xPlayer)
|
||||
if alreadyRegistered[xPlayer.identifier] then
|
||||
local currentIdentity = playerIdentity[xPlayer.identifier]
|
||||
|
||||
xPlayer.setName(('%s %s'):format(currentIdentity.firstName, currentIdentity.lastName))
|
||||
xPlayer.set('firstName', currentIdentity.firstName)
|
||||
xPlayer.set('lastName', currentIdentity.lastName)
|
||||
xPlayer.set('dateofbirth', currentIdentity.dateOfBirth)
|
||||
xPlayer.set('sex', currentIdentity.sex)
|
||||
xPlayer.set('height', currentIdentity.height)
|
||||
TriggerClientEvent('esx_identity:setPlayerData', xPlayer.source, currentIdentity)
|
||||
if currentIdentity.saveToDatabase then
|
||||
saveIdentityToDatabase(xPlayer.identifier, currentIdentity)
|
||||
end
|
||||
|
||||
playerIdentity[xPlayer.identifier] = nil
|
||||
end
|
||||
end
|
||||
|
||||
if not multichar then
|
||||
AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
|
||||
deferrals.defer()
|
||||
|
||||
Reference in New Issue
Block a user