Cómo convertir un mod de coche de un jugador de GTA 5 en un add-on de FiveM
Para convertir a FiveM un mod de coche de un jugador de GTA 5, extrae el archivo dlc.rpf, pon los archivos .yft y .ytd en una carpeta stream y los archivos .meta en una carpeta data, y escribe un fxmanifest.lua con una línea data_file por cada meta. Si el mod reemplaza a un coche original, renombra sus archivos con un nombre de modelo nuevo y añade una entrada en vehicles.meta para que pase a ser un add-on.
¿Cuáles son los pasos, en resumen?
- Abre el
dlc.rpfdel mod en una herramienta de archivos y extráelo todo. - Crea una carpeta de resource con las subcarpetas
streamydata. - Mueve los archivos de modelo y de texturas (
.yft,.ytd) astream. - Mueve los archivos
.metaadata. - Escribe el
fxmanifest.lua: cada meta enfilesy en una líneadata_file. - Si es un mod de reemplazo, renombra los archivos y escribe una entrada de
vehicles.metapara el nombre nuevo. - Añade
ensureaserver.cfg, reinicia, haz spawn del coche y lee la consola del servidor.
¿Qué hay dentro de un mod de coche de un jugador?
Un coche add-on para un jugador viene como un archivo dlc.rpf que el jugador añade a la carpeta dlcpacks del juego. Dentro están los mismos archivos que necesita un resource de FiveM, envueltos en la estructura de DLC del modo de un jugador:
dlc.rpf
content.xml list of every file and its type
setup2.xml name and load order of the pack
data/ (or common/data/)
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
x64/vehicles.rpf (or x64/levels/gta5/vehicles/...rpf)
mycar.yft
mycar_hi.yft
mycar.ytd
Los nombres de las carpetas varían según el autor. El archivo que te dice qué es cada cosa es content.xml: enumera cada archivo de datos con un fileType, y esos nombres de tipo son los mismos que FiveM usa en las líneas data_file.
<Item>
<filename>dlc_mycar:/data/vehicles.meta</filename>
<fileType>VEHICLE_METADATA_FILE</fileType>
</Item>
<Item>
<filename>dlc_mycar:/data/carvariations.meta</filename>
<fileType>VEHICLE_VARIATION_FILE</fileType>
</Item>
<Item>
<filename>dlc_mycar:/%PLATFORM%/vehicles.rpf</filename>
<fileType>RPF_FILE</fileType>
</Item>
| En el dlc.rpf | En el resource de FiveM |
|---|---|
.yft, .ytd dentro de vehicles.rpf | stream/ |
| Modelos de piezas de tuning, en su propio archivo cuando el coche las tiene | stream/ |
Archivos .meta | data/, cada uno con una línea data_file del tipo indicado en content.xml |
content.xml, setup2.xml | No se usan. fxmanifest.lua hace su trabajo. |
Etiquetas de texto (.gxt2) | No se usan. Añade el nombre con una línea de script, ver abajo. |
¿Cómo extraigo el dlc.rpf?
FiveM no carga archivos .rpf desde un resource, así que hay que sacar los archivos. Sirve cualquier herramienta de archivos para GTA V. En CodeWalker, abre el RPF Explorer, usa File > Open Folder... sobre la carpeta que contiene el dlc.rpf, abre el archivo y los archivos que tiene dentro, selecciona los archivos y extráelos con Extract Raw... o Extract All.... OpenIV hace el mismo trabajo.
Los archivos están anidados: dlc.rpf contiene vehicles.rpf, que contiene los modelos. Sigue hasta llegar a archivos .yft, .ytd y .meta sueltos. Las dos herramientas se comparan en CodeWalker vs Sollumz.
¿Cómo monto el resource de FiveM?
Ordena los archivos extraídos como en cualquier resource de vehículo:
resources/
mycar/
fxmanifest.lua
data/
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
Después escribe el manifest. Cada meta se declara dos veces: una en files, para que el servidor lo envíe a los jugadores, y otra en una línea data_file, para que el juego lo cargue como el tipo correcto.
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'
| fileType en content.xml | Archivo |
|---|---|
HANDLING_FILE | handling.meta |
VEHICLE_METADATA_FILE | vehicles.meta |
CARCOLS_FILE | carcols.meta |
VEHICLE_VARIATION_FILE | carvariations.meta |
VEHICLE_LAYOUTS_FILE | vehiclelayouts.meta |
La lista completa de tipos y el orden en que se cargan está en fxmanifest.lua y data_file para vehículos. Cómo iniciar el resource y hacer spawn está en cómo añadir un vehículo add-on a un servidor FiveM.
¿Cómo convierto un mod de reemplazo en un add-on?
Un mod de reemplazo no tiene metas ni nombre nuevo. Sus archivos llevan el nombre de un coche original, por ejemplo sultan.yft, y el juego los dibuja en lugar del original. En stream desde un resource de FiveM funcionan igual: cambian todos los Sultan del servidor. Para conservar el coche original y añadir el tuyo al lado, dale al modelo su propio nombre.
- Renombra los archivos. Los nombres de los archivos son el nombre del modelo.
Las texturas de dentro delsultan.yft -> mycar.yft sultan_hi.yft -> mycar_hi.yft sultan.ytd -> mycar.ytd.ytdconservan sus nombres. El diccionario se encuentra por su nombre de archivo, no por lo que lleva dentro. - Escribe una entrada de vehicles.meta. Copia la entrada del coche reemplazado del
vehicles.metadel propio juego y cambiamodelNameytxdNameal nombre nuevo, además degameNamepara el nombre mostrado. DejahandlingId,layoutyaudioNameHashcomo están y el coche se conduce, tiene los asientos y suena como el original. Cada campo se explica en vehicles.meta explicado. - Añade una entrada de carvariations.meta con el
modelNamenuevo si quieres tus propias combinaciones de color. Consulta carvariations y carcols. - Dale un handling propio solo si quieres ajustarlo. En ese caso copia también la entrada de handling, con un
handlingNamenuevo, y apuntahandlingIda ella.
El nombre mostrado sale de una etiqueta de texto. En FiveM la añade una línea de script de cliente:
-- client script: readable name for <gameName>MYCAR</gameName>
AddTextEntry('MYCAR', 'My Car GT')¿Qué suele fallar después de convertir?
| Síntoma | Causa | Dónde mirar |
|---|---|---|
| La consola avisa de assets sobredimensionados | Los mods de un jugador suelen traer texturas de 4096 y una sola malla pesada | Optimizar un vehículo de FiveM |
| Aparecen piezas de tuning de otro coche | Dos archivos carcols.meta usan el mismo ID de kit | carvariations y carcols |
| El coche no hace spawn | Falta un meta en files o en data_file, o un nombre no coincide | Solución de problemas de vehículos |
| Faltan algunas texturas | El mod dependía de un diccionario de texturas compartido que estaba en otro archivo | Añade ese .ytd a stream y conserva el enlace al padre en txdRelationships. |
Una comprobación más antes de poner el mod de otra persona en un servidor público: lee las condiciones del autor. Algunos mods de un jugador no permiten la redistribución ni el uso en servidores.
¿Y si el modelo todavía no es un mod de GTA 5?
Un coche de otro juego o un archivo 3D cualquiera no tiene esqueleto, ni shaders de GTA, ni colisión, así que no hay nada que extraer y reordenar. Primero hay que reconstruirlo como vehículo de GTA en una herramienta 3D. Ese proceso está en cómo hacer un vehículo de FiveM en Blender con Sollumz.
Preguntas frecuentes
- ¿Puedo usar en FiveM un mod de coche de un jugador de GTA 5?
- Sí, si el autor lo permite. Los archivos de modelo y los metas son los mismos. Hay que extraerlos del dlc.rpf y ordenarlos como un resource con una carpeta stream, una carpeta data y un fxmanifest.lua.
- ¿Puedo poner un dlc.rpf en la carpeta stream?
- No. FiveM no carga archivos .rpf desde un resource. Extrae primero los archivos.
- ¿Cómo convierto un coche de reemplazo en un add-on?
- Renombra los archivos .yft, _hi.yft y .ytd con un nombre de modelo nuevo y añade una entrada de vehicles.meta copiada del coche reemplazado, con modelName y txdName cambiados a ese nombre.
- ¿Necesito content.xml y setup2.xml en FiveM?
- No. Pertenecen al sistema de DLC del modo de un jugador. En FiveM, el fxmanifest.lua declara los archivos y sus tipos.
- ¿Qué tipo de data_file necesita cada meta?
- El mismo nombre de tipo que le da content.xml: HANDLING_FILE para handling.meta, VEHICLE_METADATA_FILE para vehicles.meta, CARCOLS_FILE para carcols.meta y VEHICLE_VARIATION_FILE para carvariations.meta.
Fuentes
Productos de esta guía
- Coil S-Cooter: Patinete Eléctrico FiveM
- Hoverboard Pack: 3 Hoverboards FiveM
- Complete Bundle: Patinete + Hoverboards FiveM
Todas las guías
- Cómo instalar un resource FiveM de Cfx.re Escrow (Granted Assets)
- Cómo añadir un vehículo custom a un servidor ESX, QBCore o QBox
- ¿Qué son los LODs en los vehículos de FiveM?
- Cómo añadir un vehículo add-on a un servidor FiveM
- vehicles.meta explicado, campo por campo
- handling.meta explicado: campos, unidades y flags
- carvariations.meta y carcols.meta explicados
- vehiclelayouts.meta explicado: asientos, puntos de entrada y animaciones
- Referencia de data_file de fxmanifest para vehículos
- Archivos de modelo del vehículo (yft, _hi.yft, ytd) y el aviso de assets sobredimensionados
- Solución de problemas de vehículos add-on en FiveM: causas y soluciones
- Cómo arreglar "You lack the required entitlement" en un servidor FiveM
- Cómo funciona un hoverboard de FiveM sin script
- Cómo hacer un vehículo de FiveM en Blender con Sollumz 2.9
- Cómo optimizar un vehículo de FiveM: polígonos, LOD y presupuesto de texturas
- Cómo configurar la colisión de un vehículo en Sollumz
- Comprar vehículos FiveM: qué revisar antes de pagar
- Packs de coches FiveM vs vehículos sueltos
- Coches de marcas reales en FiveM: ¿se permiten?
- CodeWalker vs Sollumz: ¿qué herramienta usar para vehículos de FiveM?
