1
0
Fork 0
forked from Simnation/Main
Main/resources/[inventory]/nordi_bbq/server.lua

69 lines
2.4 KiB
Lua
Raw Normal View History

2025-06-18 02:30:02 +02:00
local QBCore = exports['qb-core']:GetCoreObject()
-- Debug Print Function
local function Debug(msg)
2025-06-18 05:39:08 +02:00
print("^2[Grill Debug] ^7" .. msg)
2025-06-18 02:30:02 +02:00
end
2025-06-18 05:39:08 +02:00
RegisterNetEvent('grill-script:giveFood')
AddEventHandler('grill-script:giveFood', function(itemName, requirements)
Debug("Give food event triggered")
2025-06-18 02:30:02 +02:00
local src = source
local Player = QBCore.Functions.GetPlayer(src)
2025-06-18 05:39:08 +02:00
if not Player then
Debug("ERROR: Player not found")
return
end
-- Check if the item is in the allowed grill options
local isValidItem = false
for _, food in ipairs(Config.GrillOptions) do
if food.item == itemName then
isValidItem = true
break
end
end
if isValidItem then
Debug("Valid food item requested: " .. itemName)
-- Double-check ingredients
local hasAllItems = true
for _, requirement in ipairs(requirements) do
if not Player.Functions.HasItem(requirement.item, requirement.amount) then
hasAllItems = false
Debug("Player missing item: " .. requirement.item)
2025-06-18 02:30:02 +02:00
break
end
end
2025-06-18 05:39:08 +02:00
if hasAllItems then
Debug("Player has all required items")
-- Remove required items
2025-06-18 02:30:02 +02:00
for _, requirement in ipairs(requirements) do
2025-06-18 05:39:08 +02:00
Player.Functions.RemoveItem(requirement.item, requirement.amount)
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove")
2025-06-18 02:30:02 +02:00
end
2025-06-18 05:39:08 +02:00
-- Give the finished food
Player.Functions.AddItem(itemName, 1)
-- Safely get the item label
local itemLabel = itemName
if QBCore.Shared.Items[itemName] and QBCore.Shared.Items[itemName].label then
itemLabel = QBCore.Shared.Items[itemName].label
2025-06-18 02:30:02 +02:00
end
2025-06-18 05:39:08 +02:00
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[itemName], "add")
TriggerClientEvent('QBCore:Notify', src, "Du hast " .. itemLabel .. " gegrillt!", "success")
2025-06-18 02:30:02 +02:00
else
2025-06-18 05:39:08 +02:00
Debug("Player missing required items")
TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error")
2025-06-18 02:30:02 +02:00
end
2025-06-18 05:39:08 +02:00
else
Debug("Invalid food item requested: " .. itemName)
TriggerClientEvent('QBCore:Notify', src, "Fehler beim Grillen!", "error")
2025-06-18 02:30:02 +02:00
end
end)
2025-06-18 05:39:08 +02:00