diff --git a/resources/[jobs]/[weapons]/force-sling/client/events.lua b/resources/[jobs]/[weapons]/force-sling/client/events.lua index e2432bb4e..82c99fe56 100644 --- a/resources/[jobs]/[weapons]/force-sling/client/events.lua +++ b/resources/[jobs]/[weapons]/force-sling/client/events.lua @@ -25,6 +25,17 @@ local function cleanupEntities() end end + -- Cleanup other players weapons + for playerId, weapons in pairs(otherPlayersWeapons) do + for weaponName, _ in pairs(weapons) do + if Sling.cachedAttachments[weaponName] then + safeDelete(Sling.cachedAttachments[weaponName].obj) + safeDelete(Sling.cachedAttachments[weaponName].placeholder) + end + end + otherPlayersWeapons[playerId] = nil + end + Sling.currentAttachedAmount = 0 collectgarbage("collect") end diff --git a/resources/[jobs]/[weapons]/force-sling/client/functions.lua b/resources/[jobs]/[weapons]/force-sling/client/functions.lua index 0734b2bbc..1c6f5eb91 100644 --- a/resources/[jobs]/[weapons]/force-sling/client/functions.lua +++ b/resources/[jobs]/[weapons]/force-sling/client/functions.lua @@ -18,8 +18,6 @@ Sling = { } } -local otherPlayersWeapons = {} - function Sling:SyncWeaponAttachment(weaponName, weaponVal, coords, action) local weaponData = { weaponName = weaponName, @@ -29,6 +27,9 @@ function Sling:SyncWeaponAttachment(weaponName, weaponVal, coords, action) TriggerServerEvent('force-sling:server:syncWeapons', weaponData, action) end +[Rest der Datei bleibt unverändert...] + + function Sling:InitMain() Debug("info", "Initializing main thread") diff --git a/resources/[jobs]/[weapons]/force-sling/client/shared.lua b/resources/[jobs]/[weapons]/force-sling/client/shared.lua new file mode 100644 index 000000000..c0642eb39 --- /dev/null +++ b/resources/[jobs]/[weapons]/force-sling/client/shared.lua @@ -0,0 +1 @@ +otherPlayersWeapons = {} diff --git a/resources/[jobs]/[weapons]/force-sling/fxmanifest.lua b/resources/[jobs]/[weapons]/force-sling/fxmanifest.lua index 659dba278..e84105c3d 100644 --- a/resources/[jobs]/[weapons]/force-sling/fxmanifest.lua +++ b/resources/[jobs]/[weapons]/force-sling/fxmanifest.lua @@ -37,6 +37,7 @@ client_scripts { "client/custom/frameworks/*.lua", "client/custom/*.lua", "client/misc/*.lua", + 'client/shared.lua', } files {