mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-09-04 16:23:21 +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 alreadyRegistered = {}
|
||||||
local multichar = ESX.GetConfig().Multichar
|
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)
|
local function deleteIdentity(xPlayer)
|
||||||
if alreadyRegistered[xPlayer.identifier] then
|
if alreadyRegistered[xPlayer.identifier] then
|
||||||
xPlayer.setName(('%s %s'):format(nil, nil))
|
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})
|
{identity.firstName, identity.lastName, identity.dateOfBirth, identity.sex, identity.height, identifier})
|
||||||
end
|
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)
|
local function checkDate(str)
|
||||||
if string.match(str, '(%d%d)/(%d%d)/(%d%d%d%d)') ~= nil then
|
if string.match(str, '(%d%d)/(%d%d)/(%d%d%d%d)') ~= nil then
|
||||||
local d, m, y = string.match(str, '(%d+)/(%d+)/(%d+)')
|
local d, m, y = string.match(str, '(%d+)/(%d+)/(%d+)')
|
||||||
@@ -293,6 +293,25 @@ if Config.UseDeferrals then
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
else
|
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)
|
local function checkIdentity(xPlayer)
|
||||||
MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?',
|
MySQL.single('SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?',
|
||||||
{xPlayer.identifier}, function(result)
|
{xPlayer.identifier}, function(result)
|
||||||
@@ -319,25 +338,6 @@ else
|
|||||||
end)
|
end)
|
||||||
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
|
if not multichar then
|
||||||
AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
|
AddEventHandler('playerConnecting', function(playerName, setKickReason, deferrals)
|
||||||
deferrals.defer()
|
deferrals.defer()
|
||||||
|
|||||||
Reference in New Issue
Block a user