58 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local QBCore = exports['qb-core']:GetCoreObject()
 | |
| 
 | |
| -- Debug-Funktion
 | |
| local function Debug(msg)
 | |
|     print("^2[Grill Debug] ^7" .. msg)
 | |
| end
 | |
| 
 | |
| -- 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("Spieler nicht gefunden")
 | |
|         return
 | |
|     end
 | |
|     
 | |
|     -- Ü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 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)
 | 
