mri-QboxResourcesQbx Smallresources

qbx_smallresources — Manual

Coleção de mini-recursos independentes empacotados em um único resource: consumíveis e drogas, recuo de armas, empurrar veículo, elevadores, controle de cruzeiro, anti-AFK, limpeza de mundo e vários ajustes de HUD e de comportamento do GTA.

O recurso está descontinuado no upstream e será desmembrado em recursos separados em versões futuras. Nenhum código novo será adicionado a ele.


Sumário

  1. Dependências
  2. Instalação
  3. Módulos
  4. Configuração
  5. Comandos
  6. Teclas
  7. Itens utilizáveis
  8. Integrações
  9. Entrypoints para outros recursos
  10. Localização
  11. Estrutura de arquivos

Dependências

RecursoObrigatórioObservação
ox_libSimDeclarado no fxmanifest. Keybinds, zonas, menus, progressBar, locale, lib.loadJson
qbx_coreSimDeclarado no fxmanifest. CreateUseableItem, Notify, GetPermission, statebags de fome/sede/estresse
ox_inventorySim, para o qbx_consumablesO callback consumables:server:usedItem chama exports.ox_inventory:RemoveItem sem verificação de existência
scully_emotemenuSim, para o baseadoO efeito do item joint chama exports.scully_emotemenu:cancelEmote() ao terminar
Recurso de HUDNãoO baseado dispara hud:server:RelieveStress. Sem um HUD que escute, o evento é simplesmente ignorado
Recurso de lockpickNãoOs itens lockpick e advancedlockpick disparam o evento lockpicks:UseLockpick, que precisa ser tratado por outro recurso
Recurso de cintoNãoO qbx_cruise dispara seatbelt:client:ToggleCruise ao ligar e desligar o piloto automático

O fxmanifest carrega todos os */client.lua e */server.lua por glob (**/client.lua), ou seja: todo módulo presente na pasta é carregado. Para desativar um módulo, apague ou renomeie a pasta dele.


Instalação

  1. Copie a pasta qbx_smallresources para resources/.
  2. Adicione ao server.cfg:
    ensure qbx_smallresources
  3. Não há SQL.
  4. Cadastre no seu inventário os itens consumíveis que você for usar (ver Itens utilizáveis). O recurso registra apenas o comportamento dos itens; a definição deles é do ox_inventory.
  5. Apague as pastas dos módulos que você não quer. Como o carregamento é por glob, não existe uma flag de “desligar módulo” no config.
  6. Conflitos — desative equivalentes antigos (qb-smallresources) e qualquer recurso que já faça recuo de arma, empurrar veículo ou desabilitar dispatch. Note também que as teclas padrão de qbx_tackle, qbx_teleports e qbx_vehiclepush são todas E — ver Teclas.

Módulos

MóduloLadoO que faz
qbx_afkServidorExpulsa jogadores parados no mesmo ponto por tempo demais, avisando com antecedência
qbx_consumablesClient + servidorComidas, bebidas, álcool, drogas e lockpicks. Gerencia fome, sede, estresse e efeitos visuais
qbx_crouchClientArquivo inteiramente comentado. O agachar não faz nada na versão atual — o módulo é um esqueleto desativado
qbx_cruiseClientControle de cruzeiro (piloto automático de velocidade) em veículos terrestres
qbx_disableservicesClientDesliga os serviços de dispatch da polícia, bombeiros e ambulância, e trava o nível de procurado
qbx_editorClientComandos do Rockstar Editor (gravar, salvar e descartar clipes)
qbx_entitiesblacklistServidorImpede o spawn de modelos de veículo e ped da blocklist, antes de a entidade existir
qbx_flipvehicleClientDesvira um veículo capotado, com barra de progresso
qbx_hudcomponentsClientEsconde componentes do HUD nativo e desabilita controles
qbx_ignoreClientLimpa o mundo: sem NPCs de polícia, sem sirenes ao longe, sem lixeiros, sem câmera cinemática ociosa
qbx_itempickupClientImpede pegar armas do chão pelo pickup nativo
qbx_noshuffClientImpede a troca automática de assento ao entrar no carro, e dá uma tecla para trocar de propósito
qbx_recoilsClientRecuo de câmera por arma, calibrado por hash
qbx_removeentitiesClientDeleta objetos do mapa em coordenadas fixas
qbx_stunClientAumenta o tempo no chão depois de levar taser (4 a 7 segundos)
qbx_tackleClient + servidorDerruba outro jogador com um carrinho, correndo
qbx_teleportsClientElevadores e passagens: menu de andares em pontos do mapa
qbx_vehiclepushClient + servidorEmpurrar veículo quebrado ou sem combustível, com direção
qbx_vehicleradioClientLiga e desliga o rádio do veículo

