- FIVEM - RESOURCEN UND FUNKTIONSWEISE DER MANIFEST !-|

Anleitung zum Erstellen von Blogs und Artikeln: Bitte hier klickieren

fivem-mp.png

:!:- FIVEM - RESOURCEN AUSLEGUNG !-|:!:

Das Ressourcenmanifest ist eine Datei mit dem Namen fxmanifest.lua ,die in einem Ressourcenordner auf dem Server abgelegt wird.

Es handelt sich um eine Lua-Datei, die in einer von den üblichen Lua-Skripten getrennten Laufzeit ausgeführt wird und ein spezielles Setup verwendet, sodass eine semi-deklarative Syntax zum Definieren von Metadaten verwendet werden kann.


:!:Beispiel

Intern werden dadurch die folgenden Metadateneinträge erstellt:

  • fx_version: cerulean
  • game: gta5
  • game: rdr3
  • client_script: client.lua
  • client_script: client_two.lua
  • client_scripts: { client.lua, client_two.lua }
  • server_script: server.lua
  • server_scripts: { server.lua, server_two.lua }
  • my_data: one
  • my_data: three
  • my_data: nine
  • my_data_extra: {"two":42} (as JSON)
  • my_data_extra: {"four":69}
  • my_data_extra: {"ninety":"nein"}


:!:Globbing

Einige Eintragstypen unterstützen möglicherweise das Globbing für mehrere Dateien. Diese haben eine folgende Mustersyntax:

Beispiel Beispiel
*.lua a.lua, b.lua (non-recursively)
dir/*.dll dir/a.dll, b.dll (non-recursively)
**/*.lua dir1/a.lua, dir2/b.lua, dir1/dir2/f.lua
**.lua same as above
**/cl_*.lua dir1/cl_hi.lua, etc.

Die Unterstützung für Globbing wird unter jedem Eintragstyp angegeben.


:!:Ressourcen Manifest Einträge

Jetzt kommen die integrierten Ressourcen Manifest Einträge. Eine Ressource kann auch benutzerdefinierte Metadateneinträge enthalten, die mit GetNumResourceMetadata KLICK und GetResourceMetadata KLICK abgerufen werden können.


:!:fx_version

Definiert die unterstützten Funktionen für die Ressource. Dies muss eines bestimmter Wörter sein. Jeder Eintrag erbt Eigenschaften vom vorherigen. Die aktuelle FXv2-Ressourcenversion ist cerulean.


:!:Das Game

Definiert die unterstützten Spiel-API-Sets für die Ressource.

Name bedeutung
common Runs on any game, but can't access game-specific APIs - only CitizenFX APIs.
gta5 Runs on FiveM.



resource_manifest_version

Du solltest fxmanifest.lua und fx_version verwenden

Definiert die unterstützten Funktionen für die Ressource. Dies muss eine bestimmte Gruppe von GUIDs sein. Jede GUID erbt Eigenschaften von der vorherigen. Die aktuelle Version des Ressourcen Manifest lautet 44febabe-d386-4d18-afbe-5e627f4af937.


:!:client_script

Dies unterstützt das Globbing.

Definiert ein Skript, das auf den Client geladen werden soll, und fügt die Datei implizit der Ressourcenpaketdatei hinzu. Die Erweiterung bestimmt, welcher Skriptlader die Datei verarbeitet

Erweiterung Dateihandler Bedeutung
.lua citizen:scripting:lua Lua source code
.net.dll citizen:scripting:mono .NET assembly referencing CitizenFX.Core.Client
.js citizen:scripting:v8 JavaScript source code (client only)


:!:server_Script

Dies unterstützt das Globbing. Referenz CitizenFX.Core.Server für eine .NET-Assembly

Definiert ein Skript, das auf den Server geladen werden soll. Die Erweiterung bestimmt, welcher Skriptlader die Datei wie bei client_script verarbeitet.


:!:shared_Script

Dies unterstützt das Globbing.

Definiert ein Skript, das auf beiden Seiten geladen werden soll, und fügt die Datei der Ressourcenpaketdatei hinzu. Die Erweiterung bestimmt, welcher Skriptlader die Datei wie bei client_script verarbeitet.


:!:export

Definiert eine globale Funktion, die von einem Client-Skript exportiert werden soll. In Lua wird _G [exportName] als exportName exportiert. In C # wird dies zu diesem Zeitpunkt absolut nichts bewirken.


:!:export definieren


LUA

C
  1. exports { 'setWidget', 'getWidget'
  2. }
C
  1. local lastWidget
  2. function setWidget(widget) lastWidget = widget
  3. end
  4. function getWidget() return lastWidget
  5. end


:!:Export und Verbrauch


LUA

C
  1. exports.myresource:setWidget(50)

C#

C
  1. int widget = Exports["myresource"].getWidget();

:!:server_export

Definiert eine globale Funktion, die von einem Serverskript exportiert werden soll


:!:ui_page

Setzt die NUI-Seite der Ressource auf die definierte Datei. Diese Datei muss mithilfe von Dateien referenziert werden.

C
  1. ui_page 'html/index.html'
  2. file 'html/index.html'


