NX CreativeNX CreativeDocs
Scriptsnx_hud

Configuration

Every option in config/hud.lua, config/compat.lua, config/inventory.lua, config/target.lua and config/settings.lua for nx_hud, plus the ox convars it reads.

nx_hud has five config files, one per job it does. All five stay readable in the release. A change takes effect at the next full server restart.

FileWhat it sets
config/hud.luaWhere the HUD reads its data, the seatbelt and the indicators.
config/compat.luaThe ox_lib layer: which interface draws each component, the radial key, menus.
config/inventory.luaThe inventory: walking, saves, rate limits, distances and the security rules.
config/target.luaTargeting: rows, locked options, dots and limits.
config/settings.luaThe F7 settings every player starts with.

Delete a line to fall back to its default.

config/hud.lua

Data sources

Config.frameworkstringdefault: 'auto'

Where hunger, thirst, stress and money come from. 'auto' tries Qbox, then QBCore, then ESX. Set 'qbx', 'qb', 'esx' or 'standalone' to choose one. Standalone shows no hunger, thirst or money pops.

Config.fuelstringdefault: 'auto'

Which fuel script the gauge reads. 'auto' picks the first one running.

Accepted names: 'ox_fuel', 'LegacyFuel', 'lc_fuel', 'cdn-fuel', 'ps-fuel', 'Renewed-Fuel', 'okokGasStation', 'qs-fuelstations', 'qb-fuel', 'lj-fuel', 'x-fuel', or 'native' for the game's own fuel level. A fuel script missing from this list can feed the gauge with registerFuelReader.

Config.seatbeltstringdefault: 'auto'

Whose seatbelt the HUD shows. 'auto' shows a known seatbelt script's belt when one runs (ls_utils, qbx_seatbelt, qb-smallresources, esx_cruisecontrol), otherwise nx_hud's own. 'own' always uses nx_hud's belt. 'external' shows only a seatbelt script's belt, and no belt when none runs.

Config.stressstring | booleandefault: 'auto'

The stress gauge. 'auto' shows it only when your framework or a stress script provides stress. false hides it.

Config.moneytabledefault: { cash = true, bank = true }

The accounts whose changes pop up on the island. Other scripts can show a pop for any account with the moneyPop export.

Vehicle features

The seatbelt and the indicators are built in. Keys are the defaults for new players, who can rebind them in Settings, Key Bindings, FiveM. Speeds are in km/h.

Config.vehicle.seatbelt.enabledbooleandefault: true

nx_hud's own seatbelt. false turns it off: no belt key, no ejection, no chime.

Config.vehicle.seatbelt.keystringdefault: 'B'

Default key that buckles and unbuckles the belt.

Config.vehicle.seatbelt.ejectSpeednumber | falsedefault: 72

An unbuckled crash above this speed throws the player through the windscreen. false never ejects.

Config.vehicle.seatbelt.chimeSpeednumberdefault: 15

Above this speed an unbuckled player hears the chime and sees the red belt light.

Config.vehicle.indicators.enabledbooleandefault: true

Turn signals and hazard lights for the driver, seen by every player.

Config.vehicle.indicators.keystabledefault: { left = 'LEFT', right = 'RIGHT', hazard = 'DOWN' }

Default keys for the left signal, the right signal and the hazard lights.

Config.vehicle.indicators.autoCancelbooleandefault: true

A turn signal switches itself off after the turn.

Config.vehicle.passengerHudbooleandefault: true

true shows passengers the vehicle HUD too: the cluster, the loupe or the capsule. false gives passengers the on-foot HUD. The windscreen HUD is always the driver's alone.

With NX Mechanic running, the vehicle HUD also shows a service light: a wrench lamp, amber when the car is due for a service and red when a part is critical or has failed. It shows only in the car the warning is for. There is nothing to set up.

GTA's own HUD

Config.hideGtaHudtabledefault: { 6, 8 }

GTA's own HUD text that nx_hud hides: 6 the vehicle name, 7 the area name, 8 the vehicle class, 9 the street name. {} hides none.

