From 4bd80ca3e649590068a3e2285449ce15ad50afd4 Mon Sep 17 00:00:00 2001 From: Tabby Dev <88893827+Tabby-Labs@users.noreply.github.com> Date: Thu, 22 May 2025 19:10:31 +0800 Subject: [PATCH] feat(es_extended/server/main): add new handler 'esx:playerCrashed' for unloading players stale --- [core]/es_extended/server/main.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 993e99ec..a4d5a07d 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -368,6 +368,25 @@ AddEventHandler("esx:playerLogout", function(playerId, cb) TriggerClientEvent("esx:onPlayerLogout", playerId) end) +AddEventHandler('esx:playerCrashed', function(identifier, cb) + local xPlayer = ESX.GetPlayerFromIdentifier(identifier) + + if xPlayer then + local playerId = xPlayer.playerId + local isExist = DoesPlayerExist(playerId --[[@as string]]) + + if playerId and isExist ~= 0 then + TriggerEvent('esx:playerDropped', playerId) + GlobalState["playerCount"] = GlobalState["playerCount"] - 1 + Core.playersByIdentifier[identifier] = nil + ESX.Players[playerId] = nil + if cb then + cb() + end + end + end +end) + if not Config.CustomInventory then RegisterNetEvent("esx:updateWeaponAmmo", function(weaponName, ammoCount) local xPlayer = ESX.GetPlayerFromId(source)