Configuração

Cada módulo tem seu próprio config.json ou config.lua dentro da pasta dele. Os módulos qbx_crouch, qbx_cruise, qbx_editor, qbx_stun e qbx_tackle não têm config — o comportamento é fixo no código.

qbx_afk (config.json)

CampoTipoObrigatórioDescrição
timeUntilAFKKicknumberSimSegundos parado até o kick. Os avisos aparecem faltando 15, 10, 5, 2,5 e 1 minuto, e depois aos 30, 20 e 10 segundos
ignoreGroupsForAFKtableSimGrupos de permissão isentos do kick, no formato {"admin": true}. Verificado via exports.qbx_core:GetPermission

A detecção é por posição: se as coordenadas do ped não mudarem entre duas checagens (a cada 1 segundo), o contador corre.

qbx_consumables (config.lua)

CampoTipoObrigatórioDescrição
defaultStressRelief.min / .maxnumberSimFaixa padrão de alívio de estresse, usada quando o consumível não define a sua
consumables.foodtableSimMapa nome do item → definição. Cada entrada registra automaticamente um item usável
consumables.drinktableSimIdem, para bebidas
consumables.alcoholtableSimIdem, para bebidas alcoólicas

Definição de um consumível:

CampoTipoObrigatórioDescrição
min / maxnumberSimFaixa de fome ou sede restaurada. O valor é sorteado entre os dois
stressRelief.min / .maxtableNãoFaixa de estresse aliviado. Valores negativos aumentam o estresse em vez de aliviar — é o caso do coffee, com min = -10
anim.dict / .clip / .flagtableNãoAnimação tocada durante o consumo. Sem ela, usa a animação padrão de comer ou beber
prop.model / .bone / .pos / .rottableNãoProp anexado à mão durante o consumo
alcoholLevelnumberNãoSó em alcohol. Intensidade do efeito de embriaguez

qbx_disableservices (config.lua)

CampoTipoObrigatórioDescrição
maxWantedLevelnumberSimNível máximo de procurado. 0 desativa a estrela por completo
enabledServicestableSimUm booleano por serviço de dispatch, do índice 1 ao 15 (viatura, helicóptero, bombeiros, SWAT, ambulância, gangues, barreira etc.). false desliga o serviço. No padrão, só o [8] PoliceRoadBlock fica ligado

qbx_entitiesblacklist (config.lua)

CampoTipoObrigatórioDescrição
blacklistedtableSimMapa hash do modelotrue, na sintaxe de hash do Lua ([`RHINO`] = true). Aceita veículos e peds

O módulo só age se a convar qbx:bucketlockdownmode for diferente de inactive, e sai silenciosamente se a blocklist estiver vazia. O bloqueio acontece no evento entityCreating, antes de a entidade existir de fato.

O próprio arquivo avisa: para bloquear entidades por região, prefira desabilitar os car generators via ymap — o handler de entityCreating é caro.

qbx_flipvehicle (config.json)

CampoTipoObrigatórioDescrição
flipingTimenumberSimDuração da barra de progresso, em ms
maxDistancenumberSimDistância máxima do veículo, em metros

qbx_hudcomponents (config.lua)

