1
0
Fork 0
forked from Simnation/Main
Main/resources/[jobs]/[weapons]/force-sling/client/events.lua
2025-06-12 00:07:24 +02:00

53 lines
1.2 KiB
Lua

local function cleanupEntities()
local function safeDelete(entity)
if DoesEntityExist(entity) then
if IsEntityAttachedToAnyPed(entity) then
DetachEntity(entity, true, true)
end
NetworkUnregisterNetworkedEntity(entity)
DeleteObject(entity)
SetEntityAsNoLongerNeeded(entity)
return true
end
return false
end
if Sling.object then
safeDelete(Sling.object)
Sling.object = nil
end
for weaponName, attachment in pairs(Sling.cachedAttachments) do
if attachment then
safeDelete(attachment.obj)
safeDelete(attachment.placeholder)
Sling.cachedAttachments[weaponName] = nil
end
end
Sling.currentAttachedAmount = 0
collectgarbage("collect")
end
-- Add these event handlers
AddEventHandler('onResourceStart', function(resourceName)
if resourceName == GetCurrentResourceName() then
cleanupEntities()
end
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded')
AddEventHandler('QBCore:Client:OnPlayerLoaded', function()
cleanupEntities()
end)
AddEventHandler('onResourceStop', function(resourceName)
if resourceName == GetCurrentResourceName() then
cleanupEntities()
end
end)
AddEventHandler('playerDropped', function()
cleanupEntities()
end)