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
 |