CampoTipoObrigatórioDescrição
disable.hudComponentsarraySimIDs de componentes do HUD nativo a esconder (via SetHudComponentSize em zero)
disable.controlsarraySimIDs de controles desabilitados a cada frame. O padrão desabilita o 37 (roda de armas)
disable.recticleboolSimtrue esconde a mira central quando a câmera não está em primeira pessoa

O código também lê disable.displayAmmo, mas o campo não existe no config padrão — ele só é escrito e lido pelos exports SetDisplayAmmo / GetDisplayAmmo, sem nenhum efeito sobre o HUD.

qbx_ignore (config.lua)

CampoTipoObrigatórioDescrição
disable.idleCameraboolSimDesativa a câmera cinemática que entra sozinha com o jogador parado
disable.ambienceboolSimDesativa sirenes e alarmes de carro distantes
disable.headshotsboolSimtrue impede que headshots matem instantaneamente (SetPedSuffersCriticalHits)
blacklisted.scenarioTypesarraySimCenários de veículo desabilitados (ambulância, bombeiro, viatura, segurança, militar…)
blacklisted.suppressedModelsarraySimModelos que o jogo não pode mais gerar como tráfego ambiente
blacklisted.scenarioGroupsarraySimGrupos de cenário desabilitados (aviões da LSA, Sandy, Grapeseed…)

Independentemente do config, o módulo desliga o scanner da polícia, os caminhões de lixo, os policiais aleatórios e as sirenes distantes, e limpa os geradores de veículo em torno do hospital central, da Mission Row, da Pillbox, da base militar e da praia de nudismo.

qbx_itempickup (config.json)

CampoTipoObrigatórioDescrição
disabledPickupsarraySimNomes de pickup (PICKUP_WEAPON_*) que o jogador não pode mais pegar do chão. O padrão cobre todas as armas do jogo base

Uma lista vazia desliga o módulo.

qbx_noshuff (config.json)

CampoTipoObrigatórioDescrição
shuffleSeatKeystringSimTecla que troca de assento de propósito. Padrão: O

A troca é recusada se o jogador estiver algemado ou de cinto.

qbx_recoils (config.lua)

Tabela hash da arma → força do recuo. Os valores vão de 0.1 a 0.9 nas armas padrão; 0 desativa o recuo daquela arma. O arquivo já traz todas as armas do jogo, com as corpo a corpo, os arremessáveis e os utilitários comentados — descomente a linha para ativar o recuo de uma delas.

O recuo é aplicado empurrando o pitch da câmera enquanto o jogador atira, com curva mais agressiva em primeira pessoa. Não afeta drive-by.

qbx_removeentities (config.json)

CampoTipoObrigatórioDescrição
objectsarraySimObjetos do mapa a apagar. Cada entrada tem coords (array [x, y, z]) e hash (nome do modelo)

A varredura roda a cada 5 segundos e apaga o objeto mais próximo daquele tipo, num raio de 2 metros das coordenadas.

qbx_teleports (config.json)

CampoTipoObrigatórioDescrição
teleportsarray de arraysSimCada elemento é uma passagem (um “elevador”) com seus andares. Passagens com menos de 2 andares são descartadas na inicialização
teleports[][].coordsarraySim[x, y, z] ou [x, y, z, heading]. Com 4 valores, o heading é aplicado na chegada
teleports[][].drawTextstringSimTexto do textUI e título do menu de andares
teleports[][].allowVehicleboolNãotrue permite teleportar dentro do veículo
teleports[][].ignoreGroundboolNãotrue usa o Z exato do config. false (padrão) tenta encaixar o jogador no chão mais próximo

Cada andar vira uma esfera de 2 metros de raio. O jogador entra na esfera, aperta a tecla e escolhe o andar de destino no menu — o andar atual aparece marcado e não é selecionável.

qbx_vehiclepush (config.json)

