Pular para o conteúdo

Personalização

Quase tudo está em um único arquivo curto. O restante do código Lua também é aberto, permitindo que você altere o próprio comportamento se precisar.


Arquivo ou pastaO que ele decideAberto?
config.luaFramework, idioma, tecla e comando do menu, a lista de avesAberto
locales/*.luaOs textos de notificação, um arquivo por idiomaAberto
client/utils.luaComo uma notificação é exibida, por frameworkAberto
client/client.luaA tecla do menu, o comando /parrot e o que cada botão do menu fazAberto
client/bird_management.luaComo a ave chega voando, pousa, se move, segue e vai emboraAberto
server/server.luaRegistra cada ave como item utilizável e mantém os outros jogadores sincronizadosAberto
html/O menu Bird Companion: index.html, style.css, script.js e seus ícones em html/img/Arquivos simples
stream/Os nove modelos de aves personalizadosAssets
flight.metaOs dados de ped para as nove aves personalizadasDados
inventory_images/Os quatorze ícones de itensAssets
readme.mdLinhas prontas de itens para ox_inventory, QBCore e ESXReferência

locales/main.lua é o único arquivo Lua protegido por escrow.


OpçãoO que fazPadrão
Config.Frameworkesx, qb-core ou qbox. Decide como os itens são registrados e as notificações exibidasesx
Config.LocaleIdioma para notificações: en, es, de, fr, it, pl, pt, ru, tren
Config.MenuKeyÍndice de controle do jogo que abre o menu. 303 é U303
Config.OpenMenuCommandComando de chat que abre o menuparrot
Config.NoActiveBirdNotificationExibe uma mensagem quando alguém tenta abrir o menu sem uma ave ativafalse

Config.MenuKey é um número de controle do FiveM, não uma letra. A lista de números está na página de referência de controles do FiveM. Como ele é lido diretamente, os jogadores não podem redefini-lo em suas próprias configurações; o comando está sempre disponível como alternativa.


Uma lista de nome do item → modelo de ped. Cada entrada se torna um item utilizável ao iniciar.

ItemModelo
crowa_c_crow
pigeona_c_pigeon
seagulla_c_seagull
cormoranta_c_cormorant
chickenhawka_c_chickenhawk
macawMacaw
parrotParrot
falconFalcon
vultureVulture
eagleEagle
owlOwl
hornbillHornbill
sparrowSparrow
warblerWarbler
  1. Adicione uma linha em Config.BirdItems com o nome do seu novo item e o modelo de ped que ele deve gerar.
  2. Adicione o item ao seu inventário da mesma forma que os outros (veja Instalação) e dê um ícone a ele.
  3. Uma ave do jogo base (qualquer modelo de ave a_c_…) não precisa de mais nada.
  4. Uma ave personalizada precisa dos arquivos de modelo em stream/ e de sua própria entrada em flight.meta, ao lado das nove que já estão lá. Sem a entrada no flight.meta, o modelo carrega, mas não se comporta como uma ave.
  5. Execute refresh e depois restart mic_parrots.

Apague a linha dela em Config.BirdItems. O item deixará de fazer qualquer coisa; remova-o também do seu inventário para que ninguém fique com um item sem função.


Os rótulos do menu (Bird Companion, Shoulder, Head, Dismiss, Follow, Close) estão escritos em html/index.html, e não nos arquivos de idioma. Traduza-os ou renomeie-os lá. As cores e o layout ficam em html/style.css, e os ícones dos botões são os arquivos PNG em html/img/.

O html/index.html também contém dois botões comentados: Dance e Sing. Eles não possuem nenhuma ação associada no Lua, portanto deixe-os comentados.

Esc ou o botão Close fecha o menu.


Nove idiomas vêm incluídos, um arquivo para cada em locales/: en, es, de, fr, it, pl, pt, ru, tr. Escolha um com Config.Locale.

Cada arquivo contém seis linhas: sem permissão, já possui uma ave, nenhuma ave no ombro, ave já está no ombro, ave já está na cabeça e você precisa de uma ave ativa para abrir o menu.

Para adicionar um idioma: copie locales/en.lua para um novo arquivo (por exemplo, locales/nl.lua), altere a chave do idioma no topo de en para nl, traduza os seis textos e adicione o novo arquivo em ambas as listas client_scripts e server_scripts no fxmanifest.lua. Em seguida, defina Config.Locale como nl, dê refresh e reinicie.


O arquivo client/utils.lua envia todas as notificações: ESX.ShowNotification no ESX, QBCore.Functions.Notify no QBCore, a exportação de notificação do QBox no QBox e o feed padrão do GTA para qualquer outro caso. Substitua o corpo dessa única função para direcionar as mensagens para a sua própria resource de notificação.


Comando ou teclaO que fazDefinido em
/parrotAbre o menu Bird Companion quando você tem uma ave ativaConfig.OpenMenuCommand
UO mesmo que o comandoConfig.MenuKey