Was ist fxmanifest.lua?
Für jede FiveM-Ressource ist eine Manifestdatei erforderlich, die dem Server mitteilt, was die Ressource enthält und wie sie geladen werden soll. Die Datei fxmanifest.lua ersetzt das ältere Format __resource.lua und bietet eine saubere, deklarative Möglichkeit, deine Ressourcenmetadaten zu definieren. Diese Datei gibt an, welche Scripts auf dem Client und welche auf dem Server ausgeführt werden, welche NUI-Dateien eingeschlossen werden sollen, Ressourcenabhängigkeiten und zusätzliche Metadaten. Es ist wichtig, dein Manifest richtig zu machen, da Fehler hier dazu führen können, dass deine gesamte Ressource nicht geladen wird.
Erforderliche Felder
Jedes Manifest muss mit zwei erforderlichen Feldern beginnen: fx_version und games. Die fx_version gibt die Version des Manifestformats an, wobei 'cerulean' der aktuelle Standard ist, der alle modernen Funktionen unterstützt. Das Feld games definiert, welches Spiel die Ressource unterstützt, normalerweise {'gta5'} für FiveM. Wenn du eines dieser Felder weglassen, schlägt das Laden der Ressource vollständig fehl. Füge sie daher immer als die ersten beiden Zeilen deines Manifests ein.
Skriptdeklarationen
Verwende client_scripts, server_scripts und shared_scripts, um deine lua-Dateien zu deklarieren. Client-Scripts werden auf dem Spiel-Client des Spielers ausgeführt und übernehmen das Rendern, die Eingabe und die lokale Spielinteraktion. Server-Scripts werden auf dem Server ausgeführt und übernehmen die maßgebliche Logik, Datenbankoperationen und die Spielerverwaltung. Gemeinsam genutzte Scripts werden auf beiden Seiten ausgeführt und sind nützlich für Konfigurationsdateien, Dienstprogrammfunktionen und gemeinsam genutzte Konstanten. Du kannst Glob-Muster wie 'client/*.lua' verwenden, um alle Dateien in einem Verzeichnis einzuschließen, aber explizite Dateilisten geben Ihnen die Kontrolle über die Ladereihenfolge.
NUI und Dateideklarationen
Wenn deine Ressource eine Benutzeroberfläche enthält, deklariere den Eintrag html-Datei mit ui_page 'html/index.html'. Liste dann alle Web-Assets, die deine Benutzeroberfläche benötigt, in der Tabelle Dateien auf, einschließlich html, CSS, JavaScript, Bildern und Schriftarten. Nur die hier aufgeführten Dateien sind für den NUI-Browser zugänglich. Verwende Glob-Muster wie 'html/**/*', um ganze Verzeichnisse einzuschließen. Denk daran, dass NUI-Dateien beim Laden der Ressourcen an den Client gesendet werden. Optimiere daher deine Webressourcen, um Downloadzeiten und Bandbreitennutzung zu reduzieren.
Abhängigkeiten und Ladereihenfolge
Deklariere Ressourcenabhängigkeiten mit dem Feld dependencies, um sicherzustellen, dass die erforderlichen Ressourcen vor deinen Ressourcen beginnen. Zu den allgemeinen Abhängigkeiten gehören Framework-Ressourcen wie qb-core oder es_extended, Datenbankressourcen wie oxmysql und gemeinsam genutzte Bibliotheken. Wenn eine Abhängigkeit nicht gestartet wird, kann deine Ressource nicht geladen werden und es wird eine Warnung protokolliert. Verwende provide, um anzugeben, dass deine Ressource als Ersatz für eine andere dient. Dies ist nützlich, wenn du Framework-Brücken oder alternative Implementierungen gängiger Scripts erstellen.
Erweiterte Manifestfunktionen
Das Manifest unterstützt mehrere zusätzliche Anweisungen für spezielle Anwendungsfälle. Verwende data_file, um GTA-Datendateien wie Waffenmetas, Handhabungsdateien oder Fahrzeugmodelldaten zu laden. Die Felder export und server_export deklarieren Funktionen, die andere Ressourcen aufrufen können. Füge zu Dokumentationszwecken Metadaten mit den Feldern description, author und version hinzu. Die lua54-Direktive aktiviert Lua 5.4-Funktionen, wenn sie auf 'yes' gesetzt ist, und gibt Ihnen Zugriff auf Ganzzahldivision, bitweise Operatoren und andere Sprachverbesserungen, die komplexe Scripts vereinfachen können.
Zusammenfassung
Agency Scripts baut seine gesamte Produktlinie nach denselben Grundprinzipien: Framework-agnostische Architektur, schlanke Performance-Eigenschaften, klar dokumentierte Konfiguration und eine API, die echte Composability zwischen den Scripts ermöglicht. Kein Script ist eine Insel — jedes ist so gebaut, dass es gut allein und noch besser als Teil des Ökosystems funktioniert.
Für Fragen zur Installation, Konfiguration oder Kompatibilität ist der Agency Scripts Discord der schnellste Weg zur Hilfe. Die Community dort ist aktiv und hilfsbereit, und das Core-Team ist regelmäßig präsent. Für kritische Probleme steht auch ein direktes Support-Ticket-System auf der Tebex-Produktseite zur Verfügung.
Updates für alle Agency-Scripts werden über Tebex-Benachrichtigungen kommuniziert. Active-Business-Abonnenten erhalten neue Scripts automatisch ohne zusätzlichen Kauf. Changelog-Details erscheinen im #changelog-Kanal des Discords, damit du Updates bewerten kannst, bevor du sie auf einem Produktionsserver installierst.
