122 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local bussy = false
 | |
| local lang = langs[config.lang]
 | |
| 
 | |
| local lumihud = GetResourceState("tgiann-lumihud") ~= "missing"
 | |
| local tgiannProgressbar = GetResourceState("tgiann-progressbar") ~= "missing"
 | |
| 
 | |
| tgiCore.Progressbar = function(name, label, duration, useWhileDead, canCancel, disableControls, animation, prop, propTwo, onFinish, onCancel)
 | |
|     if bussy then
 | |
|         tgiCore.notif(lang.alreadyError, "error")
 | |
|         if onCancel then onCancel() end
 | |
|         return false
 | |
|     end
 | |
| 
 | |
|     bussy = true
 | |
| 
 | |
|     if lumihud then
 | |
|         local success = exports['tgiann-lumihud']:Progress({
 | |
|             name = name:lower(),
 | |
|             duration = duration,
 | |
|             label = label,
 | |
|             useWhileDead = useWhileDead,
 | |
|             canCancel = canCancel,
 | |
|             controlDisables = disableControls,
 | |
|             animation = animation and animation or {},
 | |
|             prop = prop and prop or {},
 | |
|             propTwo = propTwo and propTwo or {},
 | |
|         })
 | |
|         bussy = false
 | |
|         if success then
 | |
|             if onFinish then onFinish() end
 | |
|         else
 | |
|             if onCancel then onCancel() end
 | |
|         end
 | |
|         return success
 | |
|     elseif tgiannProgressbar then
 | |
|         local p = promise.new()
 | |
|         exports['tgiann-progressbar']:Progress({
 | |
|             name = name:lower(),
 | |
|             duration = duration,
 | |
|             label = label,
 | |
|             useWhileDead = useWhileDead,
 | |
|             canCancel = canCancel,
 | |
|             controlDisables = disableControls,
 | |
|             animation = animation and animation or {},
 | |
|             prop = prop and prop or {},
 | |
|             propTwo = propTwo and propTwo or {},
 | |
|         }, function(cancelled)
 | |
|             if not cancelled then
 | |
|                 p:resolve(true)
 | |
|             else
 | |
|                 p:resolve(false)
 | |
|             end
 | |
|         end)
 | |
|         local success = Citizen.Await(p)
 | |
|         bussy = false
 | |
|         if success then
 | |
|             if onFinish then onFinish() end
 | |
|         else
 | |
|             if onCancel then onCancel() end
 | |
|         end
 | |
|         return success
 | |
|     elseif config.framework == "qb" and not config.qbx then -- QB Framework
 | |
|         local p = promise.new()
 | |
|         tgiCore.core.Functions.Progressbar(
 | |
|             name:lower(),
 | |
|             label,
 | |
|             duration,
 | |
|             useWhileDead,
 | |
|             canCancel,
 | |
|             disableControls,
 | |
|             animation or {},
 | |
|             prop or {},
 | |
|             propTwo or {},
 | |
|             function()
 | |
|                 p:resolve(true)
 | |
|             end,
 | |
|             function()
 | |
|                 p:resolve(false)
 | |
|             end)
 | |
| 
 | |
|         local success = Citizen.Await(p)
 | |
| 
 | |
|         bussy = false
 | |
|         if success then
 | |
|             if onFinish then onFinish() end
 | |
|         else
 | |
|             if onCancel then onCancel() end
 | |
|         end
 | |
|         return success
 | |
|     else
 | |
|         local success = lib.progressBar({
 | |
|             duration = duration,
 | |
|             label = label,
 | |
|             useWhileDead = useWhileDead,
 | |
|             canCancel = canCancel,
 | |
|             disable = {
 | |
|                 car = disableControls.disableCarMovement,
 | |
|                 move = disableControls.disableMovement,
 | |
|                 combat = disableControls.disableCombat,
 | |
|                 mouse = disableControls.disableMouse,
 | |
|             },
 | |
|             anim = animation and {
 | |
|                 dict = animation.animDict,
 | |
|                 clip = animation.anim,
 | |
|                 flag = animation.flags
 | |
|             },
 | |
|             prop = prop and {
 | |
|                 model = prop.model,
 | |
|                 pos = prop.coords,
 | |
|                 rot = prop.rotation,
 | |
|                 bone = prop.bone
 | |
|             },
 | |
|         })
 | |
|         bussy = false
 | |
|         if success then
 | |
|             if onFinish then onFinish() end
 | |
|         else
 | |
|             if onCancel then onCancel() end
 | |
|         end
 | |
|         return success
 | |
|     end
 | |
| end
 | 
