X3D Progress Bar

Description

A progress bar for any framework. Peach themed, cancelled with ESC, Thai text renders properly, and there is no build step.


Features

  • [+] Players cancel with ESC, and your script gets an onCancel callback
  • [+] Shows the seconds left as a countdown
  • [+] Locks hotkeys while the bar runs, through a state bag and an event
  • [+] Peach or jade theme, following the player's theme at runtime
  • [+] Thai font embedded, so labels are text rather than boxes
  • [+] Small and ready to use: no build step
  • [+] Scripts that call esx_progressbar keep working, no edits needed
  • [+] Does not depend on ESX.PlayerData, so nothing errors while the server boots
  • [+] Works on ESX, standalone or any other framework

What it adds over the stock bar

  • ESC cancels it. The stock bar runs to completion whatever the player does.
  • onCancel fires when they do, alongside the usual onFinish.
  • A countdown shows the seconds left.
  • Hotkeys lock while it runs, through the minigame state bag and an event, so an inventory or HUD can stay out of the way.
  • A Thai font is embedded, so Thai labels are text rather than boxes.
  • It does not read ESX.PlayerData.ped, which the stock bar errors on during boot.

Using it

exports['x3d_progressbar']:Progressbar('Repairing...', 15000, {
    FreezePlayer  = true,
    animation     = { type = 'anim', dict = 'mini@repair', lib = 'fixing_a_ped' },
    onFinish      = function() print('done') end,
    onCancel      = function() print('cancelled') end,
    showCountdown = true,
})

exports['x3d_progressbar']:CancelProgressbar()

Knowing a bar is running

if LocalPlayer.state.minigame then return end   -- e.g. block the inventory key
AddEventHandler('x3d_progressbar:active', function(active) ... end)

Replacing the stock bar

Anything calling exports['esx_progressbar'] keeps working: a twelve-line forwarding shim ships under optional/, so nothing you already run has to change.


Licence

Based on esx_progressbar from the ESX Legacy project, Copyright (C) 2022-2024 ESX-Framework, under the GNU GPL v3. Modifications Copyright (C) 2026 X3D-Developer. The full modification list is in the README inside the download.

Version history

  • 1.1.3 — Released 13/10/2026 00:19
  • 1.1.1 — Released 12/10/2026 10:29
  • 1.0.0 — Released 24/09/2026 08:22
Same category

Related scripts

View all products
Read more

Posts that cover this script