:!:before_level_meta

Lädt das angegebene Ebenen-Meta in die Ressource vor dem primären Ebenen-Meta.

Wenn möglich sollten wir Datendateien verwerden.


:!:after_level_meta

Lädt das angegebene Level-Meta in die Ressource nach dem primären Level-Meta.

Wenn möglich sollten wir Datendateien verwerden.


:!:replace_level_meta

Ersetzt das Ebenen-Meta (normalerweise unter /data/levels/gta5/gta5.meta zu finden). Dies muss mit Dateien referenziert werden.

C
  1. replace_level_meta 'mymap'
  2. files { 'mymap.meta'
  3. }


:!:data_file

Diese Anweisung unterstützt das Globbing im Feld Dateiname.

Fügt dem zusätzlichen Inhaltssystem des Spiels eine Datendatei eines bestimmten Typs hinzu.

C
  1. files { 'audio/mywaves/stupidcar.awc', 'myvehicles.meta', 'metas/*_handling.meta',
  2. }
  3. data_file 'AUDIO_WAVEPACK' 'audio/mywaves'
  4. data_file 'VEHICLE_METADATA_FILE' 'myvehicles.meta'
  5. data_file 'HANDLING_FILE' 'metas/*_handling.meta'

:!:this_is_a_map

Markiert diese Ressource als GTA-Karte und lädt den Kartenspeicher neu, wenn die Ressource geladen wird.

C
  1. this_is_a_map 'yes' -- can be any value


:!:server_only

Markiert die Ressource als Nur-Server. Dies verhindert, dass Clients etwas von dieser Ressource herunterladen.

C
  1. server_only 'yes' -- can be any value


:!:loadscreen

Legt die HTML-Datei fest, die als Ladebildschirm für das Spiel angegeben ist.

C
  1. loadscreen 'html/loadscreen.html'
  2. file 'html/loadscreen.html'


:!:file


Fügt die angegebene Datei zur Ressourcenpaketdatei hinzu, die von Clients beim Laden der Ressource heruntergeladen werden soll.

C
  1. file 'main.net.dll.mdb'


:!:dependency

Erfordert, dass die angegebene Ressource vor der aktuellen Ressource geladen wird.

C
  1. dependency 'myresource-base'


:!:dependencies

Alias für Abhängigkeit. Ist ein absichtlicher Alias speziell für die Pluralisierung.

C
  1. dependencies { 'myresource-base', 'utility-resource'
  2. }


:!:provide

Markiert die aktuelle Ressource als Ersatz für die angegebene Ressource. Dies bedeutet, dass es anstelle der angegebenen Ressource gestartet wird, wenn eine andere Ressource dies erfordert, und sich so verhält, als würde es beim Starten als Ressource bezeichnet.

C
  1. provide 'mysql-async'


:!:disable_lazy_natives

LUA

Standardmäßig ist das verzögerte laden nativer Funktionen aktiviert, um die Ressourcenspeicherauslastung drastisch zu reduzieren. Obwohl dies nicht empfohlen wird, kannst du diese Option auf einen beliebigen Wert setzen, um das verzögerte laden zu deaktivieren.

C
  1. disable_lazy_natives 'yes'


:!:clr_disable_task_scheduler

Deaktiviert falls vorhanden den benutzerdefinierten C # -Aufgabenplaner auf dem Server. Dies erhöht die Kompatibilität mit Bibliotheken von Drittanbietern, die die .NET-TPL verwenden, erhöht jedoch die Wahrscheinlichkeit, dass wir auf Delay (0) warten müssen. um wieder auf dem Hauptfaden zu landen.




FXv2 versions

Das Ressourcen Manifest muss eine bestimmte FXv2-Version angeben, an die sich die Ressource halten soll. Hier wird dir der Versionsname und die Funktionen angezeigt, mit denen du verknüpft bist. Jede Manifestversion enthält alle Funktionen der oben genannten Manifest Versionen, außer dort, wo sie sich gegenseitig überschreiben würden. In diesem Fall wird die neueste Version verwendet.


FX-Version cerulean (2020-05)

Erfordert https: // Rückrufe, unterstützt jedoch WASM und Fetch. FX


Manifestversionen

Das Ressourcen Manifest muss eine bestimmte Version angeben, an die sich die Ressource halten soll. Hier wird dir eine Liste von -GUIDs und Funktionen angezeigt, denen sie zugeordnet sind. Jede Manifest Version enthält alle Funktionen der oben genannten Manifest Versionen, außer dort, wo sie sich gegenseitig überschreiben würden. In diesem Fall wird die neueste Version verwendet.


Falsche Manifest Versionen

Standardmäßig wird keine Manifest Version verwendet, die der Manifest-GUID 00000000-0000-0000-0000-000000000000 entspricht. Diese (zusammen mit der leeren GUID) wird in zukünftigen Versionen von FXServer entfernt, und es werden Ressourcen benötigt, um eine Manifest Version anzugeben.


Manifestversion 00000000-0000-0000-0000-000000000000

Die Datei natives.lua natives_21e43a33.lua wird für clientseitige Lua verwendet.



Quelle: KLICK

Kommentare