Pular para o conteúdo

Personalização

O que cada item faz é criado no menu e salvo no banco de dados. Os arquivos decidem o resto: o comando, as teclas, como as coisas são exibidas e como o resource conversa com o seu framework.


ArquivoO que decideAberto?
config.luaIdioma, comando, tecla de cancelar, interação com prop posicionado, caminho das imagens, barra de progressoSim
bridge/client_bridge.luaNotificações, vida, colete, estresse, fome e sede, contagem de itens, empregos, target, barra de progressoSim
bridge/server_bridge.luaDetecção de framework, itens utilizáveis, adicionar e remover itens, empregos, notificações, lista de itensSim
locales/*.luaTodos os textos, no jogo e no menuSim
data/*.luaAs listas por trás dos seletores do menuSim
html/O menu (HTML, CSS, JS)Legível
client/, server/Lógica dos itensProtegido (Escrow)

OpçãoO que fazPadrão
Config.LocaleIdioma do menu e das mensagens. Veja Idiomas'en'
Config.CommandO comando que abre e fecha o menu'itemcreator'
Config.CommandDescriptionO nome desse comando nos atalhos de teclado do FiveM, onde uma tecla pode ser atribuída a ele. Não tem tecla por padrão'Open Item Creator Menu'
Config.CancelKeyTecla padrão para cancelar o que um item iniciou. Veja abaixo'X'
Config.InteractionComo um prop posicionado é recolhido: 'drawtext', 'ox_target' ou 'qb-target'. Com qualquer valor de target, a bridge usa o que estiver rodando entre ox_target ou qb-target'drawtext'
Config.ImageInventoryPathOnde o menu encontra as imagens dos itens, como <path><item name>.png'nui://ox_inventory/web/images/'
Config.ProgressBar'custom' para a barra integrada, 'ox_lib' para a do ox_lib. Se o ox_lib não estiver rodando, a barra integrada é usada'custom'

Não usa ox_inventory? Defina Config.ImageInventoryPath para a pasta de imagens do seu inventário, por exemplo nui://qb-inventory/html/images/.


ComandoTecla padrãoO que faz
/itemcreatornenhumaAbre ou fecha o menu. Requer ACE mic_itemcreator.open
/cancelitemanimConfig.CancelKey (X)Para a animação, cenário ou estilo de caminhada iniciado por um item, redefine a velocidade, encerra superpoderes e remove prop anexado

Ao posicionar um Attach Prop, estas teclas se aplicam. Cada uma está listada nos atalhos de teclado do FiveM com o prefixo “Placement:”, para que os jogadores possam alterá-las:

TeclaO que faz
← → ↑ ↓Move o prop para a esquerda, direita, frente ou trás
Page Up / Page DownMove para cima ou para baixo
Numpad 4 / 6Guinada (Yaw)
Numpad 8 / 5Inclinação (Pitch)
Numpad 7 / 9Rolagem (Roll)
XPré-visualizar a animação
EConfirmar
BackspaceCancelar

Tudo o que você pode escolher em uma lista no menu vem de data/, e você pode adicionar itens a qualquer uma delas:

ArquivoO que lista
data/animations.luaAnimações
data/scenarios.luaCenários
data/walkingstyles.luaEstilos de caminhada
data/bones.luaOssos aos quais um prop pode ser anexado
data/particles.luaEfeitos de partículas
data/screeneffects.luaEfeitos de tela
data/sounds.luaSons
data/cars.luaCarros, por rótulo e modelo
data/peds.luaModelos de ped
data/clothing.luaAs animações reproduzidas quando uma peça de roupa ou prop é vestida

Mantenha cada entrada no mesmo formato das demais ao redor. O menu lê esses arquivos quando abre; após editar, reinicie o resource.


Nove arquivos vêm em locales/:

Config.LocaleIdioma
enInglês
esEspanhol
deAlemão
frFrancês
itItaliano
ptPortuguês
ruRusso
ch-znChinês
jpJaponês

O comentário em config.lua também menciona tr e ch; nenhum dos dois existe. Use os códigos acima.

O mesmo arquivo traduz as mensagens no jogo e o menu, então há apenas um lugar para editar.

Adicionando um idioma:

  1. Copie locales/en.lua para um novo arquivo, por exemplo locales/pl.lua.
  2. Dentro dele, mude Locales['en'] para o seu código e traduza o texto à direita de cada linha. Mantenha as chaves e qualquer %s.
  3. Adicione o arquivo a shared_scripts em fxmanifest.lua, acima de locales/lib.lua.
  4. Defina Config.Locale para o seu código, execute refresh e reinicie.

Uma chave ausente imprime Translation key "…" not found no console e mostra a própria chave na tela.


Dois arquivos abertos em bridge/. Mantenha os nomes das funções — o resto do resource as chama pelo nome.

bridge/server_bridge.lua

FunçãoPara que serve
(detecção)Usa ESX se es_extended estiver iniciado, caso contrário QBCore se qb-core estiver iniciado. O QBox é encontrado como qb-core via compatibilidade
Bridge.RegisterUsableItemRegistra cada item configurado como utilizável no seu framework
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCountItens: pacotes (bundles), recolhimento, itens necessários, Remove on Use
Bridge.GetPlayerJob, Bridge.GetPlayerJobGradeA restrição de emprego
Bridge.NotifyNotificações do lado do servidor
Bridge.GetAllItemsA lista de itens no menu: do ox_inventory, depois dos itens registrados no ESX, depois dos itens compartilhados do QBCore

bridge/client_bridge.lua

FunçãoPara que serve
Bridge.NotifyTodas as notificações. Usa o feed do GTA caso não haja framework
Bridge.AddHealth, Bridge.AddArmorVida/Colete
Bridge.AddFoodThirstFome/Sede: esx_status no ESX; no QBCore os eventos consumables:server:addHunger e addThirst
Bridge.AddStressEstresse: esx_status no ESX; consumables:server:addStress no QBCore
Bridge.GetItemCountAlways Attached Prop: contagem do ox_inventory se estiver rodando, caso contrário dados do jogador
Bridge.AddTargetEntityA opção de recolher em um prop posicionado, para ox_target ou qb-target
Bridge.ProgressBarBarras de progresso: ox_lib ou a integrada. Há um local marcado, com um exemplo comentado, para adicionar outro resource de barra de progresso

Sua HUD usa eventos diferentes para fome, sede ou estresse? Altere-os em Bridge.AddFoodThirst e Bridge.AddStress. Outro resource de notificação? Substitua o corpo de Bridge.Notify. Outro framework ou inventário? Preencha as mesmas funções para ele em ambos os arquivos.


Network no menu lista configurações de itens compartilhadas por outros servidores. Import pergunta qual dos seus próprios itens deve receber aquela configuração e a abre para você ajustar e salvar. Para compartilhar uma das suas, exporte-a da sua lista de itens com um nome público, uma descrição e um nome de autor — ela ficará visível para todos os servidores que usam a rede.

A lista é baixada do GitHub, então o seu servidor precisa de acesso de saída à internet para carregá-la.