refactor(esx_identity): use static player methods

This commit is contained in:
Kenshin13
2025-10-01 22:16:12 -05:00
committed by _Not_
parent 81c930975e
commit b777daccd6
+19 -15
View File
@@ -12,7 +12,7 @@ local function deleteIdentityFromDatabase(xPlayer)
end end
end end
---@param xPlayer StaticPlayer ---@param xPlayer StaticPlayer|xPlayer
---@param data {firstName:string?, lastName:string?, dateOfBirth:string?, height:number?, sex:"m"|"f"?} ---@param data {firstName:string?, lastName:string?, dateOfBirth:string?, height:number?, sex:"m"|"f"?}
function SetPlayerData(xPlayer, data) function SetPlayerData(xPlayer, data)
local name = ("%s %s"):format(data.firstName, data.lastName) local name = ("%s %s"):format(data.firstName, data.lastName)
@@ -23,7 +23,7 @@ function SetPlayerData(xPlayer, data)
xPlayer.set("sex", data.sex) xPlayer.set("sex", data.sex)
xPlayer.set("height", data.height) xPlayer.set("height", data.height)
local state = Player(xPlayer.src).state local state = Player(xPlayer.getSource()).state
state:set("name", name, true) state:set("name", name, true)
state:set("firstName", data.firstName, true) state:set("firstName", data.firstName, true)
state:set("lastName", data.lastName, true) state:set("lastName", data.lastName, true)
@@ -127,33 +127,37 @@ local function formatName(name)
return convertFirstLetterToUpper(loweredName) return convertFirstLetterToUpper(loweredName)
end end
---@param xPlayer StaticPlayer
local function setIdentity(xPlayer) local function setIdentity(xPlayer)
if not alreadyRegistered[xPlayer.identifier] then local playerIdentifier = xPlayer.getIdentifier()
if not alreadyRegistered[playerIdentifier] then
return return
end end
local currentIdentity = playerIdentity[xPlayer.identifier] local currentIdentity = playerIdentity[playerIdentifier]
SetPlayerData(xPlayer, currentIdentity) SetPlayerData(xPlayer, currentIdentity)
TriggerClientEvent("esx_identity:setPlayerData", xPlayer.source, currentIdentity) TriggerClientEvent("esx_identity:setPlayerData", xPlayer.src, currentIdentity)
if currentIdentity.saveToDatabase then if currentIdentity.saveToDatabase then
saveIdentityToDatabase(xPlayer.identifier, currentIdentity) saveIdentityToDatabase(playerIdentifier, currentIdentity)
end end
playerIdentity[xPlayer.identifier] = nil playerIdentity[playerIdentifier] = nil
end end
---@param xPlayer StaticPlayer
local function checkIdentity(xPlayer) local function checkIdentity(xPlayer)
MySQL.single("SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?", { xPlayer.identifier }, function(result) local playerIdentifier = xPlayer.getIdentifier()
MySQL.single("SELECT firstname, lastname, dateofbirth, sex, height FROM users WHERE identifier = ?", { playerIdentifier }, function(result)
if not result then if not result then
return TriggerClientEvent("esx_identity:showRegisterIdentity", xPlayer.source) return TriggerClientEvent("esx_identity:showRegisterIdentity", xPlayer.src)
end end
if not result.firstname then if not result.firstname then
playerIdentity[xPlayer.identifier] = nil playerIdentity[playerIdentifier] = nil
alreadyRegistered[xPlayer.identifier] = false alreadyRegistered[playerIdentifier] = false
return TriggerClientEvent("esx_identity:showRegisterIdentity", xPlayer.source) return TriggerClientEvent("esx_identity:showRegisterIdentity", xPlayer.src)
end end
playerIdentity[xPlayer.identifier] = { playerIdentity[playerIdentifier] = {
firstName = result.firstname, firstName = result.firstname,
lastName = result.lastname, lastName = result.lastname,
dateOfBirth = result.dateofbirth, dateOfBirth = result.dateofbirth,
@@ -161,7 +165,7 @@ local function checkIdentity(xPlayer)
height = result.height, height = result.height,
} }
alreadyRegistered[xPlayer.identifier] = true alreadyRegistered[playerIdentifier] = true
setIdentity(xPlayer) setIdentity(xPlayer)
end) end)
end end
@@ -216,7 +220,7 @@ if not multichar then
Wait(0) Wait(0)
end end
local xPlayers = ESX.GetExtendedPlayers() local xPlayers = ESX.ExtendedPlayers() --[=[@as StaticPlayer[]]=]
for i = 1, #xPlayers do for i = 1, #xPlayers do
if xPlayers[i] then if xPlayers[i] then