112 lines
3.6 KiB
Lua
112 lines
3.6 KiB
Lua
-- if BridgeClientConfig.ProgressBar ~= "ox" then return end
|
|
-- Progressbar = {}
|
|
-- local _progBarType = BridgeClientConfig.ProgressBarStyle or "bar"
|
|
|
|
-- Progressbar.StartProgressBar = function(time, label, whiledead, cancancel, disable, animTable, successAction, canceledAction)
|
|
-- local runTime = time or 10000
|
|
-- local textLabel = label or "Doing something"
|
|
-- local deadBool = whiledead or false
|
|
-- local cancelBool = cancancel or false
|
|
-- local disableKeys = disable or { move = true, sprint = true, car = true, combat = true, }
|
|
-- local anim = animTable or nil
|
|
-- local success = successAction or function() Prints.Debug("Success") end
|
|
-- local canceled = canceledAction or function() Prints.Debug("Cancelled") end
|
|
-- if _progBarType == "bar" then
|
|
-- if exports.ox_lib:progressBar({
|
|
-- duration = runTime,
|
|
-- label = textLabel,
|
|
-- useWhileDead = deadBool,
|
|
-- canCancel = cancelBool,
|
|
-- disable = disableKeys,
|
|
-- anim = anim,
|
|
-- }) then success() else canceled() end
|
|
-- elseif _progBarType == "circle" then
|
|
-- if exports.ox_lib:progressCircle({
|
|
-- duration = runTime,
|
|
-- label = textLabel,
|
|
-- position = 'bottom',
|
|
-- useWhileDead = deadBool,
|
|
-- canCancel = cancelBool,
|
|
-- disable = disableKeys,
|
|
-- anim = anim,
|
|
-- }) then success() else canceled() end
|
|
-- end
|
|
-- end
|
|
|
|
-- Progressbar.IsProgressBarActive = function()
|
|
-- return exports.ox_lib:progressActive()
|
|
-- end
|
|
|
|
|
|
if GetResourceState('ox_lib') ~= 'started' or (BridgeClientConfig.ProgressBarSystem ~= "ox" and BridgeClientConfig.InputSystem ~= "auto") then return end
|
|
ProgressBar = ProgressBar or {}
|
|
|
|
local function convertFromQB(options)
|
|
if not options then return options end
|
|
local prop1 = options.prop or {}
|
|
local prop2 = options.propTwo or {}
|
|
local props = {
|
|
{
|
|
model = prop1.model,
|
|
bone = prop1.bone,
|
|
pos = prop1.coords,
|
|
rot = prop1.rotation,
|
|
},
|
|
{
|
|
model = prop2.model,
|
|
bone = prop2.bone,
|
|
pos = prop2.coords,
|
|
rot = prop2.rotation,
|
|
}
|
|
}
|
|
|
|
|
|
return {
|
|
duration = options.duration,
|
|
label = options.label,
|
|
position = 'bottom',
|
|
useWhileDead = options.useWhileDead,
|
|
canCancel = options.canCancel,
|
|
disable = {
|
|
move = options.controlDisables?.disableMovement,
|
|
car = options.controlDisables?.disableCarMovement,
|
|
combat = options.controlDisables?.disableCombat,
|
|
mouse = options.controlDisables?.disableMouse
|
|
},
|
|
anim = {
|
|
dict = options.animation?.animDict,
|
|
clip = options.animation?.anim
|
|
},
|
|
prop = props,
|
|
}
|
|
end
|
|
|
|
function ProgressBar.Open(options, cb, isQBInput)
|
|
if isQBInput then
|
|
options = convertFromQB(options)
|
|
end
|
|
|
|
local style = options.style or 'bar'
|
|
local success = style == 'circle' and exports.ox_lib:progressCircle(options) or exports.ox_lib:progressBar(options)
|
|
|
|
if cb then cb(not success) end
|
|
return success
|
|
end
|
|
|
|
RegisterCommand("progressbar", function()
|
|
ProgressBar.Open({
|
|
duration = 5000,
|
|
label = "Searching",
|
|
disable = {
|
|
move = true,
|
|
combat = true
|
|
},
|
|
anim = {
|
|
dict = "anim@amb@clubhouse@tutorial@bkr_tut_ig3@",
|
|
clip = "machinic_loop_mechandplayer"
|
|
}
|
|
}, function(cancelled)
|
|
print(cancelled and "Cancelled" or "Complete")
|
|
end)
|
|
end)
|