So fügst du Addon-Autos auf einem FiveM-Server hinzu: stream- und data-Dateien
Füge Addon-Autos zu FiveM Schritt für Schritt hinzu: der stream-Ordner, vehicles.meta, carvariations.meta, carcols.meta, handling.meta, fxmanifest data_file Zeilen, Addon vs. Ersatz.
Du hast ein Auto-Paket, das du auf deinem Server haben möchtest, und der Ordner enthält Dateien wie .yft, .ytd und mehrere .meta-Dateien. Diese Anleitung erklärt, wohin jede Datei geht, was die fxmanifest.lua braucht und wie du das Auto spawnst, mit dem Unterschied zwischen Addon- und Ersatz-Autos.
Was ein Addon-Auto-Paket enthält
Ein Auto gibt es in zwei Arten von Dateien:
- Modell- und Texturdateien, die in einen
stream-Ordner gehen:mycar.yft(das Modell),mycar_hi.yft(das hochdetaillierte Modell),mycar.ytd(Texturen) und manchmal.ydroder.ytypDateien. - Datendateien, die in einen
data-Ordner gehen:vehicles.meta,carvariations.meta,carcols.metaundhandling.meta, und manchmalvehiclelayouts.meta.
Der erste Satz ist das Aussehen des Autos, der zweite Satz ist, was es ist: sein Name, Farben, Handling und Sitze.
Die Ordnerstruktur
Erstelle eine Ressource für das Auto oder eine für ein ganzes Paket:
resources/[cars]/mycar/
fxmanifest.lua
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
data/
vehicles.meta
carvariations.meta
carcols.meta
handling.metaDateien in stream werden automatisch an Spieler gesendet. Du musst sie nicht im Manifest auflisten. Dateien in data werden nicht gestreamt, und das Manifest muss sie deklarieren.
Die fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'data/vehicles.meta',
'data/carvariations.meta',
'data/carcols.meta',
'data/handling.meta',
}
data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'Der files {}-Block macht die Dateien für den Spiel-Client verfügbar. Jede data_file-Zeile teilt dem Spiel mit, welcher Typ eine Datei ist. Zwei Regeln sind wichtig:
- Jede Datei braucht beide: einen Eintrag in
filesund einedata_file-Zeile mit dem richtigen Typ. - Ein Paket mit vielen Autos hat oft einen
data-Ordner pro Auto. Du kannst ein Muster wie'data/**/*.meta'infiles {}verwenden, aber diedata_file-Zeilen für diese Dateien müssen trotzdem geschrieben werden, eine pro Typ, und die Typ-Zeilen akzeptieren das gleiche Muster.
files { 'data/**/*.meta' }
data_file 'HANDLING_FILE' 'data/**/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/**/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/**/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/**/carvariations.meta'Wenn das Paket auch eine vehiclelayouts.meta hat, deklariere sie auch mit data_file 'VEHICLE_LAYOUTS_FILE' 'data/vehiclelayouts.meta'.
Starte es und spawne es
Füge in server.cfg die Ressource hinzu:
ensure mycarDer Ressourcen-Ordnername und der ensure-Name müssen übereinstimmen. Wenn du einen Klammer-Ordner wie [cars] verwendest, startet ensure [cars] alles darin.
Der Spawn-Name ist die modelName in vehicles.meta:
<Item>
<modelName>mycar</modelName>
<txdName>mycar</txdName>
<handlingId>MYCAR</handlingId>
...
</Item>Hier spawnst du es mit mycar. In einem Skript:
local model = joaat('mycar')
lib.requestModel(model)
local veh = CreateVehicle(model, coords.x, coords.y, coords.z, heading, true, false)lib.requestModel ist von ox_lib. Ohne dies aufrufen RequestModel(model) und warten, bis HasModelLoaded(model) wahr ist. Die meisten Admin-Menüs und das txAdmin-Menü spawnen ein Auto nach dem gleichen Namen.
Tipp: Die
modelName, die Namen der.yft/.ytd-Dateien und dietxdNamesollten alle übereinstimmen. Eine Nichtübereinstimmung ist das erste, was überprüft werden sollte, wenn ein Auto nicht erscheint.
Addon-Autos versus Ersatz-Autos
Ein Addon-Auto hat einen neuen Namen, den das Basis-Spiel nicht verwendet, zum Beispiel mycar. Es braucht die obigen Datendateien und fügt ein Auto zur Liste hinzu. Sowohl dein neues Auto als auch die ursprünglichen Autos existieren. Dies ist die richtige Wahl für fast alle Autos heute.
Ein Ersatz-Auto verwendet die Dateinamen eines Autos aus dem Basis-Spiel, wie sultan.yft, und legt sie in einen stream-Ordner. FiveM lädt dann dein statt des Originals, überall wo dieses Auto erscheint, einschließlich im Verkehr. Es braucht normalerweise keine vehicles.meta für das Modell, da das Spiel bereits den Namen kennt. Ein Ersatz-Auto ändert nur das Aussehen. Wenn du anderes Handling möchtest, brauchst du die passende handling.meta mit der ursprünglichen Handling-ID.
Vermische die beiden Ideen nicht in einem Ordner. Ein Paket, das Ersatz- und Addon-Dateien mischt, ist eine häufige Quelle für verwirrende Bugs.
Überprüfe das Ergebnis
- Starte den Server und lese die Konsole. Ressourcenfehler, wie eine fehlende Datei in
files, erscheinen beim Start. Wenn die Ressource überhaupt nicht startet, siehe konnte Ressource nicht starten. - Tritt bei und spawne das Auto. Wenn ein Auto nicht gefunden wird, stimmt der Name nicht mit der
modelNameüberein, oder die Ressource ist nicht gestartet. - Öffne die Farben und das Handling des Autos im Spiel, um zu überprüfen, dass die Dateien
carcols.metaundhandling.metaverwendet werden.
Häufige Probleme
- Das Auto existiert nicht. Überprüfe
ensure, diefiles-Einträge und diemodelName. Ein Tippfehler in einem Pfad infilesstoppt die Ressource. - Das Auto ist unsichtbar, weiß oder hat falsche Texturen. Die
.ytdfehlt oder heißt anders als das Modell. Siehe Oversized Assets, wenn du auch Streaming-Warnungen siehst. - Das Auto handelt sich wie ein Standard-Auto. Die
handling.metaist nicht deklariert, oder ihrehandlingIdstimmt nicht mit der invehicles.metaüberein. - Ein auf DLC basierendes Auto wird als beschädigt angezeigt. Einige Autos brauchen einen neueren Spiel-Build. Stelle einen mit
sv_enforceGameBuildinserver.cfgein: siehe sv_enforceGameBuild und DLC.
Checkliste
| Symptom | Behebung |
|---|---|
| Ressource startet nicht | Überprüfe, dass jeder Pfad in files {} existiert und das Manifest keine Tippfehler hat |
| Auto kann nicht gespawnt werden | Spawne mit der modelName aus vehicles.meta; ensure die Ressource |
| Auto ist weiß oder hat keine Texturen | Überprüfe die .ytd-Datei und ihren Namen gegen das Modell |
| Auto handelt falsch | Füge die HANDLING_FILE Zeile hinzu und stimme die handlingId ab |
| Keine Farben oder falsche Farben | Füge CARCOLS_FILE und VEHICLE_VARIATION_FILE Zeilen hinzu |
| Original-Auto geändert | Du hast einen Ersatz-Namen verwendet: benne die Dateien und das Modell für ein Addon um |
| Auto mit DLC-Modell beschädigt | Erhöhe den Spiel-Build mit sv_enforceGameBuild |
Kurze Antworten
Welchen Namen verwende ich, um ein Addon-Auto zu spawnen?
Den Wert modelName in vehicles.meta. Wenn dort <modelName>mycar</modelName> steht, spawne es mit mycar, was auch mit den Namen der .yft- und .ytd-Dateien übereinstimmen muss.
Worin besteht der Unterschied zwischen einem Addon-Auto und einem Ersatz-Auto?
Ein Ersatz-Auto überschreibt ein Auto aus dem Basis-Spiel, indem es dessen Dateinamen verwendet, sodass das Original weg ist. Ein Addon-Auto hat einen neuen eindeutigen Namen und eigene Meta-Dateien und sitzt neben den ursprünglichen Autos.
Mein Auto wird gespawnt, fährt aber falsch oder sieht weiß aus. Was sollte ich überprüfen?
Falsches Handling verweist auf handling.meta und dessen data_file Zeile. Ein weißes oder texturloses Auto verweist auf eine fehlende .ytd oder einen Namen, der nicht dem Modell entspricht.
Scripts ohne dieses Problem
Chameleon Paints82 schillernde Chamäleon-Lacke in einem Menü, per Klick aufgetragen.Script ansehen →
Advanced BoostingFahrzeug-Boosting per Tablet: Aufträge von Klasse D bis S+, Crews und eine Live-Warteschlange.Script ansehen →
Car BombPlatziere, finde und entschärfe Autobomben — mit Zünder-Handy und C4-Minispiel.Script ansehen →