106 lines
		
	
	
		
			No EOL
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			No EOL
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| ---@diagnostic disable: duplicate-set-field
 | |
| local resourceName = "lation_ui"
 | |
| local configValue = BridgeClientConfig.ProgressBarSystem
 | |
| if (configValue == "auto" and GetResourceState(resourceName) ~= "started") or (configValue ~= "auto" and configValue ~= resourceName) then return end
 | |
| 
 | |
| ProgressBar = ProgressBar or {}
 | |
| 
 | |
| ---This function converts a QB progress bar options table to an lation progress bar options table.
 | |
| ---@param options table
 | |
| ---@return table
 | |
| 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,
 | |
|         description = options?.description,
 | |
|         icon = options?.icon,
 | |
|         iconColor = options?.iconColor,
 | |
|         iconAnimation = options?.iconAnimation,
 | |
|         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,
 | |
|             flag = options.animation?.flags or 49,
 | |
|         },
 | |
|         prop = props,
 | |
|     }
 | |
| end
 | |
| 
 | |
| ---This function converts a ox progress bar options table to an lation progress bar options table.
 | |
| ---@param options table
 | |
| ---@return table
 | |
| local function convertFromOx(options)
 | |
|     if not options then return options end
 | |
|     local prop1 = options.prop or {}
 | |
|     local prop2 = options.propTwo or {}
 | |
|     return {
 | |
|         duration = options.duration,
 | |
|         label = options.label,
 | |
|         description = options?.description,
 | |
|         icon = options?.icon,
 | |
|         iconColor = options?.iconColor,
 | |
|         iconAnimation = options?.iconAnimation,
 | |
|         useWhileDead = options.useWhileDead,
 | |
|         canCancel = options.canCancel,
 | |
|         disable = options.disable,
 | |
|         anim = options.anim,
 | |
|         prop = {
 | |
|             {
 | |
|                 model = prop1?.model,
 | |
|                 bone = prop1?.bone,
 | |
|                 pos = prop1?.coords,
 | |
|                 rot = prop1?.rotation,
 | |
|             },
 | |
|             {
 | |
|                 model = prop2?.model,
 | |
|                 bone = prop2?.bone,
 | |
|                 pos = prop2?.coords,
 | |
|                 rot = prop2?.rotation,
 | |
|             }
 | |
|         },
 | |
|     }
 | |
| end
 | |
| 
 | |
| ---This function opens a progress bar.
 | |
| ---@param options table
 | |
| ---@param cb any
 | |
| ---@param isQBInput boolean||optional
 | |
| ---@return boolean
 | |
| function ProgressBar.Open(options, cb, isQBInput)
 | |
|     if isQBInput then
 | |
|         options = convertFromQB(options)
 | |
|     else
 | |
|         options = convertFromOx(options)
 | |
|     end
 | |
| 
 | |
|     local success = exports.lation_ui:progressBar(options)
 | |
| 
 | |
|     if cb then cb(not success) end
 | |
|     return success
 | |
| end
 | |
| 
 | |
| return ProgressBar | 
