From a63e75cd9896d2f83a1b8354e76a45308cab964a Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:06:18 +0200 Subject: [PATCH 1/6] fix(rpc): remove esx:removeWeapon --- [core]/es_extended/client/main.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 93c95429..7cc84fc9 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -332,9 +332,7 @@ if not Config.OxInventory then RegisterNetEvent('esx:removeWeapon') AddEventHandler('esx:removeWeapon', function(weapon) - local playerPed = ESX.PlayerData.ped - RemoveWeaponFromPed(playerPed, joaat(weapon)) - SetPedAmmo(ESX.PlayerData.ped, joaat(weapon), 0) + print("[^1ERROR^7] event ^5'esx:removeWeapon'^7 Has Been Removed. Please use ^5xPlayer.removeWeapon^7 Instead!") end) RegisterNetEvent('esx:removeWeaponComponent') From a2ca81d6ff5d765cdc50ce3196b0b2cd801a6035 Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:07:52 +0200 Subject: [PATCH 2/6] fix(rpc): .removeWeapon function use rpc natives --- [core]/es_extended/server/classes/player.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 52b72225..ae515d7b 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -470,13 +470,17 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.removeWeaponComponent(weaponName, v2) end + local weaponHash = joaat(weaponName) + + RemoveWeaponFromPed(GetPlayerPed(self.source), weaponHash) + SetPedAmmo(GetPlayerPed(self.source), weaponHash, 0) + table.remove(self.loadout, k) break end end if weaponLabel then - self.triggerEvent('esx:removeWeapon', weaponName) self.triggerEvent('esx:removeInventoryItem', weaponLabel, false, true) end end From 518d7340d70a22b92a704546658ff82a81448886 Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:35:26 +0200 Subject: [PATCH 3/6] fix: move weaponHash outside of loop --- [core]/es_extended/server/classes/player.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index ae515d7b..03746914 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -460,7 +460,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.removeWeapon(weaponName) - local weaponLabel + local weaponLabel, weaponHash + local weaponHash = joaat(weaponName) for k, v in ipairs(self.loadout) do if v.name == weaponName then @@ -469,8 +470,6 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, for _, v2 in ipairs(v.components) do self.removeWeaponComponent(weaponName, v2) end - - local weaponHash = joaat(weaponName) RemoveWeaponFromPed(GetPlayerPed(self.source), weaponHash) SetPedAmmo(GetPlayerPed(self.source), weaponHash, 0) From b744d3f69a07d06233e41c3e6dfbe8fbbb27417c Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:37:17 +0200 Subject: [PATCH 4/6] fix: move playerPed outside of loop --- [core]/es_extended/server/classes/player.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 03746914..9dd6f38c 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -462,6 +462,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, function self.removeWeapon(weaponName) local weaponLabel, weaponHash local weaponHash = joaat(weaponName) + local playerPed = GetPlayerPed(self.source) for k, v in ipairs(self.loadout) do if v.name == weaponName then @@ -471,8 +472,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.removeWeaponComponent(weaponName, v2) end - RemoveWeaponFromPed(GetPlayerPed(self.source), weaponHash) - SetPedAmmo(GetPlayerPed(self.source), weaponHash, 0) + RemoveWeaponFromPed(playerPed, weaponHash) + SetPedAmmo(playerPed, weaponHash, 0) table.remove(self.loadout, k) break From f47979917d2bdf8de284a8ca574a5512487c9e99 Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:38:40 +0200 Subject: [PATCH 5/6] Update player.lua --- [core]/es_extended/server/classes/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 9dd6f38c..10fd67a1 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -460,7 +460,7 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.removeWeapon(weaponName) - local weaponLabel, weaponHash + local weaponLabel = nil local weaponHash = joaat(weaponName) local playerPed = GetPlayerPed(self.source) From 5c5b6be5a9d96f59b997b826cfb0f55021f7bbc7 Mon Sep 17 00:00:00 2001 From: btwlouis <56355239+btwlouis@users.noreply.github.com> Date: Mon, 10 Jul 2023 20:00:28 +0200 Subject: [PATCH 6/6] fix: handling playerPed & weaponHash variable --- [core]/es_extended/server/classes/player.lua | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/server/classes/player.lua b/[core]/es_extended/server/classes/player.lua index 10fd67a1..62c12cf1 100644 --- a/[core]/es_extended/server/classes/player.lua +++ b/[core]/es_extended/server/classes/player.lua @@ -460,9 +460,11 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, end function self.removeWeapon(weaponName) - local weaponLabel = nil - local weaponHash = joaat(weaponName) - local playerPed = GetPlayerPed(self.source) + local weaponLabel, playerPed = nil, GetPlayerPed(self.source) + + if not playerPed then + return print("[^1ERROR^7] xPlayer.removeWeapon ^5invalid^7 player ped!") + end for k, v in ipairs(self.loadout) do if v.name == weaponName then @@ -472,6 +474,8 @@ function CreateExtendedPlayer(playerId, identifier, group, accounts, inventory, self.removeWeaponComponent(weaponName, v2) end + local weaponHash = joaat(v.name) + RemoveWeaponFromPed(playerPed, weaponHash) SetPedAmmo(playerPed, weaponHash, 0)