CampoTipoObrigatórioDescrição
damageNeedednumberSimSaúde máxima do motor para o veículo ser empurrável. Com 1000.0 (padrão), qualquer carro pode ser empurrado
blacklistedClassesarraySimClasses de veículo que não podem ser empurradas. O padrão bloqueia bicicletas, barcos, helicópteros e aviões

Um veículo também fica empurrável quando o statebag fuel dele cai abaixo de 3, independentemente da saúde do motor. O assento do motorista precisa estar vazio.

qbx_vehicleradio (config.json)

CampoTipoObrigatórioDescrição
disableRadioByDefaultboolSimtrue começa com o rádio desligado em todo veículo em que o jogador entrar
toggleCommandstringSimNome do comando que alterna o rádio. Padrão: togglevehradio
toggleKeystringNãoTecla mapeada sobre o comando. Padrão: F9

Comandos

Nenhum comando do recurso é restrito por permissão.

ComandoPermissãoDescrição
/recordQualquer jogadorComeça a gravar no Rockstar Editor
/clipQualquer jogadorPara a gravação
/saveclipQualquer jogadorPara e salva o clipe
/delclipQualquer jogadorPara e descarta o clipe
/editorQualquer jogadorSai da sessão e abre o Rockstar Editor
/togglevehradioQualquer jogadorLiga e desliga o rádio do veículo. Só funciona dentro de um. O nome vem de toggleCommand

Teclas

Tecla padrãoNome do keybindMóduloAção
Etackleqbx_tackleSolte a tecla correndo, perto de outro jogador, para derrubá-lo
Eelevator_interactqbx_teleportsAbre o menu de andares no ponto do elevador. Também mapeado no D-pad direito do controle
E + LSHIFTpush_vehicle_e e push_vehicleqbx_vehiclepushSegure as duas para empurrar o veículo. A e D viram as rodas
Ytoggle_cruise_controlqbx_cruiseLiga o controle de cruzeiro na velocidade atual
OshuffleSeatqbx_noshuffTroca para o próximo assento do veículo
F9(mapeada sobre /togglevehradio)qbx_vehicleradioLiga e desliga o rádio

As três teclas E coexistem porque os contextos são mutuamente exclusivos: correndo a pé perto de um jogador, parado numa esfera de elevador, ou agarrado a um carro com Shift. Ainda assim, todas são remapeáveis pelo jogador em Configurações > Controles > FiveM.

O controle de cruzeiro desliga sozinho ao frear, ao perder mais de 1,5 de velocidade sem estar curvando, ou ao sair do veículo. Ele recusa bicicletas, barcos, helicópteros, aviões e trens.


Itens utilizáveis

Registrados via exports.qbx_core:CreateUseableItem. A definição do item em si (peso, imagem, descrição) pertence ao ox_inventory.

Vindos do config (qbx_consumables/config.lua)

CategoriaItens padrão
Comidasandwich, tosti, twerks_candy, snikkel_candy
Bebidawater_bottle, kurkakola, coffee
Álcoolwhiskey, beer, vodka

Para adicionar um item, basta acrescentar uma entrada na tabela certa — o usável é registrado automaticamente no boot.

Fixos no código (qbx_consumables/server.lua)

ItemEfeito
jointFumar. Alivia estresse a cada 10 segundos, por 6 ciclos, e então cancela o emote via scully_emotemenu
cokebaggyCocaína. Stamina e velocidade de corrida extras, com risco de tropeçar e surtos visuais
crack_baggyCrack. Efeito visual pesado
xtcbaggyEcstasy
oxyOxicodona
methMetanfetamina
lockpickDispara lockpicks:UseLockpick com false (lockpick comum)
advancedlockpickDispara lockpicks:UseLockpick com true (lockpick avançado)

Os dois itens de lockpick só fazem algo se outro recurso tratar o evento lockpicks:UseLockpick.


Integrações

ox_inventory

O qbx_consumables remove o item consumido chamando exports.ox_inventory:RemoveItem no callback consumables:server:usedItem. Os eventos consumables:server:addHunger e addThirst têm um caminho especial para chamadas vindas do ox_inventory: quando o recurso invocador é o ox_inventory, o valor recebido é tratado como absoluto (set) em vez de incremento, para acomodar a bridge QB do inventário.

