From 774485ca89e5351f626d44da987f835dee862794 Mon Sep 17 00:00:00 2001 From: Joel Date: Sat, 7 Sep 2024 11:23:57 -0700 Subject: [PATCH 1/2] fix: prevent reload if weapon switched to incorrect ammo --- client/main.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/client/main.lua b/client/main.lua index 8b94dc6..04545c6 100644 --- a/client/main.lua +++ b/client/main.lua @@ -66,7 +66,7 @@ RegisterNetEvent('qb-weapons:client:SetWeaponQuality', function(amount) end end) -RegisterNetEvent('qb-weapons:client:AddAmmo', function(type, amount, itemData) +RegisterNetEvent('qb-weapons:client:AddAmmo', function(ammoType, amount, itemData) local ped = PlayerPedId() local weapon = GetSelectedPedWeapon(ped) @@ -80,7 +80,7 @@ RegisterNetEvent('qb-weapons:client:AddAmmo', function(type, amount, itemData) return end - if QBCore.Shared.Weapons[weapon]['ammotype'] ~= type:upper() then + if QBCore.Shared.Weapons[weapon]['ammotype'] ~= ammoType:upper() then QBCore.Functions.Notify(Lang:t('error.wrong_ammo'), 'error') return end @@ -99,14 +99,18 @@ RegisterNetEvent('qb-weapons:client:AddAmmo', function(type, amount, itemData) disableMouse = false, disableCombat = true, }, {}, {}, {}, function() -- Done - if QBCore.Shared.Weapons[weapon] then - AddAmmoToPed(ped, weapon, amount) - TaskReloadWeapon(ped, false) - TriggerServerEvent('qb-weapons:server:UpdateWeaponAmmo', CurrentWeaponData, total + amount) - TriggerServerEvent('qb-weapons:server:removeWeaponAmmoItem', itemData) - TriggerEvent('qb-inventory:client:ItemBox', QBCore.Shared.Items[itemData.name], 'remove') - TriggerEvent('QBCore:Notify', Lang:t('success.reloaded'), 'success') + weapon = GetSelectedPedWeapon(ped) -- Get weapon at time of completion + + if QBCore.Shared.Weapons[weapon]?.ammotype ~= ammoType then + return QBCore.Functions.Notify(Lang:t('error.wrong_ammo'), 'error') end + + AddAmmoToPed(ped, weapon, amount) + TaskReloadWeapon(ped, false) + TriggerServerEvent('qb-weapons:server:UpdateWeaponAmmo', CurrentWeaponData, total + amount) + TriggerServerEvent('qb-weapons:server:removeWeaponAmmoItem', itemData) + TriggerEvent('qb-inventory:client:ItemBox', QBCore.Shared.Items[itemData.name], 'remove') + TriggerEvent('QBCore:Notify', Lang:t('success.reloaded'), 'success') end, function() QBCore.Functions.Notify(Lang:t('error.canceled'), 'error') end) From 287c1b58268ca19e7d69efc0411038480fc5a2d0 Mon Sep 17 00:00:00 2001 From: Joel Date: Sat, 7 Sep 2024 11:31:30 -0700 Subject: [PATCH 2/2] fix(lint): remove line ending whitespace --- client/main.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/main.lua b/client/main.lua index 04545c6..813ee33 100644 --- a/client/main.lua +++ b/client/main.lua @@ -101,8 +101,8 @@ RegisterNetEvent('qb-weapons:client:AddAmmo', function(ammoType, amount, itemDat }, {}, {}, {}, function() -- Done weapon = GetSelectedPedWeapon(ped) -- Get weapon at time of completion - if QBCore.Shared.Weapons[weapon]?.ammotype ~= ammoType then - return QBCore.Functions.Notify(Lang:t('error.wrong_ammo'), 'error') + if QBCore.Shared.Weapons[weapon]?.ammotype ~= ammoType then + return QBCore.Functions.Notify(Lang:t('error.wrong_ammo'), 'error') end AddAmmoToPed(ped, weapon, amount)