Skip to main content
Registra una nueva definición de ítem en tiempo de ejecución (solo en memoria, no se guarda en archivo). Solo se aceptan campos seguros y declarativos, cualquier otra cosa se rechaza a cualquier profundidad.
Los ítems registrados de esta forma se perderán al reiniciar el resource. Úsalo para permitir que scripts externos definan sus propios ítems sin editar _data/items.lua.

Parámetros

Valor de retorno

Notas

itemData solo acepta los siguientes campos seguros; cualquier otro campo se elimina silenciosamente: Campos obligatorios: label (string), weight (number, >= 0), stackable (boolean) Campos opcionales: description, image, close, maxStack, rarity, type, customSymbol, ammo, durability, degrade, decay, consume, isGrenadeType, separateWeight, universal, oxClientEvent, oxClientExport, oxServerExport Campos de tipo table opcionales (validados recursivamente, no se permiten funciones dentro): metadata, status, useOptions, inventoryOptions, throwableOptions, dynamicMetadata Además:
  • Los ítems registrados con registerItem existen solo en memoria. Se pierden al reiniciar el resource. Si necesitas ítems persistentes, usa el menú de administración en el juego o añádelos a _data/items.lua
  • Los ítems desconocidos para el inventario nunca se eliminan: se ocultan en el inventario donde están y vuelven automáticamente en cuanto el ítem se registra de nuevo, así que tu script puede llamar a registerItem en cualquier momento, normalmente al iniciar el resource
  • Puedes combinar registerItem con registerUsableItem para definir tanto el ítem como su comportamiento de uso desde un script externo
  • Si el nombre del ítem ya existe, el registro se rechaza para evitar sobrescribir ítems definidos por archivo
  • Los campos de tipo table (como metadata, useOptions, etc.) se copian en profundidad, por lo que los cambios en la tabla original después del registro no tienen efecto