diff --git a/[core]/es_extended/server/functions.lua b/[core]/es_extended/server/functions.lua index e54e90e7..281efd87 100644 --- a/[core]/es_extended/server/functions.lua +++ b/[core]/es_extended/server/functions.lua @@ -348,13 +348,13 @@ function ESX.GetNumPlayers(key, val) end ---@param source number ----@return xPlayer +---@return xPlayer? function ESX.GetPlayerFromId(source) return ESX.Players[tonumber(source)] end ---@param identifier string ----@return xPlayer +---@return xPlayer? function ESX.GetPlayerFromIdentifier(identifier) return Core.playersByIdentifier[identifier] end diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 00efbfac..103f14b1 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -522,6 +522,10 @@ if not Config.CustomInventory then local playerId = source local xPlayer = ESX.GetPlayerFromId(playerId) + if not xPlayer then + return + end + if itemType == "item_standard" then if not itemCount or itemCount < 1 then return xPlayer.showNotification(TranslateCap("imp_invalid_quantity")) @@ -590,6 +594,11 @@ if not Config.CustomInventory then RegisterNetEvent("esx:useItem", function(itemName) local source = source local xPlayer = ESX.GetPlayerFromId(source) + + if not xPlayer then + return + end + local count = xPlayer.getInventoryItem(itemName).count if count < 1 then @@ -602,6 +611,10 @@ if not Config.CustomInventory then RegisterNetEvent("esx:onPickup", function(pickupId) local pickup, xPlayer, success = Core.Pickups[pickupId], ESX.GetPlayerFromId(source) + if not xPlayer then + return + end + if not pickup then return end local playerPickupDistance = #(pickup.coords - xPlayer.getCoords(true)) @@ -644,6 +657,10 @@ end ESX.RegisterServerCallback("esx:getPlayerData", function(source, cb) local xPlayer = ESX.GetPlayerFromId(source) + if not xPlayer then + return + end + cb({ identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(), @@ -667,6 +684,10 @@ end) ESX.RegisterServerCallback("esx:getOtherPlayerData", function(_, cb, target) local xPlayer = ESX.GetPlayerFromId(target) + if not xPlayer then + return + end + cb({ identifier = xPlayer.identifier, accounts = xPlayer.getAccounts(),