Death screens

Config.strictHide.deadbooleandefault: true

Strict-hide nx_hud while the player is dead, so nothing draws over your death screen and notifications wait until the player is up. Works with ESX, QBCore, Qbox (qbx_medical) and plain GTA deaths. false leaves it to your scripts (exports.nx_hud:SetStrictHidden).

Config.strictHide.lastStandbooleandefault: true

Also while the player is downed in last stand (QBCore, Qbox).

A death script nx_hud does not know can be added to bridge/client/50_dead.lua (the custom check).

config/compat.lua

The ox_lib layer. Everything here lives in the Compat table.

Compat.localestringdefault: 'en'

The server's language for the whole HUD: 'en', 'fi', 'de', 'fr', 'pt-br', 'es', 'tr', 'nl', 'it' or 'pl'. Players can pick their own in the /ox_lib settings menu. A setr ox:locale line in server.cfg overrides it. A line missing from a translation falls back to English.

Compat.enabledbooleandefault: true

false runs the HUD only. Scripts that need ox_lib then fail to load with a clear message.

Compat.uitabledefault: every component 'nx'

Which interface draws each ox_lib component.

Keys: notify, textui, progress, alert, input, context, menu, radial, skillcheck, clipboard. Each takes:

  • 'nx': drawn by nx_hud.
  • 'off': hidden. The logic still runs and callers still get their results.
  • a function function(data, kind) that forwards the call to another script.
ui = {
    notify = 'nx', textui = 'nx', progress = 'nx', alert = 'nx', input = 'nx',
    context = 'nx', menu = 'nx', radial = 'nx', skillcheck = 'nx', clipboard = 'nx',
},
Compat.notifyFilterfunction | nildefault: nil

Drop or reword single notifications from other scripts, and keep nx_hud's notifications for all the rest. It works with every Compat.ui.notify setting.

function(data, resource) sees every notification before it shows. data is what the script sent (title, description, type, id and the rest). resource is the name of the script that sent it, or nil when that is not known, for example for a notification the server sent. Return:

  • false to drop it.
  • a table to show that instead.
  • nothing (nil) to show it as sent.

A filter that errors shows the notification as sent and logs the error.

notifyFilter = function(data, resource)
    if data.description == 'Laptop packed up.' then return false end
    if resource == 'my_garage' and data.type == 'error' then
        return { title = 'Garage', description = data.description, type = 'warning' }
    end
end,
Compat.radialKeystringdefault: 'G'

Default key for the radial menu. Players can rebind it in Settings, Key Bindings, FiveM.

Compat.contextFocusstringdefault: 'keys'

Context menus. 'keys' is a keyboard menu and the player keeps moving. 'pointer' is the classic mouse menu that holds the player in place.

Compat.restarttabledefault: { resurrect = true, stagger = 300, never = {} }

What happens to the scripts that depend on ox_lib when nx_hud restarts. FiveM stops them with it. resurrect starts them again in their original order, one every stagger milliseconds. never lists names that must stay stopped. A full server restart is still the safe way to restart nx_hud.

Compat.healDirectExportsbooleandefault: true

Scripts that call exports.ox_lib directly keep working after an nx_hud restart.

Compat.versionCheckbooleandefault: true

Let scripts that call lib.versionCheck look for new versions on GitHub.

Compat.keybindReleaseWatchdogbooleandefault: false

true releases a key that was held through the pause menu, instead of leaving it pressed in scripts.

Compat.esxtabledefault: { notify = true, textui = false, progress = false, context = false }

Show ESX's own interface calls in nx_hud. notify covers esx_notify and textui covers esx_textui, each only while that ESX resource is stopped or not installed. progress and context are reserved and have no effect yet.

config/inventory.lua

The inventory, in the NxInventory table. ox_inventory's inventory:* convars still apply (see Convars); this file holds only what nx_hud adds.

General

NxInventory.enabledbooleandefault: true

