Cómo añadir un vehículo add-on a un servidor FiveM
Para añadir un vehículo add-on a un servidor FiveM, pon los archivos del modelo (.yft, _hi.yft, .ytd) en la carpeta stream de un resource y los archivos meta en una carpeta data. Declara los metas en fxmanifest.lua con líneas files y data_file, añade ensure a server.cfg, reinicia y haz spawn del vehículo con su nombre de modelo.
¿Qué es un vehículo add-on en FiveM?
Un vehículo add-on es un vehículo con su propio nombre de modelo que se carga junto a los vehículos originales de GTA V en lugar de reemplazar a uno de ellos. En FiveM vive en un resource del servidor: el servidor envía los archivos a cada jugador que entra, así que nadie instala nada a mano.
| Add-on | Reemplazo | |
|---|---|---|
| Nombre de modelo | Nuevo (por ejemplo mycar) | Uno existente (por ejemplo sultan) |
| Vehículo original | Sigue en el juego | Se sustituye para todos los jugadores |
| Archivos meta | Necesita su propia entrada en vehicles.meta | Puede reutilizar la entrada original |
| Uso típico | Coches del servidor, tiendas, vehículos de trabajo | Cambios visuales de coches del tráfico |
¿Cuáles son los pasos, en resumen?
- Crea una carpeta para el resource dentro de la carpeta
resourcesdel servidor. - Pon los archivos
.yfty.ytden una subcarpetastream. - Pon los archivos
.metaen una subcarpetadata. - Escribe un
fxmanifest.luaque declare cada meta enfilesy en una líneadata_file. - Añade
ensure <folder name>aserver.cfgy reinicia el servidor. - Haz spawn del vehículo con su nombre de modelo.
Cada archivo meta tiene además su propia guía, enlazada en la tabla de la sección siguiente.
¿Qué archivos necesita un vehículo add-on?
Un vehículo add-on son dos grupos de archivos: los archivos binarios del modelo, que van en stream/, y los archivos meta en XML, que le dicen al juego qué es el modelo y cómo se comporta. El juego solo exige el modelo, sus texturas y una entrada en vehicles.meta. Los demás metas añaden handling, colores, tuning y asientos.
| Archivo | Carpeta | Qué hace | ¿Necesario? |
|---|---|---|---|
mycar.yft, mycar_hi.yft | stream | El modelo 3D. Consulta archivos de modelo del vehículo. | Sí |
mycar.ytd | stream | El diccionario de texturas. | Sí |
vehicles.meta | data | Registra el modelo: nombre, tipo, layout, flags. Consulta vehicles.meta explicado. | Sí |
handling.meta | data | Física: masa, potencia, agarre, suspensión. Consulta handling.meta explicado. | Solo si el vehículo tiene su propio handlingId |
carvariations.meta | data | Combinaciones de color, mod kit, ajustes de luces y sirenas. | Recomendado |
carcols.meta | data | Kits de tuning, sirenas y configuraciones de luces personalizados. Consulta carvariations y carcols. | Solo para piezas de tuning o sirenas personalizadas |
vehiclelayouts.meta | data | Asientos, puntos de entrada y animaciones personalizados. Consulta vehiclelayouts.meta explicado. | Solo para asientos o animaciones personalizados |
¿De dónde salen los archivos?
Los packs de vehículos hechos para FiveM ya vienen como un resource con estas carpetas. Un vehículo descargado como mod de un jugador suele venir como un archivo dlc.rpf. Dentro están los mismos archivos, pero hay que extraerlos y ordenarlos en la estructura de abajo.
| Herramienta | Para qué se usa |
|---|---|
| CodeWalker | Explorar los archivos del juego, ver modelos y exportar archivos .meta originales de los que copiar una entrada. |
| Blender con el add-on Sollumz | Importar, editar y exportar modelos de vehículos (.yft) y diccionarios de texturas (.ytd). |
| Cualquier editor de texto | Editar los archivos .meta y fxmanifest.lua, que son texto plano. |
La forma más rápida de escribir los metas de un vehículo nuevo es copiar las entradas del vehículo original que más se le parezca y cambiar los nombres.
Para crear o cambiar el modelo en sí, mira cómo hacer un vehículo FiveM en Blender con Sollumz. Convertir un dlc.rpf de un jugador en un resource está en cómo convertir un coche de un jugador en add-on FiveM, y las dos herramientas se comparan en CodeWalker vs Sollumz.
¿Cuál es la estructura de carpetas de un resource de vehículo?
Un resource de vehículo es una carpeta dentro de la carpeta resources del servidor con un fxmanifest.lua, una carpeta stream y una carpeta para los metas. El nombre de la carpeta es el nombre del resource. La carpeta de los metas puede llamarse como quieras, y casi todo el mundo la llama data.
resources/
mycar/
fxmanifest.lua
data/
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
Los archivos de stream/ se detectan por su nombre de archivo, así que no se declaran en el manifest. Los archivos meta no tienen ese atajo. Hay que declarar cada uno en el manifest.
¿Cómo escribo el fxmanifest.lua de un vehículo?
El manifest declara cada archivo meta 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 de dato correcto. Ambas están documentadas en la referencia del resource manifest de FiveM.
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'
fx_version 'cerulean'ygame 'gta5'son obligatorios al principio de todo manifest de FiveM.- Un meta que está en
data_filepero falta enfilesnunca llega al jugador, así que el vehículo no existirá para él. - La cadena del tipo debe corresponder al archivo:
HANDLING_FILEpara handling.meta,VEHICLE_METADATA_FILEpara vehicles.meta, y así con los demás. La lista completa está en la referencia de data_file para vehículos.
¿Cómo inicio el resource del vehículo?
Añade a server.cfg una línea con el nombre de la carpeta del resource y reinicia el servidor. ensure inicia el resource, o lo reinicia si ya está en marcha.
ensure mycar
Con el servidor en marcha puedes escribir refresh y después ensure mycar en la consola del servidor en lugar de reiniciarlo entero. Si un jugador que ya estaba conectado no ve el vehículo, pídele que se reconecte.
¿Cómo hago spawn del vehículo en el juego?
El nombre de spawn es el modelName de vehicles.meta, que también es el nombre del archivo .yft. Úsalo con cualquier menú de administración o comando de spawn de vehículos. Si el servidor todavía no tiene un comando de spawn, este script de cliente añade /car mycar:
RegisterCommand('car', function(_, args)
local model = GetHashKey(args[1] or 'mycar')
if not IsModelInCdimage(model) then return print('model not found') end
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local ped = PlayerPedId()
local veh = CreateVehicle(model, GetEntityCoords(ped), GetEntityHeading(ped), true, false)
SetPedIntoVehicle(ped, veh, -1)
SetModelAsNoLongerNeeded(model)
end)
El nombre que el juego muestra para el vehículo sale de gameName. Es una etiqueta de texto, así que sin etiqueta el HUD muestra la clave tal cual. Registra una desde un script de cliente:
-- client script: readable name for <gameName>MYCAR</gameName>
AddTextEntry('MYCAR', 'My Car GT')¿Qué nombres tienen que coincidir?
La mayoría de los vehículos add-on que no cargan tienen un nombre que no coincide entre dos archivos. En cada línea de abajo, los dos nombres tienen que ser idénticos:
stream/mycar.yft <modelName>mycar</modelName>
stream/mycar.ytd <txdName>mycar</txdName>
handling.meta <handlingName> <handlingId>MYCAR</handlingId>
carvariations.meta <modelName> <modelName>mycar</modelName>
vehiclelayouts.meta <Name> <layout>LAYOUT_STANDARD</layout>
carcols.meta <kitName> carvariations.meta <kits><Item>
Si el vehículo hace spawn pero algo falla (sin texturas, física equivocada, sin piezas de tuning), repasa la guía de solución de problemas de vehículos.
¿Importa el framework?
No. Un resource de vehículo no tiene ningún script que dependa de ESX, QBCore o QBox, así que los pasos de arriba son los mismos en todos los frameworks. El framework solo entra en juego cuando el vehículo se va a vender en un concesionario o guardar en un garaje, y eso está en añadir un vehículo personalizado a ESX, QBCore o QBox.
El Coil S-Cooter es un ejemplo funcional de esta estructura: una carpeta stream con el modelo, las texturas y los diccionarios de animación, y una carpeta data con handling, vehicles, carvariations, vehiclelayouts y clip sets, todo cargado con líneas data_file y sin ningún script.
Preguntas frecuentes
- ¿Dónde pongo los archivos de un vehículo add-on en FiveM?
- Dentro de una carpeta de resource en el directorio resources del servidor. Los archivos .yft y .ytd van en una subcarpeta llamada stream. Los archivos .meta van en cualquier otra subcarpeta (normalmente data) y se declaran en fxmanifest.lua.
- ¿Los jugadores tienen que descargar o instalar el vehículo?
- No. El servidor envía el resource a cada jugador cuando se conecta. No se instala nada en la carpeta de GTA V del jugador.
- ¿Puedo poner varios vehículos en un mismo resource?
- Sí. Pon todos los archivos de modelo en la misma carpeta stream y después fusiona los metas, o deja un juego por vehículo en subcarpetas y decláralos con un patrón glob como data/**/vehicles.meta, que aceptan tanto files como data_file.
- ¿Por qué mi vehículo add-on no hace spawn?
- Las causas más comunes son un resource que no está iniciado, un archivo meta que falta en files en el manifest, o un modelName que no coincide con el nombre del archivo .yft. La guía de solución de problemas recoge cada caso con su solución.
- ¿Cuál es la diferencia entre __resource.lua y fxmanifest.lua?
- __resource.lua es el formato antiguo del manifest. FiveM lo documenta como obsoleto y recomienda fxmanifest.lua con fx_version para todos los resources.
Fuentes
- FiveM docs: Resource manifest
- FiveM docs: Data files
- Sollumz, Blender add-on for GTA V assets
- CodeWalker
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?
- 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 convertir un mod de coche de un jugador de GTA 5 en un add-on de 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?
