/progressbar

Dependency For QB-Core

Primary LanguageLua

Progressbar

Dependency for creating progressbars in QB-Core.

Usage

QB-Core Functions

Client

  • QBCore.Functions.Progressbar(name: string, label: string, duration: number, useWhileDead: boolean, canCancel: boolean, disableControls: table, animation: table, prop: table, propTwo: table, onFinish: function, onCancel: function)

    Create a new progressbar from the built in qb-core functions.
    Example:

    QBCore.Functions.Progressbar("random_task", "Doing something", 5000, false, true, {
       disableMovement = false,
       disableCarMovement = false,
       disableMouse = false,
       disableCombat = true,
    }, {
       animDict = "mp_suicide",
       anim = "pill",
       flags = 49,
    }, {}, {}, function()
       -- Done
    end, function()
       -- Cancel
    end)

Exports

Client

  • Progress(data: string, handler: function)

    Creates a new progress bar directly from the export, always use the built in qb-core function if possible.
    Example:

    exports['progressbar']:Progress({
       name = "random_task",
       duration = 5000,
       label = "Doing something",
       useWhileDead = false,
       canCancel = true,
       controlDisables = {
           disableMovement = false,
           disableCarMovement = false,
           disableMouse = false,
           disableCombat = true,
       },
       animation = {
           animDict = "mp_suicide",
           anim = "pill",
           flags = 49,
       },
       prop = {},
       propTwo = {}
    }, function(cancelled)
       if not cancelled then
           -- finished
       else
           -- cancelled
       end
    end)

    Props Example:

    exports['progressbar']:Progress({
       name = "random_task",
       duration = 5000,
       label = "Doing something",
       useWhileDead = false,
       canCancel = true,
       controlDisables = {
           disableMovement = false,
           disableCarMovement = false,
           disableMouse = false,
           disableCombat = true,
       },
       animation = {
           animDict = "missheistdockssetup1clipboard@base",
           anim = "pill",
           flags = 49,
       },
       prop = {
         model = 'prop_notepad_01',
         bone = 18905,
         coords = vec3(0.1, 0.02, 0.05),
         rotation = vec3(10.0, 0.0, 0.0),
       },
       propTwo = {
         model = 'prop_pencil_01',
         bone = 58866,
         coords = vec3(0.11, -0.02, 0.001),
         rotation = vec3(-120.0, 0.0, 0.0),
       }
    }, function(cancelled)
       if not cancelled then
           -- finished
       else
           -- cancelled
       end
    end)
    • isDoingSomething()

      Returns a boolean (true/false) depending on if a progressbar is present.
      Example:

      local busy = exports["progressbar"]:isDoingSomething()
    • ProgressWithStartEvent(data: table, start: function, finish: function)

      Works like a normal progressbar, the data parameter should be the same as the data passed into the Progress export above.
      The start function gets triggered upon the start of the progressbar.
      The finish handler is the same as the handler parameter in the Progress export above.

    • ProgressWithTickEvent(data: table, tick: function, finish: function)

      Works like a normal progressbar, the data parameter should be the same as the data passed into the Progress export above.
      The tick function gets triggered every frame while the progressbar is active.
      The finish handler is the same as the handler parameter in the Progress export above.

    • ProgressWithTickEvent(data: table, start: function, tick: function, finish: function)

      Works like a normal progressbar, the data parameter should be the same as the data passed into the Progress export above.
      The start function gets triggered upon the start of the progressbar.
      The tick function gets triggered every frame while the progressbar is active.
      The finish handler is the same as the handler parameter in the Progress export above.