2026-04-14 15:54:53 +02:00

58 lines
1.4 KiB
Lua

ESX = exports['es_extended']:getSharedObject()
local isNuiOpen = false
-- =====================
-- NUI MANAGEMENT
-- =====================
function OpenCaseUI(caseData)
if isNuiOpen then return end
isNuiOpen = true
SetNuiFocus(true, true)
SendNUIMessage({
type = 'open',
caseId = caseData.caseId,
caseLabel = caseData.caseLabel,
caseEmoji = caseData.caseEmoji,
caseDescription = caseData.caseDescription,
caseImage = caseData.caseImage,
items = caseData.items,
wonItem = caseData.wonItem,
})
end
function CloseCaseUI()
if not isNuiOpen then return end
isNuiOpen = false
SetNuiFocus(false, false)
SendNUIMessage({ type = 'close' })
end
-- =====================
-- NUI CALLBACKS
-- =====================
RegisterNUICallback('close', function(_, cb)
-- Reward claimen bevor UI geschlossen wird
TriggerServerEvent('mercyv-cases:claimReward')
CloseCaseUI()
cb('ok')
end)
-- =====================
-- SERVER EVENT HANDLERS
-- =====================
RegisterNetEvent('mercyv-cases:openUI')
AddEventHandler('mercyv-cases:openUI', function(caseData)
OpenCaseUI(caseData)
end)
RegisterNetEvent('mercyv-cases:notify')
AddEventHandler('mercyv-cases:notify', function(message, notifType)
TriggerEvent('hex_4_hud:notify', 'Cases', message, notifType or 'info', 3000)
end)