Skip to main content
Crea un nuevo inventario tanto en la base de datos como en memoria (según las opciones). Si ya existe un inventario con el mismo ID, devuelve el existente sin modificarlo.

Parámetros

Valor de retorno

Notas

Campos de options:
  • maxWeight (number, opcional): Capacidad máxima de peso
  • maxSlots (number, opcional): Número máximo de slots
  • columns (number, opcional): Número de columnas para la vista en cuadrícula en la interfaz (por ejemplo, 10 slots totales pero 2 columnas → cuadrícula de 2x5)
  • temporary (boolean, opcional): Si es true, el inventario no se guarda en la base de datos y se perderá al reiniciar el script
  • prefillItems (table, opcional): Configuración de loot aleatorio. Los ítems se eligen mediante selección ponderada sin repetición:
    • minTypes (number, opcional): Número mínimo de tipos de ítems distintos a añadir. Por defecto: 1
    • maxTypes (number, opcional): Número máximo de tipos de ítems distintos a añadir. Por defecto: tamaño del pool
    • items (table, obligatorio): Array de posibles ítems, cada entrada: {name = string, chance = number, min = number, max = number, metadata = table?}
  • revealItems (table, opcional): Animación de revelado progresivo de ítems al abrir el inventario:
    • delayPerItem (number, opcional): Milisegundos entre cada revelado de ítem. Por defecto: 1000
    • randomOrder (boolean, opcional): Si es true, los ítems se revelan en orden aleatorio en lugar de por orden de slot. Por defecto: false
  • slots (table, opcional): Configuración por slot. La clave es el número de slot, el valor es una tabla SlotConfig: label, image, opacity, whitelist, blacklist
  • whitelist / blacklist (table, opcional): Filtros de ítems a nivel de inventario. Formato: {itemName = true, ...}
  • allowedJobs (table, opcional): Trabajos con permiso para acceder a este inventario
  • allowedIdentifiers (table, opcional): Identificadores de personaje con permiso para acceder a este inventario
  • disableIncoming / disableOutgoing (boolean, opcional): Bloquea las transferencias de entrada o salida por parte del jugador
  • dropDisabled (boolean, opcional): Si es true, los ítems no se pueden soltar desde este inventario
  • noLimitDrag (boolean, opcional): Si es true, arrastrar ignora el diálogo de selección de cantidad y mueve la pila completa. Se usa internamente para tiendas
Además:
  • Si id ya existe, se devuelve el inventario existente tal cual, los items estáticos y prefillItems NO se vuelven a aplicar
  • prefillItems usa selección aleatoria ponderada sin repetición (cada tipo de ítem solo se puede elegir una vez)
  • prefillItems se procesa a través de options, mientras que los items estáticos son un parámetro separado; sirven para propósitos distintos
  • Usa temporary = true para inventarios efímeros (lootboxes, recompensas de eventos) y así evitar que la base de datos crezca innecesariamente