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.
Welche Datei entscheidet was?
Abschnitt betitelt „Welche Datei entscheidet was?“| Datei oder Ordner | Was sie entscheidet | Bearbeitbar? |
|---|---|---|
config.lua | Framework, Sprache, Menütaste und Chatbefehl, Liste der Vögel | Offen |
locales/*.lua | Die Texte der Benachrichtigungen, eine Datei pro Sprache | Offen |
client/utils.lua | Wie Benachrichtigungen je nach Framework dargestellt werden | Offen |
client/client.lua | Menütaste, Befehl /parrot und die Aktionen der Menü-Buttons | Offen |
client/bird_management.lua | Wie der Vogel anfliegt, landet, sich bewegt, folgt und abfliegt | Offen |
server/server.lua | Registriert jeden Vogel als nutzbares Item und synchronisiert andere Spieler | Offen |
html/ | Das Bird-Companion-Menü: index.html, style.css, script.js und Icons in html/img/ | Dateibasiert |
stream/ | Die neun eigenen Vogelmodelle | Assets |
flight.meta | Die Ped-Daten für die neun eigenen Vögel | Daten |
inventory_images/ | Die vierzehn Item-Icons | Assets |
readme.md | Fertige Item-Zeilen für ox_inventory, QBCore und ESX | Referenz |
locales/main.lua ist die einzige escrow-geschützte Lua-Datei.
Allgemeine Einstellungen — config.lua
Abschnitt betitelt „Allgemeine Einstellungen — config.lua“| Option | Was sie macht | Standard |
|---|---|---|
Config.Framework | esx, qb-core oder qbox. Bestimmt die Item-Registrierung und Benachrichtigungen | esx |
Config.Locale | Sprache für Benachrichtigungen: en, es, de, fr, it, pl, pt, ru, tr | en |
Config.MenuKey | Game-Control-Index, der das Menü öffnet. 303 entspricht U | 303 |
Config.OpenMenuCommand | Chatbefehl zum Öffnen des Menüs | parrot |
Config.NoActiveBirdNotification | Zeigt eine Meldung, wenn jemand versucht, das Menü ohne aktiven Vogel zu öffnen | false |
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.
Die Vögel — Config.BirdItems
Abschnitt betitelt „Die Vögel — Config.BirdItems“Eine Liste von Item-Name → Ped-Modell. Jeder Eintrag wird beim Start zu einem nutzbaren Item.
| Item | Modell |
|---|---|
crow | a_c_crow |
pigeon | a_c_pigeon |
seagull | a_c_seagull |
cormorant | a_c_cormorant |
chickenhawk | a_c_chickenhawk |
macaw | Macaw |
parrot | Parrot |
falcon | Falcon |
vulture | Vulture |
eagle | Eagle |
owl | Owl |
hornbill | Hornbill |
sparrow | Sparrow |
warbler | Warbler |
Einen Vogel hinzufügen
Abschnitt betitelt „Einen Vogel hinzufügen“- Füge eine Zeile zu
Config.BirdItemsmit deinem neuen Item-Namen und dem zu spawnenden Ped-Modell hinzu. - Füge das Item wie gewohnt zu deinem Inventar hinzu (siehe Installation) und gib ihm ein Icon.
- Ein Vogel aus dem Basisspiel (jedes
a_c_…-Vogelmodell) benötigt keine weiteren Schritte. - Ein individueller Vogel benötigt seine Modelldateien in
stream/und einen eigenen Eintrag inflight.meta, neben den neun vorhandenen. Ohne denflight.meta-Eintrag lädt das Modell zwar, verhält sich aber nicht wie ein fliegender Vogel. - Führe
refreshaus und starte dann mitrestart mic_parrotsneu.
Einen Vogel entfernen
Abschnitt betitelt „Einen Vogel entfernen“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.
Das Menü — html/
Abschnitt betitelt „Das Menü — html/“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ü.
Sprachen
Abschnitt betitelt „Sprachen“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.
Benachrichtigungen
Abschnitt betitelt „Benachrichtigungen“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.
Befehle
Abschnitt betitelt „Befehle“| Befehl oder Taste | Was es bewirkt | Eingestellt in |
|---|---|---|
/parrot | Öffnet das Bird-Companion-Menü, wenn ein Vogel aktiv ist | Config.OpenMenuCommand |
| U | Gleiche Funktion wie der Befehl | Config.MenuKey |