DRS Progressbar

v1.6.3 drs_progressbar Grátis
Ver na loja

Barra e anel de progresso modernos, com animações, props nas mãos, bloqueio de controlos e uma tecla de cancelar que o jogador pode mudar. Tem a mesma API do progressbar do QBCore e do progressBar/progressCircle do ox_lib, por isso troca-se sem mexer nos scripts.

#Requisitos

Nada obrigatório.

#Instalação

  1. Coloca drs_progressbar em resources.
  2. Adiciona ensure drs_progressbar ao server.cfg.
  3. Escolhe o estilo (bar ou circle) e as cores em config.lua e testa com /progresstest.

#Usar no QBCore

Em qb-core/client/functions.lua, troca as duas primeiras linhas de QBCore.Functions.Progressbar por:

qb-core/client/functions.lua
    local pb = GetResourceState('drs_progressbar') == 'started' and 'drs_progressbar' or 'progressbar'
    if GetResourceState(pb) ~= 'started' then error('progressbar needs to be started in order for QBCore.Functions.Progressbar to work') end
    exports[pb]:Progress({

#Usar no ox_lib

Os scripts que chamam exports.drs_progressbar:progressBar(...) e progressCircle(...) recebem os mesmos parâmetros do ox_lib (duration, label, canCancel, disable, anim, prop).

#Tecla de cancelar

Por defeito é o X. Cada jogador pode mudar em Definições → Teclas → FiveM, e a barra mostra a tecla que ele tem.

#Para programadores

cliente (estilo ox_lib)
if exports.drs_progressbar:Start({
    duration = 5000, label = 'A reparar', style = 'circle', canCancel = true,
    disable = { move = true, car = true, combat = true },
    anim = { dict = 'mini@repair', clip = 'fixing_a_ped' },          -- ou { scenario = 'PROP_HUMAN_BUM_BIN' }
    prop = { model = 'prop_tool_wrench', bone = 57005, pos = vec3(0.1, 0.0, 0.0), rot = vec3(0.0, 0.0, 0.0) },
}) then
    -- acabou
end
cliente (estilo QBCore)
exports.drs_progressbar:Progress({ name = 'fix', duration = 5000, label = 'A reparar', canCancel = true,
    controlDisables = { disableMovement = true }, animation = { animDict = 'mini@repair', anim = 'fixing_a_ped' } },
    function(cancelled) end)

exports.drs_progressbar:IsBusy() e exports.drs_progressbar:Cancel() também estão disponíveis.

#Configuração completa

config.lua
-- DRS Progressbar — configuração / configuration

Config = {}

Config.Locale = 'pt'              -- 'pt' | 'en'

Config.Style = 'bar'              -- 'bar' (barra em baixo) | 'circle' (anel ao centro); cada chamada pode escolher / each call can override
Config.Accent = '#7c5cff'         -- cor principal / main colour
Config.Accent2 = '#22d3ee'        -- cor do fim do gradiente / gradient end colour
Config.ShowPercent = true
Config.Scale = 1.0
Config.Font = 'Plus Jakarta Sans'

-- Tecla para cancelar (o jogador pode mudar em Definições > Teclas > FiveM)
-- Cancel key (players can change it in Settings > Key Bindings > FiveM)
Config.CancelKey = 'X'

-- Comando de demonstração (só no próprio cliente). false para desligar.
-- Demo command (client only). false to turn it off.
Config.TestCommand = 'progresstest'