3 · Admin Studio & Items Manage the item registry, categories, use actions, prop fallback, metadata, lifecycle and imports. Admin Studio Overview Open Admin Studio with: /norditems The request is checked server-side using the configured ACE permission. Workspaces Admin Studio v1.6.11 includes: Dashboard — registry totals and quick actions. Items — folder/category-first item registry and item management. Vehicle Storage — category/model capacities, trunk and glovebox settings, addon placement. Imports / Exports — migration tools for item definitions. Registry model Nord has three practical definition sources: Database-backed definitions in nord_inventory_custom_items. Reference definitions from shared/items.lua / shared/weapons.lua when no DB row exists. Transient runtime definitions registered by trusted resources. For a matching item name, a database row is authoritative. Base item editing Editing a reference/base item in Admin Studio creates a database override. Nord does not rewrite the Lua reference file. Reverting the item removes the DB override so the reference definition becomes active again. Item Registry & Categories The Items workspace uses a folder-style explorer. Built-in categories The package defines categories including: ID Label generic General food Food drink Drinks medical Medical weapon Weapons ammo Ammunition tool Tools document Documents evidence Evidence container Containers clothing Clothing key Keys Runtime categories Admins can create categories/folders from Admin Studio. Runtime categories are persisted in: nord_inventory_custom_categories A custom category can have: internal name; display label; Font Awesome icon; sort order. Custom categories can be renamed or deleted. When a custom category is deleted, custom items assigned to it are moved safely to generic. Built-in/base categories remain protected. Moving items between folders Custom/database-backed items can be moved between categories from the registry. Reference/base files themselves are not modified. Creating & Editing Items Admin Studio provides a Quick Create flow and a more detailed Item Management editor. Core fields A normal definition can include: name/internal ID; label; description; weight; volume; stack behavior; close-on-use behavior; category; image; schema; unique flag; metadata defaults/schema/display rules; container settings; consume effects; use settings; weapon settings; durability; expiration; world model. Simple item example ['repairkit'] = { label = 'Repair Kit', description = 'Basic vehicle repair tools', weight = 1800, image = 'repairkit.png', type = 'tool', stack = true, close = true, prop = 'prop_tool_box_04', use = { duration = 5000, allowMove = false, cancelable = true, remove = 0 } } type is a friendly input preset. Nord expands supported simple types into the internal category/schema/use defaults. Supported simple presets include food, drink, medical, weapon, container, ammo, tool, object and generic. Images Local item images are resolved relative to: web/images/items/ An item can also use an http:// or https:// image URL for display. Trusted events vs Admin-created items Database items created/edited from Admin Studio are sanitized so arbitrary clientEvent and serverEvent values are not stored. For custom resource logic, use RegisterUsableItem, hooks or trusted server-side integration code instead. Item Use & Prop Fallback Explicit use configuration use = { duration = 2500, allowMove = true, cancelable = true, remove = 1, actionText = 'Drinking {item}', animation = { dict = 'mp_player_intdrink', clip = 'loop_bottle', flag = 49 }, prop = { model = 'prop_ld_flow_bottle', bone = 60309, pos = { x = 0.03, y = 0.03, z = 0.02 }, rot = { x = 0.0, y = 0.0, z = -1.5 }, rotOrder = 0 } } Automatic hand-prop fallback v1.6.11 adds a fallback when a usable item has no explicit hand prop. Config.ItemPropAttachments.Fallback = { Enabled = true, PreferWorldModel = true, Generic = 'prop_cs_cardbox_01', Categories = { ... }, Keywords = { ... } } Resolution priority: Explicit item use.prop. Item worldModel when PreferWorldModel = true. First matching keyword rule. Category fallback. Generic fallback. Built-in keyword examples The default rules cover common names for: phones; radios/walkie-talkies; documents/paper/contracts; cards/licenses/badges; medical items; tools/repair items; jewellery; common bagged drug item naming. Important The fallback is computed at runtime and does not save the chosen prop into the item definition or database. Known model calibration Config.ItemPropAttachments.Models provides attachment calibration for known props so common items use stable hand offsets. v1.6.10 ammo/magazine exception Ammo and magazine items intentionally do not spawn a hand prop, including props that would otherwise be selected through worldModel or the runtime fallback system. Their visual feedback comes from the equipped weapon reload animation instead. The server remains authoritative for the ammunition transaction; the visual animation does not grant or consume rounds by itself. Metadata Editor Nord supports arbitrary metadata while still allowing the item definition to describe expected fields. Defaults metadataDefaults = { battery = 100, owner = '', activated = false } These values can be hydrated into new/reconciled item instances. Metadata schema Admin Studio can build a metadata schema so common fields have known input/display behavior. Typical field concepts include: field name; type; default value; whether the field should be visible to the player. Metadata display rules metadataDisplay controls visibility of metadata keys in the player-facing item information view. Nord protects internal keys. Integration exports also strip keys beginning with __nord from public metadata output. Updating metadata through exports exports.nord_inventory:SetMetadata(source, 4, { battery = 65, owner = 'Ricardo' }) Patch selected fields: exports.nord_inventory:UpdateMetadata(source, 4, { battery = 64 }) Read: local metadata = exports.nord_inventory:GetMetadata(source, 4) Lifecycle Editor The Item Management Lifecycle page controls durability and shelf life. Durability fields Enabled. Starting durability. Loss per successful use. Healthy bar color. Destroy at zero behavior in the normalized definition. Enabling durability automatically forces the item to unique/non-stackable behavior and prevents normal remove = 1 consumption from bypassing wear. Expiration fields Enabled. Duration value/unit in the Admin UI. Expiry color. Internally, expiration is stored as seconds and converted to an instance expiresAt timestamp. Base item overrides Lifecycle settings can be applied to a base/reference item through Admin Studio. Nord creates a DB-backed override and leaves the Lua reference untouched. Use Revert to base to remove the DB override and restore the file definition. Imports & Exports Admin Studio includes a migration workspace for item definitions. Import sources The client-side converter supports safe parsing/conversion flows for common formats including: Nord JSON. ox_inventory-style Lua item definitions. qb-inventory / QBCore-style Lua item definitions. Lua import is parsed as item data; the migration workflow is designed to avoid blindly executing imported Lua. Conflict handling The import flow analyzes items before creating them and supports conflict behavior such as skipping or overwriting existing runtime/custom definitions. Base-item protection and DB precedence remain in effect. Export scopes Exports can be generated for: runtime custom items only; the full active registry. Export formats The Admin tool can generate Nord registry output as JSON or Lua-compatible registry text for migration/backup workflows. Size guard The browser-side Admin import flow rejects an input file larger than 5 MB. This Admin Studio registry export is an item-definition migration feature. It is separate from database/server backups. DB-Authoritative Item Definitions Nord Inventory treats database-backed item definitions as authoritative by item name. Precedence A row in nord_inventory_custom_items wins for that item name. If no DB row exists, shared/items.lua and shared/weapons.lua act as reference/fallback definitions. A disabled DB row blocks fallback for that name. Startup behavior Current releases do not seed, rewrite or delete item definitions from the Lua reference files during normal startup. This prevents Admin Studio changes from turning into hybrid file/DB definitions after a restart. Saving from Admin Studio When an item is saved: the authoritative DB row is verified; runtime registry state is refreshed; connected player snapshots and open inventory sessions receive refreshed definitions; persisted item instances reconcile metadata defaults and lifecycle state where required. See the Downloadable Reference Files page for the bundled persistence and precedence notes when migrating or debugging.