local QBCore = exports['qb-core']:GetCoreObject() -- QB-Target für die mit CodeWalker platzierten Props CreateThread(function() for job, data in pairs(Config.TipBoxes) do exports['qb-target']:AddTargetModel(data.propModel, { options = { { type = "client", event = "tips:collectTips", icon = "fas fa-hand-holding-usd", label = data.collectLabel, jobData = { job = job }, -- Geändert zu jobData canInteract = function() return QBCore.Functions.GetPlayerData().job.name == job end, }, { type = "client", event = "tips:giveTip", icon = "fas fa-coins", label = data.tipLabel, jobData = { job = job }, -- Geändert zu jobData canInteract = function() return QBCore.Functions.GetPlayerData().job.name ~= job end, } }, distance = 2.5 }) end end) RegisterNetEvent('tips:giveTip') AddEventHandler('tips:giveTip', function(data) if not data or not data.jobData then return end local job = data.jobData.job -- Geändert zu jobData.job local jobData = Config.TipBoxes[job] local input = exports['qb-input']:ShowInput({ header = "Trinkgeld geben", submitText = "Bestätigen", inputs = { { text = "Betrag ($" .. jobData.minTip .. " - $" .. jobData.maxTip .. ")", name = "amount", type = "number", isRequired = true } } }) if input then local amount = tonumber(input.amount) if amount and amount >= jobData.minTip and amount <= jobData.maxTip then TriggerServerEvent('tips:giveTipServer', job, amount) else QBCore.Functions.Notify('Ungültiger Betrag! Bitte zwischen $' .. jobData.minTip .. ' und $' .. jobData.maxTip .. ' eingeben.', 'error') end end end) RegisterNetEvent('tips:collectTips') AddEventHandler('tips:collectTips', function(data) if data and data.jobData then -- Geändert zu jobData TriggerServerEvent('tips:collectTipsServer', data.jobData) end end)