forked from Simnation/Main
neue version
This commit is contained in:
parent
9fecb76a14
commit
616ce8e4f6
4 changed files with 158 additions and 230 deletions
|
@ -1,68 +1,58 @@
|
|||
local QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
-- Debug Print Function
|
||||
-- Debug-Funktion
|
||||
local function Debug(msg)
|
||||
print("^2[Grill Debug] ^7" .. msg)
|
||||
end
|
||||
|
||||
RegisterNetEvent('grill-script:giveFood')
|
||||
AddEventHandler('grill-script:giveFood', function(itemName, requirements)
|
||||
Debug("Give food event triggered")
|
||||
-- Event zum Geben des gegrillten Essens
|
||||
RegisterNetEvent('nordi_bbq:server:GiveGrilledFood', function(itemName, requirements)
|
||||
local src = source
|
||||
local Player = QBCore.Functions.GetPlayer(src)
|
||||
|
||||
|
||||
if not Player then
|
||||
Debug("ERROR: Player not found")
|
||||
Debug("Spieler nicht gefunden")
|
||||
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
|
||||
|
||||
-- Überprüfe, ob das Item in den erlaubten Rezepten ist
|
||||
local validRecipe = false
|
||||
for _, recipe in pairs(Config.GrillRecipes) do
|
||||
if recipe.item == itemName then
|
||||
validRecipe = 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)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if hasAllItems then
|
||||
Debug("Player has all required items")
|
||||
-- Remove required items
|
||||
for _, requirement in ipairs(requirements) do
|
||||
Player.Functions.RemoveItem(requirement.item, requirement.amount)
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove")
|
||||
end
|
||||
|
||||
-- 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
|
||||
end
|
||||
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[itemName], "add")
|
||||
TriggerClientEvent('QBCore:Notify', src, "Du hast " .. itemLabel .. " gegrillt!", "success")
|
||||
else
|
||||
Debug("Player missing required items")
|
||||
TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error")
|
||||
end
|
||||
else
|
||||
Debug("Invalid food item requested: " .. itemName)
|
||||
|
||||
if not validRecipe then
|
||||
Debug("Ungültiges Rezept: " .. itemName)
|
||||
TriggerClientEvent('QBCore:Notify', src, "Fehler beim Grillen!", "error")
|
||||
return
|
||||
end
|
||||
|
||||
-- Überprüfe Zutaten
|
||||
local hasAllItems = true
|
||||
for _, requirement in pairs(requirements) do
|
||||
if not Player.Functions.HasItem(requirement.item, requirement.amount) then
|
||||
hasAllItems = false
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if hasAllItems then
|
||||
-- Entferne Zutaten
|
||||
for _, requirement in pairs(requirements) do
|
||||
Player.Functions.RemoveItem(requirement.item, requirement.amount)
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove")
|
||||
end
|
||||
|
||||
-- Gib das fertige Essen
|
||||
Player.Functions.AddItem(itemName, 1)
|
||||
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[itemName], "add")
|
||||
|
||||
local itemLabel = QBCore.Shared.Items[itemName] and QBCore.Shared.Items[itemName].label or itemName
|
||||
TriggerClientEvent('QBCore:Notify', src, "Du hast " .. itemLabel .. " gegrillt!", "success")
|
||||
else
|
||||
TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error")
|
||||
end
|
||||
end)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue