Skip to main content
Crée un nouvel inventaire en base de données et/ou en mémoire (selon les options). Si un inventaire avec le même ID existe déjà, celui-ci est renvoyé tel quel sans être modifié.

Paramètres

Valeur de retour

Notes

Champs de options :
  • maxWeight (number, optionnel) : Capacité de poids maximale
  • maxSlots (number, optionnel) : Nombre maximal d’emplacements
  • columns (number, optionnel) : Nombre de colonnes pour l’affichage en grille dans l’UI (ex. : 10 emplacements au total mais 2 colonnes → grille de 2x5)
  • temporary (boolean, optionnel) : Si true, l’inventaire n’est pas sauvegardé en base de données et sera perdu au redémarrage du script
  • prefillItems (table, optionnel) : Configuration du loot aléatoire. Les objets sont choisis par sélection pondérée sans remise :
    • minTypes (number, optionnel) : Nombre minimum de types d’objets différents à ajouter. Par défaut : 1
    • maxTypes (number, optionnel) : Nombre maximum de types d’objets différents à ajouter. Par défaut : taille du pool
    • items (table, obligatoire) : Tableau des objets possibles, chaque entrée : {name = string, chance = number, min = number, max = number, metadata = table?}
  • revealItems (table, optionnel) : Animation de révélation progressive des objets à l’ouverture de l’inventaire :
    • delayPerItem (number, optionnel) : Millisecondes entre chaque révélation d’objet. Par défaut : 1000
    • randomOrder (boolean, optionnel) : Si true, les objets sont révélés dans un ordre aléatoire plutôt que par ordre d’emplacement. Par défaut : false
  • slots (table, optionnel) : Configuration par emplacement. La clé est le numéro d’emplacement, la valeur est une table SlotConfig : label, image, opacity, whitelist, blacklist
  • whitelist / blacklist (table, optionnel) : Filtres d’objets au niveau de l’inventaire. Format : {itemName = true, ...}
  • allowedJobs (table, optionnel) : Jobs autorisés à accéder à cet inventaire
  • allowedIdentifiers (table, optionnel) : Identifiants de personnage autorisés à accéder à cet inventaire
  • disableIncoming / disableOutgoing (boolean, optionnel) : Bloque les transferts entrants ou sortants effectués par le joueur
  • dropDisabled (boolean, optionnel) : Si true, les objets ne peuvent pas être déposés depuis cet inventaire
  • noLimitDrag (boolean, optionnel) : Si true, le glisser-déposer ignore la boîte de dialogue de sélection de quantité et déplace la pile entière. Utilisé en interne pour les shops
Aussi :
  • Si id existe déjà, l’inventaire existant est renvoyé tel quel, les items statiques et prefillItems NE sont PAS réappliqués
  • prefillItems utilise une sélection aléatoire pondérée sans remise (chaque type d’objet ne peut être choisi qu’une seule fois)
  • prefillItems est traité via options, tandis que les items statiques sont un paramètre séparé, ils servent des objectifs différents
  • Utilise temporary = true pour les inventaires éphémères (lootboxes, récompenses d’événements) afin d’éviter de surcharger la base de données