diff --git a/config/server.lua b/config/server.lua index 25e8992..959988b 100644 --- a/config/server.lua +++ b/config/server.lua @@ -43,4 +43,4 @@ return { [`weapon_heavyrifle`] = true, [`weapon_tacticalrifle`] = true, }, -} \ No newline at end of file +} diff --git a/locales/en.json b/locales/en.json index 310fe52..337ff17 100644 --- a/locales/en.json +++ b/locales/en.json @@ -10,6 +10,7 @@ "noweapon": "You don't have a weapon in hand", "noitem": "You don't have an %s with you", "police": "Vangelico Store robbery reported", - "nopolice": "Not Enough Police (%s Required)" + "nopolice": "Not Enough Police (%s Required)", + "reward_dropped": "You dropped some jewels" } } \ No newline at end of file diff --git a/server/main.lua b/server/main.lua index 21f87fb..d94a9a0 100644 --- a/server/main.lua +++ b/server/main.lua @@ -96,7 +96,6 @@ local function fireAlarm() end RegisterNetEvent('qbx_jewelery:server:endcabinet', function() - local player = exports.qbx_core:GetPlayer(source) local playerCoords = GetEntityCoords(GetPlayerPed(source)) local closestVitrine = startedVitrine[source] @@ -109,9 +108,21 @@ RegisterNetEvent('qbx_jewelery:server:endcabinet', function() sharedConfig.vitrines[closestVitrine].isBusy = false startedVitrine[source] = nil + local customDropItems = {} for _ = 1, math.random(config.reward.minAmount, config.reward.maxAmount) do local RandomItem = config.reward.items[math.random(1, #config.reward.items)] - player.Functions.AddItem(RandomItem.name, math.random(RandomItem.min, RandomItem.max)) + local quantity = math.random(RandomItem.min, RandomItem.max) + + if exports.ox_inventory:CanCarryItem(source, RandomItem.name, quantity) then + exports.ox_inventory:AddItem(source, RandomItem.name, quantity) + else + customDropItems[#customDropItems+1] = {RandomItem.name, quantity} + end + end + + if #customDropItems > 0 then + exports.ox_inventory:CustomDrop('jewelery', customDropItems, playerCoords) + exports.qbx_core:Notify(source, locale('notify.reward_dropped'), 'warning') end TriggerClientEvent('qbx_jewelery:client:syncconfig', -1, sharedConfig.vitrines) @@ -139,4 +150,4 @@ end) AddEventHandler('playerJoining', function(source) TriggerClientEvent('qbx_jewelery:client:syncconfig', source, sharedConfig.vitrines) -end) \ No newline at end of file +end)