SCRIPT

Documentación de Estudio de libreas 3D

OV Librea

Estudio de libreas dentro del juego: pinta la textura real de un vehículo viendo su modelo en 3D y exporta un recurso listo para ensure, con soporte para libreas animadas.

Que hace

OV Librea es una herramienta para administradores y creadores de contenido. Con /librea se abre un estudio a pantalla completa con:

Importante antes de comprar o instalar: el estudio abre con solo copiar la carpeta, pero para exportar libreas e importar vehículos necesita una herramienta de conversión y un pequeño servicio "satélite" que se preparan aparte (ver "Requisitos" e "Instalación"). La guía completa de esta preparación está en el archivo LEEME.md incluido con el recurso.

Requisitos

Dependencias declaradas en el fxmanifest.lua: ninguna (no declara dependencies). Tampoco usa oxmysql ni base de datos, ni qb-core, ni ox_lib.

Para el funcionamiento completo (según el LEEME.md del recurso):

RequisitoPara qué
FiveM Legacy (Linux o Windows)El estudio exporta texturas en formato Legacy.
Node.js 18 o superiorEjecuta el servicio satélite.
SDK de .NET 8Compila la herramienta de conversión ovlibrea.
CodeWalker.Core.dll (proyecto de terceros)La herramienta lo usa para leer y escribir .yft y .ytd. No se incluye: lo obtienes y compilas tú, respetando su licencia.
PM2 o systemdMantiene el satélite encendido (recomendado).
Puerto 30170/TCP accesibleEl estudio de cada administrador se conecta al satélite.

Lua 5.4 (lua54 'yes'). Sin la herramienta de conversión el estudio abre, pero avisa de que no encuentra la herramienta y no se puede exportar ni importar.

Instalacion

  1. Descarga el recurso desde el Portal de Cfx.re con la cuenta Cfx con la que lo compraste. Viene protegido con Asset Escrow de Cfx.re y funciona solo en servidores de tu cuenta.
  2. Copia la carpeta ov_librea en resources.
  3. Prepara la herramienta de conversión y el satélite siguiendo el LEEME.md (secciones "Antes de empezar", "Instalación" y, si tu servidor es Windows, "Si tu servidor es Windows").
  4. Añade en server.cfg:
   set ov_librea_token "el-token-de-tu-satelite"
   ensure ov_librea
   add_ace group.admin ov_librea.admin allow

El recurso lee la convar ov_librea_token con GetConvar. Debe coincidir con el token de la configuración del satélite. Reinicia el servidor después de ponerlo.

  1. Revisa shared/config.lua: Config.Satelite.url (dirección del satélite), Config.Satelite.public (dirección que ven los administradores desde su juego), Config.ToolPath y Config.OutputDir. Los valores que trae por defecto son rutas y direcciones de ejemplo: cámbialos por los de tu servidor.
  2. Abre /librea. Si ves el botón Catálogo, el satélite está bien conectado.

Base de datos: no usa. Los proyectos se guardan como archivos .json en la carpeta proyectos/ del recurso.

Protección y edición: según el fxmanifest.lua, quedan sin cifrar (escrow_ignore) shared/config.lua y la carpeta web/ (la interfaz). El resto del código está cifrado.

Configuracion

Todo se edita en shared/config.lua.

ClaveValor por defectoPara qué sirve
Config.Command'librea'Nombre del comando que abre el estudio.
Config.AdminAce'ov_librea.admin'Permiso ACE necesario para usarlo.
Config.FreezePlayertrueCongela al jugador y oculta el mapa mientras el estudio está abierto.
Config.ToolPathruta de ejemploRuta absoluta del ejecutable ovlibrea (herramienta de conversión). Cámbiala por la tuya.
Config.Satelite.urlhttp://127.0.0.1:30170Dirección a la que el servidor FiveM habla con el satélite.
Config.Satelite.publicdirección de ejemploDirección (idealmente HTTPS) por la que los administradores alcanzan el satélite. Ponla en la tuya.
Config.OutputDirruta de ejemploCarpeta donde se crean los recursos exportados. Si es nil, usa exports/ dentro del recurso.
Config.ExportTimeout180Segundos de espera a que termine una exportación.
Config.MaxProjectBytes40 MBTamaño máximo de un proyecto subido.
Config.MaxImageBytes6 MBTamaño máximo de una imagen cargada por enlace.
Config.Chunk / Config.MaxChunks / Config.Window12000 / 3600 / 4Troceado y control de las subidas.
Config.AnimPresets26 efectosEfectos animados permitidos (deben existir en web/anim.js).
Config.Texttextos en españolMensajes mostrados al usuario.

