Zum Inhalt springen

Anpassung

Fast alles ist in einer einzigen kurzen Datei zusammengefasst. Auch der restliche Lua-Code ist offen gehalten, sodass du das eigentliche Verhalten nach Wunsch verändern kannst.


Datei oder OrdnerWas sie entscheidetBearbeitbar?
config.luaFramework, Sprache, Menütaste und Chatbefehl, Liste der VögelOffen
locales/*.luaDie Texte der Benachrichtigungen, eine Datei pro SpracheOffen
client/utils.luaWie Benachrichtigungen je nach Framework dargestellt werdenOffen
client/client.luaMenütaste, Befehl /parrot und die Aktionen der Menü-ButtonsOffen
client/bird_management.luaWie der Vogel anfliegt, landet, sich bewegt, folgt und abfliegtOffen
server/server.luaRegistriert jeden Vogel als nutzbares Item und synchronisiert andere SpielerOffen
html/Das Bird-Companion-Menü: index.html, style.css, script.js und Icons in html/img/Dateibasiert
stream/Die neun eigenen VogelmodelleAssets
flight.metaDie Ped-Daten für die neun eigenen VögelDaten
inventory_images/Die vierzehn Item-IconsAssets
readme.mdFertige Item-Zeilen für ox_inventory, QBCore und ESXReferenz

locales/main.lua ist die einzige escrow-geschützte Lua-Datei.


OptionWas sie machtStandard
Config.Frameworkesx, qb-core oder qbox. Bestimmt die Item-Registrierung und Benachrichtigungenesx
Config.LocaleSprache für Benachrichtigungen: en, es, de, fr, it, pl, pt, ru, tren
Config.MenuKeyGame-Control-Index, der das Menü öffnet. 303 entspricht U303
Config.OpenMenuCommandChatbefehl zum Öffnen des Menüsparrot
Config.NoActiveBirdNotificationZeigt eine Meldung, wenn jemand versucht, das Menü ohne aktiven Vogel zu öffnenfalse

Config.MenuKey ist eine FiveM-Control-Nummer, kein Buchstabe. Die Nummernliste ist in der FiveM-Dokumentation für Controls zu finden. Da der Wert direkt eingelesen wird, können Spieler ihn nicht in den eigenen Spieleinstellungen umbelegen; der Chatbefehl steht stets als Alternative bereit.


Eine Liste von Item-Name → Ped-Modell. Jeder Eintrag wird beim Start zu einem nutzbaren Item.

ItemModell
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. Füge eine Zeile zu Config.BirdItems mit deinem neuen Item-Namen und dem zu spawnenden Ped-Modell hinzu.
  2. Füge das Item wie gewohnt zu deinem Inventar hinzu (siehe Installation) und gib ihm ein Icon.
  3. Ein Vogel aus dem Basisspiel (jedes a_c_…-Vogelmodell) benötigt keine weiteren Schritte.
  4. Ein individueller Vogel benötigt seine Modelldateien in stream/ und einen eigenen Eintrag in flight.meta, neben den neun vorhandenen. Ohne den flight.meta-Eintrag lädt das Modell zwar, verhält sich aber nicht wie ein fliegender Vogel.
  5. Führe refresh aus und starte dann mit restart mic_parrots neu.

Lösche seine Zeile aus Config.BirdItems. Das Item verliert jede Funktion; entferne es auch aus deinem Inventar, damit niemand ein nutzloses Item behält.


Die Bezeichnungen des Menüs (Bird Companion, Shoulder, Head, Dismiss, Follow, Close) sind fest in html/index.html hinterlegt, nicht in den Sprachdateien. Übersetze oder benenne sie dort um. Farben und Layout befinden sich in html/style.css, und die Schaltflächen-Icons sind die PNG-Dateien in html/img/.

In html/index.html befinden sich zudem zwei auskommentierte Buttons: Dance und Sing. Im Lua-Code ist dafür keine Funktion hinterlegt, belasse sie daher auskommentiert.

Esc oder der Close-Button schließt das Menü.


Neun Sprachen werden mitgeliefert, mit je einer Datei in locales/: en, es, de, fr, it, pl, pt, ru, tr. Wähle eine davon über Config.Locale aus.

Jede Datei enthält sechs Textzeilen: keine Berechtigung, bereits ein Vogel aktiv, kein Vogel auf der Schulter, Vogel bereits auf der Schulter, Vogel bereits auf dem Kopf und die Meldung, dass ein aktiver Vogel nötig ist, um das Menü zu öffnen.

So fügst du eine Sprache hinzu: Kopiere locales/en.lua in eine neue Datei (z. B. locales/nl.lua), ändere den Sprachschlüssel ganz oben von en auf nl, übersetze die sechs Texte und trage die Datei in beide Listen client_scripts und server_scripts in fxmanifest.lua ein. Setze dann Config.Locale auf nl, führe refresh aus und starte neu.


client/utils.lua versendet alle Benachrichtigungen: ESX.ShowNotification bei ESX, QBCore.Functions.Notify bei QBCore, der QBox-Notify-Export bei QBox und der standardmäßige GTA-Feed für alle anderen Fälle. Du kannst den Inhalt dieser Funktion ersetzen, um Nachrichten an dein eigenes Notify-System weiterzuleiten.


Befehl oder TasteWas es bewirktEingestellt in
/parrotÖffnet das Bird-Companion-Menü, wenn ein Vogel aktiv istConfig.OpenMenuCommand
UGleiche Funktion wie der BefehlConfig.MenuKey