scully_emotemenu

O baseado (joint) chama exports.scully_emotemenu:cancelEmote() para encerrar a animação de fumar depois de 6 ciclos de alívio de estresse.

HUD

O qbx_consumables grava fome, sede e estresse nos statebags hunger, thirst e stress do jogador — é daí que o HUD deve ler. O baseado também dispara hud:server:RelieveStress a cada ciclo, para HUDs que preferem consumir o evento.

Recurso de cinto de segurança

O qbx_cruise dispara seatbelt:client:ToggleCruise sempre que o controle de cruzeiro liga ou desliga, para que o HUD do cinto acenda o indicador.


Entrypoints para outros recursos

qbx_consumables — servidor

Fome e sede vão de 0 a 100, onde menor significa mais faminto ou mais sedento. Os valores são clampeados nessa faixa.

exports.qbx_smallresources:SetHunger(source, 80)
exports.qbx_smallresources:AddHunger(source, 20)
exports.qbx_smallresources:SetThirst(source, 80)
exports.qbx_smallresources:AddThirst(source, 20)

As versões em camelCase (setHunger, addHunger, setThirst, addThirst) existem e funcionam, mas estão marcadas como deprecated no código.

Os mesmos valores também são acessíveis por evento de rede, a partir do client do próprio jogador:

TriggerServerEvent('consumables:server:setHunger', 80)
TriggerServerEvent('consumables:server:addHunger', 20)
TriggerServerEvent('consumables:server:setThirst', 80)
TriggerServerEvent('consumables:server:addThirst', 20)

qbx_consumables — client

Efeitos visuais de droga, disponíveis para outros recursos reaproveitarem:

exports.qbx_smallresources:TrevorEffect()
exports.qbx_smallresources:AlienEffect()
exports.qbx_smallresources:MethBagEffect()
exports.qbx_smallresources:EcstasyEffect()
exports.qbx_smallresources:CrackBaggyEffect()
exports.qbx_smallresources:CokeBaggyEffect()

qbx_flipvehicle — client

-- Sem argumentos, pega o veículo mais próximo dentro de maxDistance.
-- flipTest = true pula a barra de progresso e vira o carro na hora.
exports.qbx_smallresources:FlipVehicle(vehicle, flipTest)

O export flipVehicle (com minúscula) é o mesmo, mas está deprecated.

qbx_hudcomponents — client

-- Todos aceitam um número ou um array de números.
exports.qbx_smallresources:AddDisableHudComponents({1, 2, 3})
exports.qbx_smallresources:RemoveDisableHudComponents(3)
local components = exports.qbx_smallresources:GetDisableHudComponents()
 
exports.qbx_smallresources:AddDisableControls({24, 25})
exports.qbx_smallresources:RemoveDisableControls(24)
local controls = exports.qbx_smallresources:GetDisableControls()
 
exports.qbx_smallresources:SetDisplayAmmo(true)
local displayAmmo = exports.qbx_smallresources:GetDisplayAmmo()

Serve para esconder o HUD durante cutscenes, minigames ou menus. As variantes em camelCase existem e estão deprecated.

Statebags

StatebagEscopoDescrição
hungerPlayerNível de fome, 0 a 100. Escrito pelo qbx_consumables
thirstPlayerNível de sede, 0 a 100
stressPlayerNível de estresse, 0 a 100
pushVehicleEntityDireção do empurrão (front, back, left, right) ou nil. O qbx_vehiclepush usa para transferir o controle quando o dono da entidade muda no meio do empurrão
fuelEntityLido, nunca escrito, pelo qbx_vehiclepush: abaixo de 3, o veículo fica empurrável mesmo com o motor intacto

Eventos

-- qbx_tackle: derruba o jogador alvo. O servidor valida a distância (2 metros).
TriggerServerEvent('tackle:server:TacklePlayer', targetServerId)
 
