From f83958e0afb5675d863e5cfb1d7be6c1ddf15f1c Mon Sep 17 00:00:00 2001 From: Mycroft Date: Tue, 6 Sep 2022 03:09:26 +0100 Subject: [PATCH] feat(esx_identity): Synced PlayerData to client allows for these new functions: ESX.PlayerData.name ESX.PlayerData.firstName ESX.PlayerData.lastName ESX.PlayerData.dateofbirth ESX.PlayerData.sex -- do note , this is either "m" or "f" instead of 1 or 0 ESX.PlayerData.height --- [esx]/esx_identity/client/main.lua | 11 +++++++++++ [esx]/esx_identity/server/main.lua | 18 +++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/[esx]/esx_identity/client/main.lua b/[esx]/esx_identity/client/main.lua index 62c25007..a876f5a5 100644 --- a/[esx]/esx_identity/client/main.lua +++ b/[esx]/esx_identity/client/main.lua @@ -8,6 +8,17 @@ RegisterNetEvent('esx_identity:alreadyRegistered', function() TriggerEvent('esx_skin:playerRegistered') end) +RegisterNetEvent('esx_identity:setPlayerData', function(data) + SetTimeout(1, function() + ESX.SetPlayerData("name", ('%s %s'):format(data.firstName, data.lastName)) + ESX.SetPlayerData('firstName', data.firstName) + ESX.SetPlayerData('lastName', data.lastName) + ESX.SetPlayerData('dateofbirth', data.dateOfBirth) + ESX.SetPlayerData('sex', data.sex) + ESX.SetPlayerData('height', data.height) + end) + end) + AddEventHandler('esx:loadingScreenOff', function() loadingScreenFinished = true end) diff --git a/[esx]/esx_identity/server/main.lua b/[esx]/esx_identity/server/main.lua index 2f3848e5..d3bb1621 100644 --- a/[esx]/esx_identity/server/main.lua +++ b/[esx]/esx_identity/server/main.lua @@ -10,7 +10,6 @@ local function deleteIdentity(xPlayer) xPlayer.set('dateofbirth', nil) xPlayer.set('sex', nil) xPlayer.set('height', nil) - deleteIdentityFromDatabase(xPlayer) end end @@ -281,7 +280,6 @@ if Config.UseDeferrals then xPlayer.set('dateofbirth', currentIdentity.dateOfBirth) xPlayer.set('sex', currentIdentity.sex) xPlayer.set('height', currentIdentity.height) - if currentIdentity.saveToDatabase then saveIdentityToDatabase(xPlayer.identifier, currentIdentity) end @@ -289,7 +287,6 @@ if Config.UseDeferrals then Wait(0) alreadyRegistered[xPlayer.identifier] = true TriggerClientEvent('esx_identity:alreadyRegistered', xPlayer.source) - playerIdentity[xPlayer.identifier] = nil else xPlayer.kick(_('missing_identity')) @@ -332,7 +329,7 @@ else 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 @@ -405,7 +402,7 @@ else 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 @@ -452,10 +449,10 @@ else xPlayer.set('dateofbirth', currentIdentity.dateOfBirth) xPlayer.set('sex', currentIdentity.sex) xPlayer.set('height', currentIdentity.height) + TriggerClientEvent('esx_identity:setPlayerData', xPlayer.source, currentIdentity) saveIdentityToDatabase(xPlayer.identifier, currentIdentity) alreadyRegistered[xPlayer.identifier] = true playerIdentity[xPlayer.identifier] = nil - cb(true) else xPlayer.showNotification(_U('invalid_height_format'), "error") @@ -494,9 +491,16 @@ else data.firstname = formattedFirstName data.lastname = formattedLastName data.dateofbirth = formattedDate - if checkHeightFormat(data.height) then + local Identity= { + firstName = formattedFirstName, + lastName = formattedLastName, + dateOfBirth = formattedDate, + sex = data.sex, + height = data.height + } TriggerEvent('esx_identity:completedRegistration', source, data) + TriggerClientEvent('esx_identity:setPlayerData', source, Identity) cb(true) else TriggerClientEvent("esx:showNotification", source, _U('invalid_height_format'), "error")