HUDs (JG HUD & others)
On this page7
Config.HudSystem = 'auto'Support and auto order
| System | Support | Auto order | What we do |
|---|---|---|---|
| our own NUI HUD | Supported | always on | The recognition HUD. |
| JG HUD | Supported | 1 | Default offset; optional hide stack. |
| 17mov_Hud | Stub | 2 | Hide stack only. |
| 0r-hud-v3 | Stub | 3 | Hide stack only. |
| mHud | Stub | 4 | Hide stack only. |
| qb-hud, qbx_hud, esx_hud, ps-hud | Detect only | 5–8 | Default offset. |
The two things the selector controls
1. Where our HUD sits by default
Config.Hud.Position = { x = 0.985, y = 0.02 }
Config.Hud.Offsets = {
['jg-hud'] = { x = 0.0, y = 0.08 }, -- below JG's usual top-right block
}The offset applies only while the player has no saved HUD position of their own.
The moment they move it in /recognition:hud, their choice wins and the offset stops
mattering.
Add an entry for any other HUD that owns your top-right corner.
2. Whether the other HUD is hidden behind our full-screen windows
Config.Hud.HideThirdPartyOnFullscreen = false -- off by defaultIf our resource stops while a HUD is hidden, the other HUD is shown once on the way out — a restart never leaves somebody's HUD switched off.
JG HUD
What we ship
Our own HUD, always. It works exactly the same with or without JG.
Detection by resource state, plus a guarded first call. The first
toggleHudis wrapped so that a build without that export cannot error: if it does, the adapter turns itself off for the session and prints one warning.Codejg-hud has no toggleHud export on this version; other HUDs are left alone.That happens on the unofficial resources that share the
jg-hudfolder name.A default offset of
{ x = 0.0, y = 0.08 }, which puts our HUD below JG's usual top-right block. Players move it freely.An optional hide stack around our full-screen windows, off by default.
What we never do
- Write JG's own state bags (
stress,hunger,thirst) to squeeze our percentage into one of their built-in slots. That breaks real stress systems, and it is not what those slots mean. - Edit their files.
- Imply affiliation, or use their name or logo as an endorsement.
What JG exposes today
Four client exports, and no component API: toggleHud(show),
toggleVehicleControl(show), setWeaponAmmoOverride(clip, reserve),
clearWeaponAmmoOverride(). There is no visibility getter and no documented event,
which is exactly why the hide stack is opt-in rather than on.
If JG ever adds a way to register third-party elements, an opt-in mode for it may follow — with our own HUD still the default. We re-check their exports page and changelog before every release.
JG and the face implant
After an implant the framework updates the character's name and JG reads the name from the framework, so there is nothing to call. If a future JG build needs a re-init after a rename, it goes in the adapter.
Strict state-bag mode
You can keep JG's strict state-bag mode on: we never write player state from a client.
17mov_Hud, 0r-hud-v3, mHud
Hide-stack only, through each one's own toggle:
| HUD | Call |
|---|---|
| 17mov_Hud | its ToggleDisplay(bool) |
| 0r-hud-v3 | its ToggleVisible(bool) |
| mHud | its show / hide events |
All three are written from each HUD's documentation. If a call errors, the adapter turns itself off for the session and leaves that HUD alone rather than retrying.
qb-hud, qbx_hud, esx_hud, ps-hud
Detect only. We notice them and apply the default offset — {0, 0} unless you add
one for them in Config.Hud.Offsets.
Our HUD's own settings
Everything about how our HUD looks and behaves is in HUD & Prompt. The short version:
| Key | Default | What it does |
|---|---|---|
Config.Hud.Position | { x = 0.985, y = 0.02 } | Default anchor position. |
Config.Hud.Anchor | 'top-right' | Which corner that refers to. |
Config.Hud.Scale | 1.0 | Default size. |
Config.Hud.Shape | 'circle' | circle or rounded-square icons. |
Config.Hud.Background | 'panel' | panel, text, or none. |
Config.Hud.HideInPauseMenu | true | Hide ours while the pause menu is open. |
Config.Hud.AllowQuietMode | false | Let players hide the grey idle view. |
Players adjust position, scale, shape and the marks toggle in /recognition:hud.
Those choices are saved on their own PC — not on your server, and not in any
table.
Custom
Set Config.HudSystem = 'custom' and fill the 'custom' branch in
bridge/hud.lua. Two things: say whether the HUD is present, and show or hide it.