From f83958e0afb5675d863e5cfb1d7be6c1ddf15f1c Mon Sep 17 00:00:00 2001 From: Mycroft Date: Tue, 6 Sep 2022 03:09:26 +0100 Subject: [PATCH 1/4] 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") From 62a97bfa6f14afb2982321f03b6d6372befdf04d Mon Sep 17 00:00:00 2001 From: Mycroft Date: Tue, 6 Sep 2022 03:11:48 +0100 Subject: [PATCH 2/4] fix(esx_multicharacter): use correct sex for skin --- [esx]/esx_multicharacter/client/main.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/[esx]/esx_multicharacter/client/main.lua b/[esx]/esx_multicharacter/client/main.lua index 98c11068..0804e506 100644 --- a/[esx]/esx_multicharacter/client/main.lua +++ b/[esx]/esx_multicharacter/client/main.lua @@ -273,7 +273,7 @@ if ESX.GetConfig().Multichar then if isNew or not skin or #skin == 1 then local finished = false local sex = skin.sex or 0 - if sex == 0 then model = mp_m_freemode_01 else model = mp_f_freemode_01 end + local model = sex == 0 and mp_m_freemode_01 or mp_f_freemode_01 RequestModel(model) while not HasModelLoaded(model) do RequestModel(model) @@ -281,8 +281,11 @@ if ESX.GetConfig().Multichar then end SetPlayerModel(PlayerId(), model) SetModelAsNoLongerNeeded(model) - skin = Config.Default - skin.sex = sex + while not ESX.PlayerData.sex do + Wait(0) + end + skin = Config.Default[ESX.PlayerData.sex] + skin.sex = ESX.PlayerData.sex == "m" and 0 or 1 TriggerEvent('skinchanger:loadSkin', skin, function() playerPed = PlayerPedId() SetPedAoBlobRendering(playerPed, true) From 8866fbb2c5a9b1a5723d4c204b661cf61579b550 Mon Sep 17 00:00:00 2001 From: Mycroft Date: Tue, 6 Sep 2022 03:12:50 +0100 Subject: [PATCH 3/4] feat(esx_mutlicharacter): New Default Peds for male and female --- [esx]/esx_multicharacter/config.lua | 157 +++++++++++++++++++++++----- 1 file changed, 128 insertions(+), 29 deletions(-) diff --git a/[esx]/esx_multicharacter/config.lua b/[esx]/esx_multicharacter/config.lua index 6b624d89..d9f35a24 100644 --- a/[esx]/esx_multicharacter/config.lua +++ b/[esx]/esx_multicharacter/config.lua @@ -26,20 +26,21 @@ else -- Default appearance for new characters Config.Default = { - mom = 21, - dad = 0, - face_md_weight = 50, - skin_md_weight = 50, - nose_1 = 0, - nose_2 = 0, - nose_3 = 0, - nose_4 = 0, - nose_5 = 0, + ["m"] = { + mom = 43, + dad = 29, + face_md_weight = 61, + skin_md_weight = 27, + nose_1 = -5, + nose_2 = 6, + nose_3 = 5, + nose_4 = 8, + nose_5 = 10, nose_6 = 0, - cheeks_1 = 0, - cheeks_2 = 0, - cheeks_3 = 0, - lip_thickness = 0, + cheeks_1 = 2, + cheeks_2 = -10, + cheeks_3 = 6, + lip_thickness = -2, jaw_1 = 0, jaw_2 = 0, chin_1 = 0, @@ -47,28 +48,28 @@ else chin_13 = 0, chin_4 = 0, neck_thickness = 0, - hair_1 = 0, + hair_1 = 76, hair_2 = 0, - hair_color_1 = 0, - hair_color_2 = 0, - tshirt_1 = 0, - tshirt_2 = 0, - torso_1 = 0, - torso_2 = 0, + hair_color_1 = 61, + hair_color_2 = 29, + tshirt_1 = 4, + tshirt_2 = 2, + torso_1 = 23, + torso_2 = 2, decals_1 = 0, decals_2 = 0, - arms = 0, + arms = 1, arms_2 = 0, - pants_1 = 0, - pants_2 = 0, - shoes_1 = 0, - shoes_2 = 0, + pants_1 = 28, + pants_2 = 3, + shoes_1 = 70, + shoes_2 = 2, mask_1 = 0, mask_2 = 0, bproof_1 = 0, bproof_2 = 0, - chain_1 = 0, - chain_2 = 0, + chain_1 = 22, + chain_2 = 2, helmet_1 = -1, helmet_2 = 0, glasses_1 = 0, @@ -117,9 +118,107 @@ else sun_2 = 0, moles_1 = 0, moles_2 = 0, - beard_1 = 0, - beard_2 = 0, + beard_1 = 11, + beard_2 = 10, beard_3 = 0, beard_4 = 0 + }, + ["f"] = { + mom = 28, + dad = 6, + face_md_weight = 63, + skin_md_weight = 60, + nose_1 = -10, + nose_2 = 4, + nose_3 = 5, + nose_4 = 0, + nose_5 = 0, + nose_6 = 0, + cheeks_1 = 0, + cheeks_2 = 0, + cheeks_3 = 0, + lip_thickness = 0, + jaw_1 = 0, + jaw_2 = 0, + chin_1 = -10, + chin_2 = 10, + chin_13 = -10, + chin_4 = 0, + neck_thickness = -5, + hair_1 = 43, + hair_2 = 0, + hair_color_1 = 29, + hair_color_2 = 35, + tshirt_1 = 111, + tshirt_2 = 5, + torso_1 = 25, + torso_2 = 2, + decals_1 = 0, + decals_2 = 0, + arms = 3, + arms_2 = 0, + pants_1 = 12, + pants_2 = 2, + shoes_1 = 20, + shoes_2 = 10, + mask_1 = 0, + mask_2 = 0, + bproof_1 = 0, + bproof_2 = 0, + chain_1 = 85, + chain_2 = 0, + helmet_1 = -1, + helmet_2 = 0, + glasses_1 = 33, + glasses_2 = 12, + watches_1 = -1, + watches_2 = 0, + bracelets_1 = -1, + bracelets_2 = 0, + bags_1 = 0, + bags_2 = 0, + eye_color = 8, + eye_squint = -6, + eyebrows_2 = 7, + eyebrows_1 = 32, + eyebrows_3 = 52, + eyebrows_4 = 9, + eyebrows_5 = -5, + eyebrows_6 = -8, + makeup_1 = 0, + makeup_2 = 0, + makeup_3 = 0, + makeup_4 = 0, + lipstick_1 = 0, + lipstick_2 = 0, + lipstick_3 = 0, + lipstick_4 = 0, + ears_1 = -1, + ears_2 = 0, + chest_1 = 0, + chest_2 = 0, + chest_3 = 0, + bodyb_1 = -1, + bodyb_2 = 0, + bodyb_3 = -1, + bodyb_4 = 0, + age_1 = 0, + age_2 = 0, + blemishes_1 = 0, + blemishes_2 = 0, + blush_1 = 0, + blush_2 = 0, + blush_3 = 0, + complexion_1 = 0, + complexion_2 = 0, + sun_1 = 0, + sun_2 = 0, + moles_1 = 12, + moles_2 = 8, + beard_1 = 0, + beard_2 = 0, + beard_3 = 0, + beard_4 = 0 + } } end \ No newline at end of file From 1ded3628bff7f1401f2eb0f9eb8dd44b71bc0eff Mon Sep 17 00:00:00 2001 From: Mycroft Date: Tue, 6 Sep 2022 03:13:15 +0100 Subject: [PATCH 4/4] tweak(es_extended): better error message for context issues --- [esx]/es_extended/client/functions.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index 4c120959..299e21ea 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -158,7 +158,6 @@ ESX.HashString = function(str) end if GetResourceState("esx_context") ~= "missing" then - function ESX.OpenContext(...) exports["esx_context"]:Open(...) end @@ -172,15 +171,15 @@ if GetResourceState("esx_context") ~= "missing" then end else function ESX.OpenContext() - print("[ERROR] ESX Context Not Found") + print("[ERROR] Tried to open context menu, but esx_context is missing!") end function ESX.PreviewContext() - print("[ERROR] ESX Context Not Found") + print("[ERROR] Tried to preview context menu, but esx_context is missing!") end function ESX.CloseContext() - print("[ERROR] ESX Context Not Found") + print("[ERROR] Tried to close context menu, but esx_context is missing!") end end