Referencia de data_file de fxmanifest para vehículos

Por Nilo3D · Actualizado:

Una línea data_file en fxmanifest.lua le dice a FiveM que cargue un archivo del resource en el juego como un tipo concreto de datos del juego. Los vehículos usan HANDLING_FILE para handling.meta, VEHICLE_METADATA_FILE para vehicles.meta, CARCOLS_FILE para carcols.meta, VEHICLE_VARIATION_FILE para carvariations.meta y VEHICLE_LAYOUTS_FILE para vehiclelayouts.meta. Además, cada archivo debe estar declarado en files.

¿Qué hace data_file?

La documentación de FiveM describe data_file como algo que añade "a data file of a specified type to the game extra content system", es decir, un archivo de datos de un tipo concreto al sistema de contenido extra del juego. En la práctica es el mismo mecanismo que usa el juego para sus propios packs de DLC: de cada tipo se ocupa un cargador que sabe leer esa clase de archivo.

La línea tiene dos cadenas: el tipo y la ruta dentro del resource.

fx_version 'cerulean'
game 'gta5'

files {
  'data/handling.meta',
  'data/vehicles.meta',
  'data/carcols.meta',
  'data/carvariations.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'

El archivo también tiene que aparecer en files. files hace que el servidor envíe el archivo a los jugadores, y data_file hace que el juego lo lea. Uno sin el otro no hace nada.

¿Qué tipo de data_file va con cada archivo de vehículo?

Estos son los tipos que importan para los vehículos, tomados de la referencia de data files de FiveM.

Tipo de data_fileArchivoElemento raízPara qué sirve
HANDLING_FILEhandling.metaCHandlingDataMgrPerfiles de física. Guía
VEHICLE_METADATA_FILEvehicles.metaCVehicleModelInfo__InitDataListRegistra los modelos de vehículos. Guía
CARCOLS_FILEcarcols.metaCVehicleModelInfoVarGlobalMod kits, sirenas, luces. Guía
VEHICLE_VARIATION_FILEcarvariations.metaCVehicleModelInfoVariationColores, kits y ajustes de luces por modelo.
VEHICLE_LAYOUTS_FILEvehiclelayouts.metaCVehicleMetadataMgrAsientos, puntos de entrada, animaciones. Guía
CLIP_SETS_FILEclip_sets.xmlfwClipSetManagerClip sets para animaciones personalizadas.
EXPLOSION_INFO_FILEexplosion.metaCExplosionInfoManagerConfiguraciones de explosión personalizadas.
VFXVEHICLEINFO_FILEvfxvehicleinfo.metaConjuntos de efectos visuales de vehículos.
PTFXASSETINFO_FILEptfxassetinfo.metaInformación de assets de efectos de partículas.
AUDIO_GAMEDATA, AUDIO_SOUNDDATA, AUDIO_WAVEPACK.dat151.rel, .dat54.rel, carpeta de archivos .awcSonidos de motor personalizados.
VEHICLE_SHOP_DLC_FILEshop_vehicle.metaDatos de tienda de vehículos de los packs de DLC.
CONTENT_UNLOCKING_META_FILEAparece en la referencia sin descripción. No hace falta para un vehículo add-on.

El tipo debe escribirse exactamente igual y en mayúsculas.

¿Importa el orden de las líneas data_file?

En parte. FiveM siempre carga las entradas HANDLING_FILE y VEHICLE_LAYOUTS_FILE antes que cualquier otro tipo, las hayas escrito en el orden que sea. Todos los demás tipos conservan el orden del manifest. Esto sale del código del cliente de FiveM, que ordena la lista de ese modo antes de cargar.

El motivo está en el lado del juego: cuando se lee vehicles.meta, el juego busca por nombre la entrada de handling del vehículo y su layout en ese mismo instante. Si todavía no están cargados, el vehículo se registra sin ellos.

Para los tipos restantes, escríbelos en orden de dependencia, primero lo que otros archivos referencian:

fx_version 'cerulean'
game 'gta5'

files {
  'data/handling.meta',
  'data/vehiclelayouts.meta',
  'data/clip_sets.xml',
  'data/vehicles.meta',
  'data/carcols.meta',
  'data/carvariations.meta',
}

-- 1. things vehicles.meta points at
data_file 'HANDLING_FILE'          'data/handling.meta'
data_file 'CLIP_SETS_FILE'         'data/clip_sets.xml'
data_file 'VEHICLE_LAYOUTS_FILE'   'data/vehiclelayouts.meta'
-- 2. the vehicle itself
data_file 'VEHICLE_METADATA_FILE'  'data/vehicles.meta'
-- 3. kits, then the variations that reference them
data_file 'CARCOLS_FILE'           'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
  • CLIP_SETS_FILE cerca del principio, ya que los layouts se refieren a los clip sets por nombre.
  • VEHICLE_METADATA_FILE a continuación.
  • CARCOLS_FILE antes que VEHICLE_VARIATION_FILE, porque carvariations.meta se refiere a kits que define carcols.meta.

¿Puedo cargar muchos vehículos con una sola línea?

Sí. Tanto files como data_file aceptan patrones glob en la ruta. * coincide dentro de una carpeta y ** coincide a cualquier profundidad. Un pack de vehículos con una subcarpeta por vehículo se puede declarar una sola vez:

files {
  'data/**/handling.meta',
  'data/**/vehicles.meta',
  'data/**/carcols.meta',
  'data/**/carvariations.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'

Así, los vehículos nuevos que se dejen en data/ se detectan sin editar el manifest.

¿Por qué los archivos .yft y .ytd no están en el manifest?

Los archivos de una carpeta llamada stream se registran automáticamente por nombre de archivo y extensión, así que los modelos, las texturas y los diccionarios de animación no necesitan ninguna entrada en el manifest. Las subcarpetas dentro de stream no dan problemas. Hay dos cosas que FiveM rechaza ahí: los archivos sin extensión y los archivos .rpf, que hay que extraer antes.

Cómo extraer un dlc.rpf de un jugador y ordenar sus archivos en un resource está en cómo convertir un coche de un jugador en add-on FiveM.

¿Se pueden editar los metas en un resource con escrow?

Los resources de pago que se entregan mediante Cfx.re Asset Escrow tienen protegidos sus scripts y archivos de modelo, y la entrada del manifest escrow_ignore enumera los archivos que el sistema de escrow deja intactos. Qué archivos quedan abiertos lo decide el autor, así que revisa la página del producto. Los metas que el dueño de un servidor quiere editar más a menudo son:

  • handling.meta, para cambiar la velocidad, el agarre y la frenada.
  • carvariations.meta, para cambiar las combinaciones de color.
  • vehicles.meta, para cambiar los flags, la clase o la clave del nombre mostrado.

En los vehículos de Nilo3D, como el Coil S-Cooter, los metas de handling y de vehículos quedan abiertos. Cómo se instalan los resources con escrow está en instalar un resource de FiveM de Cfx.re Escrow.

Si un resource con escrow no arranca y muestra "You lack the required entitlement", mira cómo solucionar el error de entitlement.

¿Cuáles son los errores habituales en el manifest?

ErrorResultadoSolución
Meta en data_file pero no en filesEl archivo nunca llega al jugador.Añade la misma ruta a files.
Ruta o nombre de carpeta incorrectosNo se carga nada.Las rutas son relativas a la carpeta del resource y usan barras normales.
Tipo equivocado para el archivoEl archivo va al cargador equivocado y sus datos no se aplican.Usa el tipo de la tabla de arriba.
Metas colocados en stream/No se cargan como archivos de datos.Deja los metas fuera de stream y decláralos.
Falta fx_version o gameEl resource no carga bien.Empieza el manifest con fx_version 'cerulean' y game 'gta5'.

El proceso completo, desde las carpetas hasta el spawn, está en cómo añadir un vehículo add-on a FiveM.

Preguntas frecuentes

¿Cuál es el data_file de handling.meta?
data_file 'HANDLING_FILE' seguido de la ruta a handling.meta, con la misma ruta declarada en files.
¿Cuál es el data_file de carcols.meta y carvariations.meta?
carcols.meta usa CARCOLS_FILE y carvariations.meta usa VEHICLE_VARIATION_FILE.
¿Tengo que declarar los archivos meta en files además de en data_file?
Sí. files hace que el servidor envíe el archivo a los jugadores y data_file hace que el juego lo cargue. Un meta que falta en files nunca se descarga.
¿data_file admite comodines?
Sí. La referencia del manifest de FiveM indica que data_file admite globbing en el nombre del archivo, por ejemplo data/**/handling.meta.
¿En qué orden carga FiveM los archivos de datos de vehículos?
Las entradas HANDLING_FILE y VEHICLE_LAYOUTS_FILE se cargan primero. Todos los demás tipos se cargan en el orden en que aparecen en el manifest.

Fuentes

Productos de esta guía

Todas las guías