ProgressBar

License: LGPL-3.0 (GNU Lesser General Public License v3.0)

This resource is based on ox_lib which is licensed under LGPL-3.0.

⚠️ This redesign is a paid product. Only verified purchasers are eligible for support and updates. Unverified users will not receive any assistance under any circumstances.


Overview

3 progressbar designs available via the ox:progressbar convar. Each design has both a bar variant and a circle variant.

# config.cfg
set ox:progressbar 0

Designs

Value Name Bar Circle
0 Linear Bar + Circle Ring Standard linear bar Smooth circle ring
1 Diagonal Loading Diagonal striped bar Diagonal striped ring
2 Dot Progress Animated dot bar Animated dot ring

Design 0 — Linear Bar + Circle Ring

Progressbar 0
Progress Circle 0

Design 1 — Diagonal Loading

Progressbar 1
Progress Circle 1

Design 2 — Dot Progress

Progressbar 2
Progress Circle 2


Usage

lib.progressBar(data)

Displays a linear progress bar.

lib.progressBar({
    duration = 5000,
    label = 'Processing...',
    useWhileDead = false,
    canCancel = true,
    disable = {
        car = true,
        move = true,
        combat = true,
    },
    anim = {
        dict = 'anim@amb@nightclub@mini@drinking@drinking_shots@ped_a@normal',
        clip = 'bottle_drink_drink_shots_bottle_a',
    },
})

lib.progressCircle(data)

Displays a circular progress indicator.

lib.progressCircle({
    duration = 3000,
    label = 'Repairing...',
    canCancel = true,
    disable = {
        move = true,
    },
})

Parameters

Field Type Default Description
duration number Duration in milliseconds (required)
label string? nil Display text
position 'middle' | 'bottom' 'middle' Screen position
useWhileDead boolean? false Allow while dead
allowRagdoll boolean? false Allow while ragdolled
allowCuffed boolean? false Allow while handcuffed
allowFalling boolean? false Allow while falling
allowSwimming boolean? false Allow while swimming
canCancel boolean? false Allow cancel with Backspace

disable

Field Type Description
move boolean? Disable player movement
sprint boolean? Disable sprinting
car boolean? Disable vehicle entry
combat boolean? Disable combat actions
mouse boolean? Disable mouse look

anim

Field Type Description
dict string? Animation dictionary
clip string Animation clip name
flag number? Animation flag
blendIn number? Blend in speed
blendOut number? Blend out speed
scenario string? Scenario name (alternative to dict/clip)

prop

Field Type Description
model string | number Prop model name/hash
bone number? Bone index to attach to
pos vector3 Position offset
rot vector3 Rotation offset

Return Value

Type Description
boolean true if completed, false if cancelled

Utility Functions

lib.progressActive()

Returns whether a progress bar/circle is currently active.

local isActive = lib.progressActive() -- boolean

lib.cancelProgress()

Cancels the active progress if canCancel was set to true.

lib.cancelProgress()

Examples

Fishing with cancel

if lib.progressCircle({
    duration = 8000,
    label = 'Fishing...',
    canCancel = true,
    disable = { move = true, combat = true },
}) then
    -- Caught a fish
else
    -- Cancelled
end

Vehicle Repair

if lib.progressBar({
    duration = 10000,
    label = 'Repairing Vehicle...',
    canCancel = false,
    disable = { move = true, car = true, combat = true },
    anim = {
        dict = 'mini@repair',
        clip = 'fixing_a_player',
    },
}) then
    -- Repair complete
end

Last updated: 2026-02-18

Last updated 1 month ago