Auf diese Weise registrierte Items gehen beim Neustart der Resource verloren. Nutze das, um externen Scripts zu erlauben, eigene Items zu definieren, ohne
_data/items.lua zu bearbeiten.Parameter
Rückgabewert
Hinweise
itemData akzeptiert nur die folgenden sicheren Felder; jedes andere Feld wird stillschweigend entfernt:
Erforderliche Felder: label (string), weight (number, >= 0), stackable (boolean)
Optionale Felder: description, image, close, maxStack, rarity, type, customSymbol, ammo, durability, degrade, decay, consume, isGrenadeType, separateWeight, universal, oxClientEvent, oxClientExport, oxServerExport
Optionale Table-Felder (rekursiv validiert, keine Funktionen darin erlaubt): metadata, status, useOptions, inventoryOptions, throwableOptions, dynamicMetadata
Außerdem:
- Mit
registerItemregistrierte Items existieren nur im Speicher. Sie gehen beim Neustart der Resource verloren. Für persistente Items nutze das Ingame-Adminmenü oder trage sie in_data/items.luaein - Unbekannte Items werden erst beim ersten Laden jedes Inventars bereinigt, nicht beim Start, dein Script kann
registerItemalso jederzeit sicher aufrufen, bevor auf das Spielerinventar zugegriffen wird, typischerweise beim Resource-Start - Du kannst
registerItemmitregisterUsableItemkombinieren, um sowohl das Item als auch sein Nutzungsverhalten aus einem externen Script zu definieren - Existiert der Item-Name bereits, wird die Registrierung abgelehnt, um dateidefinierte Items nicht zu überschreiben
- Table-Felder (wie
metadata,useOptionsusw.) werden tief kopiert, Änderungen an der Originaltabelle nach der Registrierung haben also keine Auswirkung
