69 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
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)
 |