-- qbx_vehiclepush: grava a direção do empurrão no statebag do veículo.
TriggerServerEvent('qbx_vehiclepush:server:push', { direction = 'front', netId = netId })

Localização

As notificações e os labels das barras de progresso são traduzidos via ox_lib locale. Os arquivos ficam em locales/:

da.json, de.json, en.json, es.json, fr.json, nl.json, pl.json, pt-br.json, pt.json, ro.json, tr.json, zh-cn.json

O locale ativo é definido pela convar ox:locale no server.cfg:

setr ox:locale "pt-br"

Os avisos de AFK são a exceção: estão fixos em inglês no qbx_afk/server.lua, fora do sistema de locale.


Estrutura de arquivos

qbx_smallresources/
├── qbx_afk/
│   ├── server.lua        — detecção de inatividade por posição e kick
│   └── config.json       — tempo até o kick e grupos isentos
├── qbx_consumables/
│   ├── client.lua        — animações, props e efeitos visuais de droga
│   ├── server.lua        — registro dos usáveis, fome, sede e estresse
│   └── config.lua        — comidas, bebidas, álcool e alívio de estresse
├── qbx_crouch/
│   └── client.lua        — inteiramente comentado; não faz nada na versão atual
├── qbx_cruise/
│   └── client.lua        — controle de cruzeiro (tecla Y)
├── qbx_disableservices/
│   ├── client.lua        — desliga o dispatch e trava o nível de procurado
│   ├── config.lua        — serviços habilitados e nível máximo
│   └── readme.md
├── qbx_editor/
│   └── client.lua        — comandos do Rockstar Editor
├── qbx_entitiesblacklist/
│   ├── server.lua        — bloqueio de spawn via entityCreating
│   └── config.lua        — hashes de veículo e ped bloqueados
├── qbx_flipvehicle/
│   ├── client.lua        — desvirar veículo, com export
│   └── config.json       — duração e distância máxima
├── qbx_hudcomponents/
│   ├── client.lua        — esconde componentes do HUD e desabilita controles
│   └── config.lua        — componentes, controles e mira
├── qbx_ignore/
│   ├── client.lua        — limpeza de mundo: sem NPC de polícia, sem sirene distante
│   └── config.lua        — cenários, modelos e grupos bloqueados
├── qbx_itempickup/
│   ├── client.lua        — desabilita os pickups de arma do chão
│   ├── config.json       — lista de pickups desabilitados
│   └── readme.md
├── qbx_noshuff/
│   ├── client.lua        — trava a troca automática de assento (tecla O)
│   ├── config.json       — tecla de troca
│   └── readme.md
├── qbx_recoils/
│   ├── client.lua        — aplica o recuo de câmera ao atirar
│   ├── config.lua        — força do recuo por hash de arma
│   └── readme.md
├── qbx_removeentities/
│   ├── client.lua        — apaga objetos do mapa em coordenadas fixas
│   ├── config.json       — objetos a apagar
│   └── readme.md
├── qbx_stun/
│   ├── client.lua        — aumenta o tempo no chão após taser
│   └── readme.md
├── qbx_tackle/
│   ├── client.lua        — carrinho no jogador correndo (tecla E)
│   └── server.lua        — valida a distância e derruba o alvo
├── qbx_teleports/
│   ├── client.lua        — esferas de elevador e menu de andares (tecla E)
│   ├── config.json       — passagens e andares
│   └── readme.md
├── qbx_vehiclepush/
│   ├── client.lua        — empurrar veículo com direção (E + LSHIFT)
│   ├── server.lua        — sincroniza a direção no statebag do veículo
│   ├── config.json       — dano necessário e classes bloqueadas
│   └── readme.md
├── qbx_vehicleradio/
│   ├── client.lua        — liga e desliga o rádio do veículo (F9)
│   └── config.json       — comando, tecla e estado inicial
├── locales/              — 12 idiomas (.json)
└── fxmanifest.lua        — carrega todo */client.lua e */server.lua por glob