SCRIPT

Documentación de Bolso de ropa

OV Bolso de Ropa

Un bolso que guarda hasta 10 conjuntos de ropa dentro del propio ítem y permite cambiarse en cualquier lugar, con animaciones y recordando lo que el jugador lleva puesto.

Que hace

OV Bolso de Ropa añade un ítem de ox_inventory (por defecto ov_outfitbag). Al usarlo, el personaje deja el bolso en el suelo y se abre un panel a un lado de la pantalla.

Requisitos

Dependencias declaradas en el fxmanifest.lua:

Además, el código usa:

Lua 5.4 y base de datos MySQL o MariaDB con oxmysql.

Instalacion

  1. Descarga el recurso del 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_outfitbag en resources.
  3. Define el ítem en ox_inventory (data/items.lua). El paquete no modifica tu inventario. El nombre por defecto es ov_outfitbag (se cambia en Config.Item) y debe usar el export ov_outfitbag.useBag como acción de uso. Ejemplo:
   ['ov_outfitbag'] = {
       label = 'Bolso de ropa',
       weight = 1000,
       stack = false,
       close = true,
       client = { export = 'ov_outfitbag.useBag' },
   },

Ajusta el peso y la imagen del ítem a tu servidor.

  1. Añade en server.cfg, después de las dependencias:
   ensure ox_lib
   ensure oxmysql
   ensure ox_inventory
   ensure ov_outfitbag
  1. Base de datos: la tabla ov_outfitbag_worn se crea sola al arrancar (oxmysql). El recurso incluye sql/install.sql solo como referencia por si prefieres crearla a mano. Los conjuntos guardados no usan esta tabla: van en los metadatos del ítem.
  2. Reinicia el servidor.

Protección y edición: según el fxmanifest.lua, quedan sin cifrar (escrow_ignore) shared/config.lua y la carpeta web/ (interfaz). El resto del código está cifrado. El recurso no lee convars del server.cfg ni usa permisos ACE.

Configuracion

Se edita en shared/config.lua.

ClaveValor por defectoPara qué sirve
Config.Item'ov_outfitbag'Nombre del ítem del bolso en ox_inventory.
Config.MaxOutfits10Conjuntos máximos por bolso.
Config.MaxLabel24Largo máximo del nombre de un conjunto.
Config.Propsprop_cs_duffel_01, prop_big_bag_01, prop_ld_case_01Modelos de bolso que se colocan en el suelo.
Config.PlaceForward0.85Distancia delante del jugador a la que se deja el bolso.
Config.CloseDistance6.0Distancia a la que el bolso se recoge y el panel se cierra.
Config.WornDelayMs7000Espera tras cargar el personaje antes de aplicar la ropa recordada.
Config.ReloadDelayMs2500Espera tras recargar la apariencia antes de reaplicar la ropa recordada.
Config.Components / Config.Props_índices de componentes y accesorios del juegoQué piezas se guardan y a qué componente corresponden.
Config.EmptyDrawableprendas vacías por piezaValor que se considera "sin prenda".
Config.Offmale / femalePrenda estándar que queda al quitarse cada pieza, por género.
Config.Order / Config.Labels15 piezas con nombre en españolOrden y etiqueta de las piezas en el panel.
Config.Animanimaciones por piezaDiccionario, clip y duración (ms) de las animaciones.
Config.Texttextos en españolMensajes que ve el jugador.
Config.DebugfalseModo de depuración.

Los iconos del panel están en web/img/ y son editables.

Comandos y permisos

Este recurso no registra comandos, teclas ni permisos ACE. Se usa exclusivamente desde el ítem.

Como se usa

  1. El jugador usa el ítem desde su inventario (no se puede dentro de un vehículo ni estando muerto). El personaje deja el bolso en el suelo con una animación.
  2. En el panel:
  3. Guardar: escribe un nombre y guarda la ropa que lleva puesta.
  4. Ponerse: elige un conjunto y pulsa para vestirlo completo, o elige una sola pieza.
  5. Quitarse: quita el conjunto entero o una pieza.
  6. Borrar: elimina un conjunto.
  7. Volver a mi ropa de siempre: borra la ropa recordada y recarga la apariencia base.
  8. Al alejarse más de 6 metros, el bolso se recoge y el panel se cierra.

Para administradores

Preguntas frecuentes

¿Funciona con otro sistema de ropa distinto de illenium-appearance? Los conjuntos se aplican directamente sobre el personaje, así que se pueden guardar y ponerse con otros sistemas, pero el botón de volver a la ropa base y el descarte al guardar apariencia usan eventos de illenium-appearance.

¿Dónde se guardan los conjuntos? Dentro del ítem (metadatos de ox_inventory). Si el jugador pierde o entrega el bolso, los conjuntos van con él.

¿Necesito importar un SQL? No. La tabla ov_outfitbag_worn se crea sola.

¿Cómo cambio el máximo de conjuntos? Config.MaxOutfits en shared/config.lua.

¿Por qué mi personaje recupera la ropa del bolso al conectarse? Es una función del recurso: recuerda lo que el jugador llevaba puesto con el bolso. Para borrarla, el jugador usa "volver a mi ropa de siempre", o se descarta sola al guardar su apariencia en una tienda de ropa.

¿Puedo usar mis propios iconos? Sí, la interfaz (web/) y sus imágenes no están cifradas.

Actualizaciones y soporte

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