2022-10-16 00:22:13 +11:00
|
|
|
---@type promise?
|
2022-10-13 14:15:49 +02:00
|
|
|
local skillcheck
|
2022-10-16 00:22:13 +11:00
|
|
|
|
|
|
|
|
---@alias SkillCheckDifficulity 'easy' | 'medium' | 'hard' | { areaSize: number, speedMultiplier: number }
|
|
|
|
|
|
|
|
|
|
---@param difficulty SkillCheckDifficulity | SkillCheckDifficulity[]
|
2023-05-18 15:29:31 +10:00
|
|
|
---@param inputs string[]?
|
2022-10-16 00:22:13 +11:00
|
|
|
---@return boolean?
|
2023-02-12 19:26:09 +01:00
|
|
|
function lib.skillCheck(difficulty, inputs)
|
2022-10-13 14:15:49 +02:00
|
|
|
if skillcheck then return end
|
|
|
|
|
skillcheck = promise:new()
|
2022-10-16 00:22:13 +11:00
|
|
|
|
2023-03-23 05:55:16 +11:00
|
|
|
lib.setNuiFocus(false, true)
|
2022-10-18 17:59:02 +02:00
|
|
|
SendNUIMessage({
|
|
|
|
|
action = 'startSkillCheck',
|
2023-02-12 19:26:09 +01:00
|
|
|
data = {
|
|
|
|
|
difficulty = difficulty,
|
|
|
|
|
inputs = inputs
|
|
|
|
|
}
|
2022-10-18 17:59:02 +02:00
|
|
|
})
|
2022-10-16 00:22:13 +11:00
|
|
|
|
2022-10-13 14:15:49 +02:00
|
|
|
return Citizen.Await(skillcheck)
|
|
|
|
|
end
|
|
|
|
|
|
2022-10-18 17:59:02 +02:00
|
|
|
RegisterNUICallback('skillCheckOver', function(success, cb)
|
2022-10-13 14:15:49 +02:00
|
|
|
cb(1)
|
2023-03-23 05:55:16 +11:00
|
|
|
|
2022-10-18 17:59:02 +02:00
|
|
|
if skillcheck then
|
2023-03-23 05:55:16 +11:00
|
|
|
lib.resetNuiFocus()
|
|
|
|
|
|
2022-10-18 17:59:02 +02:00
|
|
|
skillcheck:resolve(success)
|
|
|
|
|
skillcheck = nil
|
2022-10-15 14:30:10 +02:00
|
|
|
end
|
2022-10-16 00:22:13 +11:00
|
|
|
end)
|