Aller au contenu principal

API y configuración

exports['fr_progressbar']:Start(opts) → id​

Inicia una nueva barra de progreso. Si ya hay una activa, la cancela automáticamente antes de iniciar la nueva.

Opciones​

OpciónTipoRequeridoDescripción
labelstring✅Texto mostrado en la barra
durationnumber✅Duración en milisegundos
iconstring—Nombre de icono o <svg> raw
colorstring—'blue' | 'red' | 'green' | 'yellow' (default: 'blue')
canCancelboolean—El jugador puede pulsar la tecla de cancelación (default: true)
cancelOnMoveboolean—Cancela si el jugador se mueve (default: false)
cancelOnDeathboolean—Cancela al morir (default: Config.CancelOnDeath)
onCompletefunction—Callback al completarse naturalmente
onCancelfunction—Callback al cancelarse por cualquier motivo

Devuelve el id de la barra (string) o nil si duration es <= 0.

local id = exports['fr_progressbar']:Start({
label = 'Buscando en el cuerpo...',
duration = 6000,
icon = 'search',
color = 'blue',
canCancel = true,
cancelOnMove = true,
onComplete = function() print('Completo') end,
onCancel = function() print('Cancelado') end,
})

exports['fr_progressbar']:Stop(id?)​

Para una barra activa programáticamente. Dispara onCancel si la barra existe.

exports['fr_progressbar']:Stop() -- para cualquier barra activa
exports['fr_progressbar']:Stop(id) -- para una barra específica por id

exports['fr_progressbar']:IsActive() → boolean​

Devuelve true si hay una barra activa en ese momento.

if exports['fr_progressbar']:IsActive() then
-- no inicies otra todavía
end

Ejemplos de uso​

Curación (verde, cancela al moverse)​

exports['fr_progressbar']:Start({
label = 'Aplicando vendaje...',
duration = 4000,
icon = 'medical',
color = 'green',
cancelOnMove = true,
onComplete = function()
-- aplicar curación
end,
})

Acción criminal (rojo, cancelable)​

exports['fr_progressbar']:Start({
label = 'Hackeando terminal...',
duration = 12000,
icon = 'lock',
color = 'red',
canCancel = true,
onComplete = function()
-- recompensa
end,
onCancel = function()
-- abortar
end,
})

Desde otro recurso (cross-resource callbacks)​

-- Los callbacks pasados a través de exports se convierten en funcrefs de FiveM.
-- fr_progressbar maneja esto automáticamente con el patrón isCallable().
exports['fr_progressbar']:Start({
label = 'Trabajando...',
duration = 5000,
onComplete = function() TriggerServerEvent('myresource:done') end,
})

Configuración (config.lua)​

ClavePor defectoDescripción
Config.Locale'es'Idioma de la UI: 'en' o 'es'
Config.CancelKey194Código de control FiveM para la tecla de cancelación (Backspace)
Config.CancelKeyLabel'Backspace'Etiqueta legible mostrada en la barra
Config.MoveThreshold1.5Metros que el jugador debe moverse para activar cancelOnMove
Config.CancelOnDeathtrueValor por defecto global; las llamadas individuales pueden sobreescribirlo