Files
ox_lib/resource/interface/client/skillcheck.lua

48 lines
1.3 KiB
Lua
Raw Normal View History

local skillcheck
local gameCount = 0
local gameDifficulty
local gamePromise
local function resolveSkillCheck(success)
skillcheck:resolve(success)
skillcheck = nil
SetNuiFocus(false, false)
end
function lib.skillCheck(difficulty)
if skillcheck then return end
skillcheck = promise:new()
gameDifficulty = difficulty
SetNuiFocus(true, false)
if type(difficulty) == 'table' then
gameCount = 0
for i = 1, #difficulty do
gamePromise = promise:new()
SendNUIMessage({
action = 'startSkillCheck',
data = difficulty[i]
})
if not Citizen.Await(gamePromise) then
gamePromise = nil
break
end
end
else
SendNUIMessage({
action = 'startSkillCheck',
data = difficulty
})
end
return Citizen.Await(skillcheck)
end
RegisterNUICallback('skillCheckOver', function(data, cb)
cb(1)
if not gamePromise then return resolveSkillCheck(data.success) end
gamePromise:resolve(data.success)
if not data.success then return resolveSkillCheck(data.success) end
gameCount += 1
if gameCount == #gameDifficulty then
resolveSkillCheck(data.success)
end
end)