From 3260aa01f2aa79b802fe826727e6ebd7d1bcf8cb Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Tue, 26 Dec 2023 23:33:33 +0100 Subject: [PATCH] fix(compatibility/esx): errors without inventory --- compatibility/esx/client.lua | 6 +++--- compatibility/esx/server.lua | 20 +++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/compatibility/esx/client.lua b/compatibility/esx/client.lua index 68d65f2..0a1dbd3 100644 --- a/compatibility/esx/client.lua +++ b/compatibility/esx/client.lua @@ -60,7 +60,7 @@ function NDCore.GetPlayerData() player.coords = GetEntityCoords(cache.ped) player.loadout = {} - player.maxWeight = exports.ox_inventory:GetPlayerMaxWeight() + player.maxWeight = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:GetPlayerMaxWeight() or 0 player.money = player.Accounts.Money player.sex = player.gender player.firstName = player.firstname @@ -112,7 +112,7 @@ function NDCore.Progressbar(message, lenght, options) end function NDCore.SearchInventory(item, count) - local itemCount = exports.ox_inventory:Search(item) + local itemCount = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:Search(item) or 0 return itemCount >= count and itemCount end @@ -133,7 +133,7 @@ function NDCore.ShowHelpNotification() end function NDCore.ShowInventory() - exports.ox_inventory:openInventory("player", cache.serverId) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:openInventory("player", cache.serverId) end function NDCore.ShowNotification(msg, type, time) diff --git a/compatibility/esx/server.lua b/compatibility/esx/server.lua index 3c195d2..d3ee500 100644 --- a/compatibility/esx/server.lua +++ b/compatibility/esx/server.lua @@ -5,7 +5,8 @@ local registeredItems = {} local function getAmmoFromWeapon(weapon) if not weapon then return end - for item, data in pairs(exports.ox_inventory:Items()) do + local items = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:Items() or {} + for item, data in pairs(items) do if data.weapon and data.model and data.model:lower() == weapon:lower() then return data.ammoname end @@ -60,7 +61,7 @@ local function createPlayerFunctions(self) end function self.addInventoryItem(item, count) - exports.ox_inventory:AddItem(self.source, item, count) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:AddItem(self.source, item, count) end function self.addMoney(amount) @@ -100,11 +101,11 @@ local function createPlayerFunctions(self) end function self.canCarryItem(item, count) - return exports.ox_inventory:CanCarryItem(self.source, item, count) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:CanCarryItem(self.source, item, count) end function self.canSwapItem(firstItem, firstItemCount, testItem, testItemCount) - exports.ox_inventory:CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:CanSwapItem(self.source, firstItem, firstItemCount, testItem, testItemCount) end function self.clearMeta(index) @@ -137,7 +138,7 @@ local function createPlayerFunctions(self) end function self.getInventory(minimal) - local playerItems = exports.ox_inventory:GetInventoryItems(self.source) + local playerItems = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:GetInventoryItems(self.source) or {} if not minimal then return playerItems end @@ -145,7 +146,7 @@ local function createPlayerFunctions(self) end function self.getInventoryItem(item) - local playerItems = exports.ox_inventory:GetInventoryItems(self.source) + local playerItems = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:GetInventoryItems(self.source) or {} for name, data in pairs(playerItems) do if name == item then return data @@ -162,11 +163,11 @@ local function createPlayerFunctions(self) end function self.hasItem(item, metadata) - return exports.ox_inventory:GetItem(self.source, item, metadata) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:GetItem(self.source, item, metadata) end function self.removeInventoryItem(item, count) - exports.ox_inventory:RemoveItem(self.source, item, count) + return GetResourceState("ox_inventory") == "started" and exports.ox_inventory:RemoveItem(self.source, item, count) end function self.removeMoney(amount) @@ -304,7 +305,8 @@ end function NDCore.GetItemLabel(item) if not itemNames then itemNames = {} - for item, data in pairs(exports.ox_inventory:Items()) do + local items = GetResourceState("ox_inventory") == "started" and exports.ox_inventory:Items() or {} + for item, data in pairs(items) do itemNames[item] = data.label end end