mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-28 23:01:26 +00:00
fix(es_extended/client): remove event handlers after resource stop
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
Core = {}
|
||||
Core.Input = {}
|
||||
Core.Events = {}
|
||||
|
||||
ESX.PlayerData = {}
|
||||
ESX.PlayerLoaded = false
|
||||
ESX.playerId = PlayerId()
|
||||
ESX.serverId = GetPlayerServerId(ESX.playerId)
|
||||
ESX.PlayerLoaded = false
|
||||
Core.Input = {}
|
||||
|
||||
ESX.UI = {}
|
||||
ESX.UI.Menu = {}
|
||||
ESX.UI.Menu.RegisteredTypes = {}
|
||||
@@ -12,11 +15,6 @@ ESX.UI.Menu.Opened = {}
|
||||
ESX.Game = {}
|
||||
ESX.Game.Utils = {}
|
||||
|
||||
ESX.Scaleform = {}
|
||||
ESX.Scaleform.Utils = {}
|
||||
|
||||
ESX.Streaming = {}
|
||||
|
||||
CreateThread(function()
|
||||
while not Config.Multichar do
|
||||
Wait(100)
|
||||
|
||||
@@ -12,7 +12,17 @@ end
|
||||
---@param func function
|
||||
---@return nil
|
||||
function ESX.SecureNetEvent(name, func)
|
||||
RegisterNetEvent(name, function(...)
|
||||
local invoker = GetInvokingResource()
|
||||
local invokingResource = invoker and invoker ~= 'unknown' and invoker or 'es_extended'
|
||||
if not invokingResource then
|
||||
return
|
||||
end
|
||||
|
||||
if not Core.Events[invokingResource] then
|
||||
Core.Events[invokingResource] = {}
|
||||
end
|
||||
|
||||
local event = RegisterNetEvent(name, function(...)
|
||||
if source == '' then
|
||||
return
|
||||
end
|
||||
@@ -22,6 +32,8 @@ function ESX.SecureNetEvent(name, func)
|
||||
error(("%s"):format(result))
|
||||
end
|
||||
end)
|
||||
local eventIndex = #Core.Events[invokingResource] + 1
|
||||
Core.Events[invokingResource][eventIndex] = event
|
||||
end
|
||||
|
||||
local addonResourcesState = {
|
||||
|
||||
@@ -683,3 +683,11 @@ end)
|
||||
ESX.SecureNetEvent('esx:updatePlayerData', function(key, val)
|
||||
ESX.SetPlayerData(key, val)
|
||||
end)
|
||||
|
||||
AddEventHandler("onResourceStop", function(resource)
|
||||
if Core.Events[resource] then
|
||||
for i = 1, #Core.Events[resource] do
|
||||
RemoveEventHandler(Core.Events[resource][i])
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
ESX.Scaleform = {}
|
||||
ESX.Scaleform.Utils = {}
|
||||
|
||||
function ESX.Scaleform.ShowFreemodeMessage(title, msg, sec)
|
||||
local scaleform = ESX.Scaleform.Utils.RequestScaleformMovie("MP_BIG_MESSAGE_FREEMODE")
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
ESX.Streaming = {}
|
||||
|
||||
---@param modelHash number | string
|
||||
---@param cb? function
|
||||
---@return number | nil
|
||||
|
||||
Reference in New Issue
Block a user