Added dialogue system initial upload. Some modifications needed but good default. Standardized input and output for progressbar. Accepts ox and qb (progressbar)
94 lines
3.2 KiB
Lua
94 lines
3.2 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
|
|
|
|
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
|
|
}
|
|
}
|
|
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)
|