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.
Qual arquivo decide o quê
Seção intitulada “Qual arquivo decide o quê”| Arquivo | O que decide | Aberto? |
|---|---|---|
config.lua | Idioma, comando, tecla de cancelar, interação com prop posicionado, caminho das imagens, barra de progresso | Sim |
bridge/client_bridge.lua | Notificações, vida, colete, estresse, fome e sede, contagem de itens, empregos, target, barra de progresso | Sim |
bridge/server_bridge.lua | Detecção de framework, itens utilizáveis, adicionar e remover itens, empregos, notificações, lista de itens | Sim |
locales/*.lua | Todos os textos, no jogo e no menu | Sim |
data/*.lua | As listas por trás dos seletores do menu | Sim |
html/ | O menu (HTML, CSS, JS) | Legível |
client/, server/ | Lógica dos itens | Protegido (Escrow) |
config.lua
Seção intitulada “config.lua”| Opção | O que faz | Padrão |
|---|---|---|
Config.Locale | Idioma do menu e das mensagens. Veja Idiomas | 'en' |
Config.Command | O comando que abre e fecha o menu | 'itemcreator' |
Config.CommandDescription | O 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.CancelKey | Tecla padrão para cancelar o que um item iniciou. Veja abaixo | 'X' |
Config.Interaction | Como 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.ImageInventoryPath | Onde 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/.
Teclas e comandos
Seção intitulada “Teclas e comandos”| Comando | Tecla padrão | O que faz |
|---|---|---|
/itemcreator | nenhuma | Abre ou fecha o menu. Requer ACE mic_itemcreator.open |
/cancelitemanim | Config.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:
| Tecla | O que faz |
|---|---|
| ← → ↑ ↓ | Move o prop para a esquerda, direita, frente ou trás |
| Page Up / Page Down | Move para cima ou para baixo |
| Numpad 4 / 6 | Guinada (Yaw) |
| Numpad 8 / 5 | Inclinação (Pitch) |
| Numpad 7 / 9 | Rolagem (Roll) |
| X | Pré-visualizar a animação |
| E | Confirmar |
| Backspace | Cancelar |
As listas de dados
Seção intitulada “As listas de dados”Tudo o que você pode escolher em uma lista no menu vem de data/, e você pode adicionar itens a qualquer uma delas:
| Arquivo | O que lista |
|---|---|
data/animations.lua | Animações |
data/scenarios.lua | Cenários |
data/walkingstyles.lua | Estilos de caminhada |
data/bones.lua | Ossos aos quais um prop pode ser anexado |
data/particles.lua | Efeitos de partículas |
data/screeneffects.lua | Efeitos de tela |
data/sounds.lua | Sons |
data/cars.lua | Carros, por rótulo e modelo |
data/peds.lua | Modelos de ped |
data/clothing.lua | As 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.
Idiomas
Seção intitulada “Idiomas”Nove arquivos vêm em locales/:
Config.Locale | Idioma |
|---|---|
en | Inglês |
es | Espanhol |
de | Alemão |
fr | Francês |
it | Italiano |
pt | Português |
ru | Russo |
ch-zn | Chinês |
jp | Japonê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:
- Copie
locales/en.luapara um novo arquivo, por exemplolocales/pl.lua. - Dentro dele, mude
Locales['en']para o seu código e traduza o texto à direita de cada linha. Mantenha as chaves e qualquer%s. - Adicione o arquivo a
shared_scriptsemfxmanifest.lua, acima delocales/lib.lua. - Defina
Config.Localepara o seu código, executerefreshe reinicie.
Uma chave ausente imprime Translation key "…" not found no console e mostra a própria chave na tela.
A bridge
Seção intitulada “A bridge”Dois arquivos abertos em bridge/. Mantenha os nomes das funções — o resto do resource as chama pelo nome.
bridge/server_bridge.lua
| Função | Para 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.RegisterUsableItem | Registra cada item configurado como utilizável no seu framework |
Bridge.AddItem, Bridge.RemoveItem, Bridge.GetItemCount | Itens: pacotes (bundles), recolhimento, itens necessários, Remove on Use |
Bridge.GetPlayerJob, Bridge.GetPlayerJobGrade | A restrição de emprego |
Bridge.Notify | Notificações do lado do servidor |
Bridge.GetAllItems | A 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ção | Para que serve |
|---|---|
Bridge.Notify | Todas as notificações. Usa o feed do GTA caso não haja framework |
Bridge.AddHealth, Bridge.AddArmor | Vida/Colete |
Bridge.AddFoodThirst | Fome/Sede: esx_status no ESX; no QBCore os eventos consumables:server:addHunger e addThirst |
Bridge.AddStress | Estresse: esx_status no ESX; consumables:server:addStress no QBCore |
Bridge.GetItemCount | Always Attached Prop: contagem do ox_inventory se estiver rodando, caso contrário dados do jogador |
Bridge.AddTargetEntity | A opção de recolher em um prop posicionado, para ox_target ou qb-target |
Bridge.ProgressBar | Barras 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.
Rede da comunidade
Seção intitulada “Rede da comunidade”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.