local QBCore = exports['qb-core']:GetCoreObject() -- Debug Print Funktion local function Debug(msg) print("^2[Shisha Debug] ^7" .. msg) end -- Function to check if player has an item local function HasItem(source, itemName, amount) local items = exports["tgiann-inventory"]:GetPlayerItems(source) if not items then return false end local count = 0 for _, item in pairs(items) do if item.name == itemName then count = count + item.count if count >= amount then return true end end end return false end -- Event for client to check if player has an item RegisterNetEvent('shisha-script:checkItem', function(itemName, amount, callbackEvent) local src = source local hasItem = HasItem(src, itemName, amount) TriggerClientEvent(callbackEvent, src, hasItem) end) RegisterNetEvent('shisha-script:consumeTobacco') AddEventHandler('shisha-script:consumeTobacco', function(requirements) Debug("Tabak-Verbrauch-Event ausgelöst") local src = source local Player = QBCore.Functions.GetPlayer(src) if Player then -- Überprüfe nochmal die Zutaten local hasAllItems = true for _, requirement in ipairs(requirements) do if not HasItem(src, requirement.item, requirement.amount) then hasAllItems = false break end end if hasAllItems then Debug("Spieler hat alle benötigten Items") -- Entferne die benötigten Items for _, requirement in ipairs(requirements) do exports["tgiann-inventory"]:RemoveItem(src, requirement.item, requirement.amount) TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove") end TriggerClientEvent('QBCore:Notify', src, "Du hast die Shisha vorbereitet!", "success") else Debug("Spieler hat nicht alle benötigten Items") TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error") end end end)