Main/resources/[qb]/qb-minigames/client/quiz.lua

41 lines
890 B
Lua
Raw Normal View History

2025-06-07 08:51:21 +02:00
local quiz
local required = 0
RegisterNUICallback('exitQuiz', function(_, cb)
if not quiz then return cb('ok') end
SetNuiFocus(false, false)
quiz:resolve(false)
quiz = nil
required = 0
cb('ok')
end)
RegisterNUICallback('quitQuiz', function(data, cb)
if not quiz then return cb('ok') end
if data.score >= required then
quiz:resolve(true)
else
quiz:resolve(false)
end
SetNuiFocus(false, false)
quiz = nil
required = 0
cb('ok')
end)
local function Quiz(questions, correctRequired, timer)
for i, question in ipairs(questions) do
question.numb = i
end
required = correctRequired
quiz = promise.new()
SetNuiFocus(true, true)
SendNUIMessage({
action = 'startQuiz',
questions = questions,
timer = timer
})
return Citizen.Await(quiz)
end
exports('Quiz', Quiz)