Skip to content

Commit 216f648

Browse files
committed
feat: sync player data inv & loadout
1 parent 2c285e1 commit 216f648

3 files changed

Lines changed: 60 additions & 0 deletions

File tree

[core]/es_extended/client/modules/events.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,25 @@ if not Config.CustomInventory then
196196
end
197197
end)
198198

199+
ESX.SecureNetEvent("esx:addLoadoutItem", function(weaponName, weaponLabel, ammo)
200+
table.insert(ESX.PlayerData.loadout, {
201+
name = weaponName,
202+
ammo = ammo,
203+
label = weaponLabel,
204+
components = {},
205+
tintIndex = 0,
206+
})
207+
end)
208+
209+
ESX.SecureNetEvent("esx:removeLoadoutItem", function(weaponName, weaponLabel)
210+
for i = 1, #ESX.PlayerData.loadout do
211+
if ESX.PlayerData.loadout[i].name == weaponName then
212+
table.remove(ESX.PlayerData.loadout, i)
213+
break
214+
end
215+
end
216+
end)
217+
199218
RegisterNetEvent("esx:addWeapon", function()
200219
error("event ^5'esx:addWeapon'^1 Has Been Removed. Please use ^5xPlayer.addWeapon^1 Instead!")
201220
end)

[core]/es_extended/imports.lua

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,45 @@ if not IsDuplicityVersion() then -- Only register this event for the client
4848
ESX.PlayerData = {}
4949
end)
5050

51+
if not ESX.GetConfig("CustomInventory") then
52+
ESX.SecureNetEvent("esx:addInventoryItem", function(item, count, showNotification)
53+
for k, v in ipairs(ESX.PlayerData.inventory) do
54+
if v.name == item then
55+
ESX.PlayerData.inventory[k].count = count
56+
break
57+
end
58+
end
59+
end)
60+
61+
ESX.SecureNetEvent("esx:removeInventoryItem", function(item, count, showNotification)
62+
for i = 1, #ESX.PlayerData.inventory do
63+
if ESX.PlayerData.inventory[i].name == item then
64+
ESX.PlayerData.inventory[i].count = count
65+
break
66+
end
67+
end
68+
end)
69+
70+
ESX.SecureNetEvent("esx:addLoadoutItem", function(weaponName, weaponLabel, ammo)
71+
table.insert(ESX.PlayerData.loadout, {
72+
name = weaponName,
73+
ammo = ammo,
74+
label = weaponLabel,
75+
components = {},
76+
tintIndex = 0,
77+
})
78+
end)
79+
80+
ESX.SecureNetEvent("esx:removeLoadoutItem", function(weaponName, weaponLabel)
81+
for i = 1, #ESX.PlayerData.loadout do
82+
if ESX.PlayerData.loadout[i].name == weaponName then
83+
table.remove(ESX.PlayerData.loadout, i)
84+
break
85+
end
86+
end
87+
end)
88+
end
89+
5190
local external = { { "Class", "class.lua" }, { "Point", "point.lua" } }
5291
for i = 1, #external do
5392
local module = external[i]

[core]/es_extended/server/classes/player.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
580580

581581
GiveWeaponToPed(GetPlayerPed(self.source), joaat(weaponName), ammo, false, false)
582582
self.triggerEvent("esx:addInventoryItem", weaponLabel, false, true)
583+
self.triggerEvent("esx:addLoadoutItem", weaponName, weaponLabel, ammo)
583584
end
584585
end
585586

@@ -692,6 +693,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory,
692693

693694
if weaponLabel then
694695
self.triggerEvent("esx:removeInventoryItem", weaponLabel, false, true)
696+
self.triggerEvent("esx:removeLoadoutItem", weaponName, weaponLabel)
695697
end
696698
end
697699

0 commit comments

Comments
 (0)