Comandos y permisos

ComandoPermisoQué hace
/libreaACE ov_librea.adminAbre el estudio. Si estás dentro de un vehículo (o junto a uno) ya importado, se abre con ese modelo.

El nombre del comando se puede cambiar en Config.Command. No registra teclas ni exports. Los eventos del recurso son internos del estudio; no están pensados para que otros scripts los llamen.

Concede el permiso con:

add_ace group.admin ov_librea.admin allow

Atajo dentro del estudio: Ctrl+S para guardar el proyecto.

Como se usa

  1. Entra al servidor con el permiso ACE y escribe /librea.
  2. Si el vehículo aún no está importado, pulsa Catálogo, Escanear ahora, marca los vehículos Aptos o Adaptables y pulsa Importar seleccionados. El estudio se reinicia solo para publicarlos; vuelve a abrir /librea.
  3. Pinta sobre la textura: capas, pincel, relleno, texto, formas e imágenes. Usa "Ver partes (UV)" para ver dónde cae cada pieza.
  4. Opcional: añade capas animadas con los efectos disponibles.
  5. Guarda el proyecto (Ctrl+S) y pulsa Exportar.
  6. El recurso exportado aparece en la carpeta de salida como ov_librea_<nombre>/. Añádelo al server.cfg después del recurso que trae el vehículo, y reinicia (o refresh + ensure).
SelloSignificado
AptoTiene una textura propia de librea sobre la pintura de la carrocería.
AdaptableEl modelo tiene la ranura de librea pero está vacía o falta en el .ytd: se crea un lienzo nuevo de 2048 px. Experimental.
ExperimentalLibrea pequeña o texturas dentro del .yft: la calidad puede ser baja.
Pintura planaNo tiene textura de carrocería: no hay dónde pintar.
No compatibleModelo Gen9/Enhanced o ilegible.

Las piezas sueltas (alerones, parachoques, props) se ignoran.

Para administradores

Tabla de problemas frecuentes:

SíntomaCausa y solución
No aparece el botón CatálogoFalta set ov_librea_token en el server.cfg o el satélite no está corriendo. Reinicia tras poner el token.
"El estudio no alcanza el satélite desde tu juego"El puerto 30170/TCP está cerrado o la dirección no es alcanzable: ábrelo o define Config.Satelite.public.
"La herramienta de conversión falló"Vuelve a compilarla y comprueba que el satélite corre con el mismo usuario que FXServer.
La exportación no crea archivosPermisos: el satélite y FXServer deben ser el mismo usuario del sistema.

Preguntas frecuentes

¿Funciona en servidores Enhanced? No. Exporta texturas en formato Legacy. Los vehículos Gen9/Enhanced se marcan como "No compatible".

¿Necesito base de datos? No. Los proyectos son archivos .json dentro del recurso.

¿Puedo editar vehículos de GTA V originales? Sí, extrayendo sus archivos de tu propia copia del juego y colocándolos en un recurso (ver "Para administradores").

¿Por qué no puedo exportar? Normalmente falta la herramienta de conversión o el satélite. Revisa la tabla de problemas y el LEEME.md.

¿Puedo usar el estudio sin el satélite? El estudio abre y puede trabajar con los vehículos ya importados, pero el catálogo y la importación necesitan el satélite, y la exportación necesita la herramienta de conversión.

¿Dónde veo los errores? En la consola del servidor y en F8; la interfaz envía sus pasos y errores a F8 con el prefijo [ov_librea][ui].

Actualizaciones y soporte

Las versiones nuevas aparecen en el Portal de Cfx.re y en la tienda. Conserva tu shared/config.lua y la carpeta proyectos/ al actualizar. Para soporte, usa el Discord de la tienda: [enlace de soporte].