Come aggiungere auto addon a un server FiveM: file stream e data

Aggiungi auto addon a FiveM passo dopo passo: la cartella stream, vehicles.meta, carvariations.meta, carcols.meta, handling.meta, righe data_file in fxmanifest, addon vs replace.

Hai un pacchetto di auto che vuoi sul tuo server, e la cartella contiene file come .yft, .ytd e diversi file .meta. Questa guida spiega dove va ogni file, cosa ha bisogno il fxmanifest.lua e come spawnare l'auto, con la differenza tra auto addon e replace.

Cosa contiene un pacchetto di auto addon

Un'auto viene in due tipi di file:

  • File modello e texture, che vanno in una cartella stream: mycar.yft (il modello), mycar_hi.yft (il modello ad alta precisione), mycar.ytd (texture) e a volte file .ydr o .ytyp.
  • File di dati, che vanno in una cartella data: vehicles.meta, carvariations.meta, carcols.meta e handling.meta, e a volte vehiclelayouts.meta.

Il primo set è come appare l'auto, il secondo set è cosa è: il suo nome, i colori, la gestione e i posti a sedere.

La struttura della cartella

Crea una risorsa per l'auto, o una per un intero pacchetto:

text
resources/[cars]/mycar/
  fxmanifest.lua
  stream/
    mycar.yft
    mycar_hi.yft
    mycar.ytd
  data/
    vehicles.meta
    carvariations.meta
    carcols.meta
    handling.meta

I file in stream vengono inviati ai giocatori automaticamente. Non li elenchi nel manifest. I file in data non vengono trasmessi in streaming e il manifest deve dichiararli.

Il fxmanifest.lua

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'

Il blocco files {} rende i file disponibili al client di gioco. Ogni riga data_file dice al gioco quale tipo è un file. Due regole sono importanti:

  • Ogni file ha bisogno di entrambi: una voce in files e una riga data_file con il tipo giusto.
  • Un pacchetto con molte auto spesso ha una cartella data per auto. Puoi usare un pattern come 'data/**/*.meta' in files {}, ma le righe data_file per questi file devono comunque essere scritte, una per tipo, e le righe del tipo accettano lo stesso pattern.
lua
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'

Se il pacchetto ha anche un vehiclelayouts.meta, dichiaralo anche, con data_file 'VEHICLE_LAYOUTS_FILE' 'data/vehiclelayouts.meta'.

Avvialo e spawnalo

In server.cfg, aggiungi la risorsa:

cfg
ensure mycar

Il nome della cartella della risorsa e il nome ensure devono corrispondere. Se usi una cartella tra parentesi quadre come [cars], ensure [cars] avvia tutto ciò che contiene.

Il nome spawn è il modelName in vehicles.meta:

xml
<Item>
  <modelName>mycar</modelName>
  <txdName>mycar</txdName>
  <handlingId>MYCAR</handlingId>
  ...
</Item>

Qui lo spawni con mycar. In uno script:

lua
local model = joaat('mycar')
lib.requestModel(model)
local veh = CreateVehicle(model, coords.x, coords.y, coords.z, heading, true, false)

lib.requestModel è da ox_lib. Senza di essa, chiama RequestModel(model) e aspetta fino a quando HasModelLoaded(model) è true. La maggior parte dei menu admin e il menu txAdmin spawnano un'auto dallo stesso nome.

Consiglio: il modelName, i nomi dei file .yft/.ytd e il txdName dovrebbero tutti concordare. Una mancata corrispondenza è la prima cosa da controllare quando un'auto non appare.

Auto addon versus auto replace

Un'auto addon ha un nuovo nome che il gioco base non usa, ad esempio mycar. Ha bisogno dei file di dati di cui sopra, e aggiunge un'auto alla lista. Sia la tua nuova auto che le auto originali esistono. Questa è la scelta giusta per quasi tutte le auto oggi.

Un'auto replace utilizza i nomi dei file di un'auto dal gioco base, come sultan.yft, e li mette in una cartella stream. FiveM carica quindi la tua invece dell'originale, ovunque quell'auto appaia, incluso il traffico. Di solito non ha bisogno di vehicles.meta per il modello, poiché il gioco conosce già il nome. Un'auto replace cambia solo l'aspetto. Se vuoi una gestione diversa, hai bisogno del handling.meta corrispondente con l'id handling originale.

Non mescolare i due concetti in una cartella. Un pacchetto che mescola file replace e addon è una fonte comune di bug confusi.

Controlla il risultato

  • Avvia il server e leggi la console. Gli errori delle risorse, come un file mancante elencato in files, appaiono all'avvio. Se la risorsa non si avvia del tutto, vedi couldn't start resource.
  • Entra e spawna l'auto. Se un'auto non è trovata, il nome non corrisponde al modelName, o la risorsa non è avviata.
  • Apri i colori e la gestione dell'auto nel gioco per controllare che i file carcols.meta e handling.meta siano in uso.

Problemi comuni

  • L'auto non esiste. Controlla ensure, le voci files e il modelName. Un errore di ortografia in un percorso in files ferma la risorsa.
  • L'auto è invisibile, o bianca, o ha texture sbagliate. Lo .ytd è mancante o nominato diversamente dal modello. Vedi oversized assets se vedi anche avvisi di streaming.
  • L'auto gestisce come un'auto standard. Il handling.meta non è dichiarato, o il suo handlingId non corrisponde a quello in vehicles.meta.
  • Un'auto basata su DLC appare come rotta. Alcune auto hanno bisogno di una build di gioco più recente. Impostane una con sv_enforceGameBuild in server.cfg: vedi sv_enforceGameBuild and DLC.

Checklist

Sintomo Soluzione
La risorsa non si avvia Controlla che ogni percorso in files {} esista e che il manifest non abbia errori di battitura
L'auto non può essere spawnata Spawna con il modelName da vehicles.meta; ensure la risorsa
L'auto è bianca o non ha texture Controlla il file .ytd e il suo nome rispetto al modello
L'auto gestisce male Aggiungi la riga HANDLING_FILE e fai corrispondere il handlingId
Nessun colore o colori sbagliati Aggiungi righe CARCOLS_FILE e VEHICLE_VARIATION_FILE
Auto originale cambiata Hai usato un nome replace: rinomina i file e il modello per un addon
Auto rotta con un modello DLC Alza la build di gioco con sv_enforceGameBuild

Risposte rapide

Quale nome uso per spawnare un'auto addon?

Il valore modelName in vehicles.meta. Se dice <modelName>mycar</modelName>, la spawni con mycar, che deve corrispondere anche ai nomi dei file .yft e .ytd.

Qual è la differenza tra un'auto addon e un'auto replace?

Un'auto replace sovrascrive un'auto dal gioco base utilizzando i nomi dei suoi file, quindi l'originale è sparita. Un'auto addon ha un nuovo nome unico e i suoi file meta, e si trova insieme alle auto originali.

La mia auto spawna ma guida male o sembra bianca. Cosa dovrei controllare?

Una gestione sbagliata punta a handling.meta e alla sua riga data_file. Un'auto bianca o con texture mancante punta a un file .ytd mancante o a un nome che non corrisponde al modello.

Script senza questo problema

Chameleon Paints82 vernici camaleonte che cambiano colore, in un menu da applicare con un clic.Vedi script →Advanced BoostingBoosting di veicoli dal tablet: contratti dalla classe D alla S+, crew e coda in tempo reale.Vedi script →Car BombPiazza, individua e disinnesca bombe sui veicoli — con telefono detonatore e minigioco del C4.Vedi script →

Continua a leggere