false turns the inventory off. The HUD and the ox_lib layer keep running.

NxInventory.forceProviderbooleandefault: false

Keep the inventory on although a folder named ox_inventory is still installed. Not recommended.

NxInventory.allowForeignLibbooleandefault: false

Run the inventory even when ox_lib is not nx_hud.

NxInventory.walkstringdefault: 'always'

Walking with the inventory open. 'always', 'drops' (only next to a drop) or 'never' (ox_inventory's freeze).

NxInventory.replayOntabledefault: { 'es_extended' }

Resources that get the inventory handed to them again each time they start. es_extended needs it.

NxInventory.startSignalbooleandefault: true

Tell scripts that wait for ox_inventory to start that it has. esx_addoninventory needs it.

NxInventory.saveIntervalnumberdefault: 5

Minutes between saves of changed inventories.

NxInventory.fileBudgetnumberdefault: 1200

The most files nx_hud may ship, item images included. Clients fail to connect somewhere above about 1,500. nxinv migrate apply copies images within this budget.

NxInventory.orphansbooleandefault: true

Keep items that no longer exist in data/items.lua aside instead of deleting them. List and restore them with nxinv orphans.

NxInventory.hotbarTogglebooleandefault: true

TAB shows the hotbar until TAB is pressed again. false shows it for three seconds, as ox_inventory does.

NxInventory.secondaryKeybooleandefault: false

ox_inventory's secondary key (K) for trunks, gloveboxes, dumpsters and stashes. false registers no such key, so it never clashes with other scripts' keys. true brings it back.

NxInventory.gloveboxRadialbooleandefault: true

A Glovebox item in the radial menu while the player sits where the glovebox opens, in a vehicle that has one.

NxInventory.imagepathRewritebooleandefault: true

Point inventory:imagepath at nx_hud's image folder, so item pictures load.

NxInventory.tracebooleandefault: false

Log every ox_inventory call by resource. Also nxinv trace on and off.

Limits

NxInventory.rateLimitstabledefault: { swap = 20, use = 5, give = 2, buy = 10, craft = 5, open = 4 }

The most actions per player per second. Over the limit the action is refused and logged. Nobody is kicked.

NxInventory.rangeSlacknumberdefault: 2.0

Extra metres allowed between a player and an open inventory before an action is refused.

Rules

Distances in metres and sizes the server enforces, in NxInventory.rules. The defaults are ox_inventory's.

rules.giveRangenumberdefault: 15

How far away another player can be to receive an item.

rules.givePicknumberdefault: 3

How close another player must be to appear in the give picker. Never more than rules.giveRange.

rules.shopReachnumberdefault: 10

Reach for opening a shop and buying from it.

rules.craftReachnumberdefault: 10

Reach for using a crafting bench.

rules.licenseReachnumberdefault: 10

Reach for buying a licence at its counter.

rules.searchReachnumberdefault: 10

Reach for searching another player.

rules.dumpsterReachnumberdefault: 10

Reach for opening a dumpster.

rules.dropClampnumberdefault: 3

A drop lands at most this far from the player. Applies while strict.dropClamp is on.

rules.dumpstertabledefault: { slots = 15, weight = 100000 }

A dumpster's size. Weight is in grams.

rules.craftLaneMaxnumberdefault: 10

Crafts a player can queue behind the one that is running.

rules.shopBuyMaxnumberdefault: 500

The most of one item a single shop purchase can buy. The amount picker in the shop stops there too.

Payments

NxInventory.payments.choicestabledefault: { 'money', 'bank' }

What shop items without their own currency are paid with, in shops that name no payment. The player picks in the shop; the first is the default. 'money' is cash, 'bank' is the card. Set { 'money' } for cash only, as in ox_inventory. A shop's own payment field wins.

Strict checks

Server checks that are stricter than ox_inventory, in NxInventory.strict. Set one to false to get ox_inventory's behaviour.

strict.publicReadsbooleandefault: true

The getInventory and getItemCount callbacks answer only for the caller's own inventories.

strict.dropClampbooleandefault: true

A drop lands within rules.dropClamp metres of the player.

strict.sameBucketGivebooleandefault: true

Giving an item needs both players in the same routing bucket.

strict.shopModelCheckbooleandefault: false

Shops on props, such as vending machines, check that the buyer stayed next to the prop.

strict.stashOwnerbooleandefault: true

A client opens a per-player stash only as its own owner.

Containers

NxInventory.containerstabledefault: paperbag and pizzabox

Items that open as their own inventory, keyed by item name.

Each entry takes slots, maxWeight (grams), and an optional whitelist or blacklist of item names.

containers = {
    paperbag = { slots = 5, maxWeight = 1000, blacklist = { 'testburger' } },
    pizzabox = { slots = 5, maxWeight = 1000, whitelist = { 'pizza' } },
},

Showing items

The item menu's Show lets a player hold an item out so the players around them see its card. In NxInventory.show. Other scripts can start it with showItem.

show.enabledbooleandefault: true

false removes Show from the item menu.

show.rangenumberdefault: 4.0

How far away, in metres, players see the card. 0.5 to 15.

show.durationnumberdefault: 7000

How long the item is shown, in milliseconds. 2000 to 20000.

show.cooldownnumberdefault: 1500

Milliseconds between two shows by the same player.

show.animtabledefault: { dict = 'paper_1_rcm_alt1-8', clip = 'player_one_dual-8', flag = 49 }

The animation played while the item is shown.

show.propstabledefault: {}

A prop in the hand while an item is shown, keyed by item name.

props = {
    id_card = { model = 'prop_franklin_dl', bone = 28422, pos = { 0.084, 0.02, -0.026 }, rot = { -173.85, -88.0, 63.06 } },
},

Combining items

NxInventory.combinetabledefault: three recipes

Drag one item onto another in the pockets to make something. Each entry is a recipe. Other scripts add recipes with registerCombine.

The recipe fields are listed under Combine recipes. A recipe can set its own id; otherwise it is 'cfg:1', 'cfg:2' and so on, in the order of the list.

combine = {
    { items = { 'coat_hanger', 'tool_kit' }, consume = { coat_hanger = 1, tool_kit = 0 }, result = { { 'lockpick', 2 } }, duration = 2500 },
    { items = { 'blank_card', 'card_skimmer' }, consume = { blank_card = 1, card_skimmer = 0 }, result = { { 'cloned_card', 1 } }, duration = 3000 },
    { items = { 'scrap_electronics', 'copper_wire' }, consume = { scrap_electronics = 2, copper_wire = 1 }, result = { { 'radio', 1 } }, duration = 4000 },
},

Carrying items

An item with a carry field in data/items.lua is carried in the hands, as a prop, while it is in the player's pockets. Every player sees the prop. With several carry items in the pockets, the heaviest is carried. In NxInventory.carry.

carry.enabledbooleandefault: true

false turns carrying off. Carry items then sit in the pockets like any other item.

carry.defaultstringdefault: 'box'

The preset an item with carry = true uses.

carry.onDeathstringdefault: 'hide'

'hide' hides the prop while the carrier is dead or downed. 'keep' leaves it in their hands. A preset or an item can set its own.

carry.presetstabledefault: box, heavy, toolbox and bag

Named carry styles that items can use. Add your own to reuse it on several items.

Each preset takes:

FieldMeaning
model, bone, pos, rotThe prop, the ped bone it is attached to, and its offset and rotation.
anim{ dict, clip, flag }, played while carrying.
sprint, jumpWhether the carrier can sprint and jump.
vehiclefalse: the carrier cannot get into a vehicle. true: they can, and the prop hides inside.
weaponfalse: weapons are holstered and cannot be drawn.
walktrue holds the carrier to a walk.
onDeath'hide' or 'keep', over carry.onDeath.

On an item in data/items.lua, carry takes one of:

carry = true,                                    -- the default preset
carry = 'heavy',                                 -- a preset by name
carry = { preset = 'box', pos = { 0.0, 0.1, 0.25 } },   -- a preset with fields changed
carry = { preset = 'heavy', model = 'my_prop', bone = 28422, pos = { 0.2, 0.0, 0.0 }, rot = { 0.0, 90.0, 0.0 } },   -- your own prop

Worn gear

Bags, vests, watches and bracelets that players wear, in NxInventory.accessories. A worn item sits in its own gear slot, next to the pockets. Which items can be worn is set on the item: see Wearable items.

accessories.enabledbooleandefault: true

false turns worn gear off. Items worn before then come back into the pockets.

accessories.exclusivebooleandefault: true

true: the watch and bracelet props belong to items, so a wrist with nothing worn is bare and the character creator's watch goes. false: nothing is ever cleared, and taking an item off gives back what the ped wore before. Clothing components (bags, vests) are never cleared.

accessories.socketstabledefault: back, vest, watch and bracelet

The places an item can be worn. Each socket names a ped prop anchor (prop) or a clothing component (component), and a label.

prop = 6 is the left wrist and prop = 7 the right wrist. component = 5 is bags and component = 9 vests. look = false on a socket wears the item (its bag space, its plates) without drawing it on the ped.

sockets = {
    back = { component = 5, label = 'Backpack', look = true },
    vest = { component = 9, label = 'Vest', look = true },
    watch = { prop = 6, label = 'Watch' },
    bracelet = { prop = 7, label = 'Bracelet' },
},
accessories.ordertabledefault: { 'back', 'vest', 'watch', 'bracelet' }

The gear column in the inventory, top to bottom. It is also the order in which an item that fits several sockets looks for a free one, so with the default a wrist item goes on the left wrist first. An item can change that for itself with accessory.order.

Armour plates

A worn vest with armour = { plates = n } takes plate items (plate = { armour = n }). The player's armour is the plates' health, and hits drain the front plate first. In NxInventory.armour.

armour.enabledbooleandefault: true

false turns plate carriers off.

armour.brokenstring | falsedefault: 'brokenplate'

The item a plate turns into when it reaches 0. It goes into the pockets, or to the ground when it does not fit. false: the plate is gone.

armour.insertMsnumberdefault: 2500

Milliseconds to fit a plate. At most 4500.

armour.removeMsnumberdefault: 1500

Milliseconds to take a plate out. At most 4500.

armour.animtabledefault: { dict = 'clothingtie', clip = 'try_tie_negative_a', flag = 49 }

The animation played while a plate goes in or comes out.

config/target.lua

Targeting, in the NxTarget table. ox_target's own convars still work. Each player chooses only the look, Tether or Bloom, in F7. Whether idle dots show is a server setting, dots.enabled.

NxTarget.enabledbooleandefault: true

false stops nx_hud from answering for ox_target and qtarget.

NxTarget.forceProviderbooleandefault: false

Stay on while a stopped ox_target or qtarget folder is still installed.

NxTarget.cleanGlobalsOnStopbooleandefault: true

Remove a stopped script's global options too. ox_target leaves them behind.

NxTarget.dropRecycledHandlesbooleandefault: true

Forget a local entity's options when the game reuses its handle for another model.

NxTarget.localSweepMsnumberdefault: 60000

How often, in milliseconds, options of deleted local entities are forgotten.

NxTarget.rowsnumberdefault: 24

The most rows one target shows.

NxTarget.showLockedbooleandefault: false

Also list options the player lacks the job or item for, with what they need.

NxTarget.lostGraceMsnumberdefault: 120

How long, in milliseconds, an open menu stays up when the aim slips off the object for a moment. 0 closes it at once.

NxTarget.holdMarginnumberdefault: 0.25

An open menu stays while the aim passes this close to the object, in metres, or through the zone. Nothing in front of it counts: a wall still closes it. 0 turns it off.

NxTarget.acquireMarginnumberdefault: 0.08

Opens a scripted prop when the aim passes through it, or this close to it, in metres, even when the prop's collision is missing or smaller than the model. Only props registered by model, entity or local entity count, never global options. Nothing in front of it counts: a wall still blocks it. 0 turns it off.

Dots

Small markers on nearby things a player can use, in NxTarget.dots.

dots.enabledbooleandefault: true

Dots on nearby things a player can use, for every player. This is a server setting: players cannot turn dots on or off in F7.

dots.radiusnumberdefault: 8.0

How far away, in metres, dots appear.

dots.canInteractstringdefault: 'ttl'

'ttl' shows a dot only where its option is usable, reusing the answer for ttlMs. 'never' shows dots without asking the option.

dots.ttlMsnumberdefault: 1200

How long a dot's usable answer is reused, in milliseconds.

dots.ttlBudgetnumberdefault: 16

The most usable checks per dot scan.

dots.whileAimingbooleandefault: true

Show zone dots while the target key is held, even with dots.enabled off.

dots.losbooleandefault: true

No dots through walls.

dots.losWindownumberdefault: 8

The most extra line-of-sight checks per dot scan, for props set into a wall and for zones.

Security and signals

security.hasOptionsPerMinutenumberdefault: 120

Per-player limit on option lookups a minute.

security.doorRangenumberdefault: 10.0

Metres between a player and a vehicle whose door they open or close through targeting.

NxTarget.startSignalbooleandefault: true

Tell scripts that ox_target started when nx_hud starts.

NxTarget.tracebooleandefault: false

Log every target export call by resource.

config/settings.lua

The F7 settings every player starts with, in the NxHudSettings table. A player's own change in F7 always wins. Every setting a player never changed follows this file, so a new default reaches them the next time they join. Remove a line to use nx_hud's built-in default, which is the value shown here. A value that is not allowed prints a warning in the client console and the built-in default applies.

Other scripts can read each player's settings with getSettings.

NxHudSettings.vehiclestringdefault: 'cluster'

The vehicle mode: 'cluster', 'loupe' or 'island' (the capsule).

NxHudSettings.facestringdefault: 'a'

The cluster face: 'a' (Classic), 'b' (Arcs) or 'c' (Sweep).

NxHudSettings.glassstringdefault: 'hero'

The glass quality: 'hero', 'full' or 'off'. 'off' is the lightest on the graphics card.

NxHudSettings.unitsstringdefault: 'mph'

Speed units: 'mph' or 'kmh'.

NxHudSettings.radarstringdefault: 'squircle'

The radar shape: 'square', 'squircle' (Soft), 'circle' (Round) or 'auto'.

NxHudSettings.radarZoomnumberdefault: 150

How far the radar reaches, in metres, 90 to 450. 150 is GTA's own.

NxHudSettings.zoomModestringdefault: 'manual'

Radar zoom: 'manual', or 'auto', which widens it with speed.

NxHudSettings.promptsstringdefault: 'island'

Where prompts and progress bars appear: 'island' (on the island) or 'near' (near the action).

NxHudSettings.radialstringdefault: 'beads'

The radial menu's look: 'beads' or 'bezel'.

NxHudSettings.soundsbooleandefault: true

Interface sounds.

NxHudSettings.volumenumberdefault: 60

Interface sound volume, 0 to 100.

NxHudSettings.inventorystringdefault: 'centre'

The inventory layout: 'centre' or 'compact'.

NxHudSettings.targetingstringdefault: 'tether'

The targeting look: 'tether' or 'bloom'.

-- config/settings.lua: a server that drives in km/h with the lightest glass
NxHudSettings = {
    units = 'kmh',
    glass = 'off',
}

config/logs.lua

Where nx_hud's own server events go, in the NxHudLogs table. With fxlogs running they are sent there; fxlogs' own ox_inventory adapter logs the item moves, shop purchases, crafting and searches. Every call is protected: a missing or failing fxlogs costs a log line, never an action. Send them to another logger in bridge/server/logs.lua.

NxHudLogs.Backendstringdefault: 'auto'

'auto' sends to fxlogs while it runs, 'fxlogs' the same, 'none' logs nothing.

NxHudLogs.Adminbooleandefault: true

Inventory admin commands: /giveitem, /removeitem, /setitem, /clearinv, /takeinv, /restoreinv, /saveinv, /viewinv and clearActiveIdentifier (admin, warn).

NxHudLogs.Licencesbooleandefault: true

Licence purchases (economy, inventory.licence.buy).

NxHudLogs.Paymentsbooleandefault: true

Shop purchases paid by card, a society account or your own payment method: where the money came from (economy, inventory.shop.pay).

NxHudLogs.Combinebooleandefault: true

Items combined in the pockets (inventory, inventory.combine).

NxHudLogs.Evidencebooleandefault: true

Police evidence lockers cleared (crime, inventory.evidence.clear).

NxHudLogs.Exploitsbooleandefault: true

Refused exploit attempts (anticheat, inventory.exploit; alert when the player was dropped).

NxHudLogs.Zonesbooleandefault: true

Zones saved with /zone (admin, lib.zone.save).

Convars

nx_hud reads ox_inventory's inventory:* convars with ox_inventory's defaults, so an existing server.cfg keeps working. What each one does is in Overextended's documentation. Set them with setr in server.cfg.

ConvarDefaultNotes
inventory:frameworkdetectedSet for you when empty, from the framework installed (qbx_core, then es_extended).
inventory:slots50Player slots.
inventory:weight30000Player carry weight in grams.
inventory:dropslotsinventory:slots
inventory:dropweightinventory:weight
inventory:targetfalseShops, stashes and benches through targeting instead of markers.
inventory:police["police","sheriff"]
inventory:networkdumpstersfalse
inventory:loghookrejectiontrue
inventory:bulkstashsavetrue
inventory:loglevel1
inventory:randompricesfalse
inventory:randomloottrue
inventory:evidencegrade2
inventory:trimplatetrue
inventory:vehiclelootunsetUnset uses vehicleLoot in inventory/custom/server.lua.
inventory:dumpsterlootunsetUnset uses dumpsterLoot in inventory/custom/server.lua.
inventory:validhostsFivemanage hosts
inventory:accounts["money"]
inventory:versionchecktrue
inventory:cleartime5
inventory:clearstashes6 MONTH
inventory:webhookempty
inventory:autoreloadfalse
inventory:screenblurfalseox_inventory blurs the world by default. nx_hud does not.
inventory:keys["F2","K","TAB"]Inventory, secondary inventory and hotbar keys.
inventory:enablekeys[249]
inventory:aimedfiringfalse
inventory:giveplayerlistfalse
inventory:weaponanimstrue
inventory:itemnotifytrue
inventory:weaponnotifytrue
inventory:imagepathnx_hud's image folderRewritten while NxInventory.imagepathRewrite is on.
inventory:droppropsfalse
inventory:dropmodelprop_paper_bag_01ox_inventory uses a medical bag.
inventory:weaponmismatchtrue
inventory:ignoreweapons[]
inventory:suppresspickupstrue
inventory:disableweaponsfalse
inventory:disablesetupnotificationfalse
inventory:enablestealcommandtrueRegisters /steal.
inventory:gloveboxseatrestriction0
inventory:dropmarker, shopmarker, evidencemarker, craftingmarkerox_inventory's markers

Targeting reads ox_target's convars (ox_target:toggleHotkey, ox_target:defaultHotkey, ox_target:leftClick, ox_target:drawSprite, ox_target:defaults, ox_target:debug). The ox_lib layer reads ox:txAdminNotifications for txAdmin's announcements and warnings.

ox:locale, when server.cfg sets it, overrides Compat.locale as the server's language. Many ox_lib installs ship setr ox:locale "en": remove that line to use Compat.locale. ox:userLocales (1 by default) lets each player pick their own language in the /ox_lib settings menu. See Translations.

NX Docs