Configuration (config.lua)
| Section | What it controls |
|---|---|
Config.Framework, Config.Locale, Config.Debug | 'auto' detects qbx_core → qb-core → es_extended → standalone. Locales: tr, en (locales/*.lua). |
Config.Commands, Config.Keybinds | Command names (hud, hudfocus, cinematic, togglehud, hudreset, hudtest) and default keys (empty = unbound, players can bind). |
Config.Editor | `permission = 'everyone' |
Config.Permissions.adminAce | ACE used for admin tools (framework admin groups are also accepted). |
Config.Storage | `backend = 'auto' |
Config.Limits | Max profiles per player, widgets per layout, rules per layout, payload size, profile name length. |
Config.Security | Request token bucket, per-action cooldowns (ms), suspicious log cooldown, optional kick threshold. |
Config.Update | Loop intervals: vehicle, onFoot, idle, world (street/zone), fuel, status, display, and nuiFlush (batch window). |
Config.Display | useSafeZone, followGameAspect (keep HUD in the game's aspect on multi-monitor), maxAspectRatio (e.g. 2.39 keeps it 21:9 on 32:9 screens), autoCollapse (a hidden widget's slot is closed by the widgets stacked behind it). |
Config.Units, Config.Time | Default speed unit; clock source 'server' (real server time, server timezone) or 'game'; 24 h default. |
Config.Minimap | Default minimap mode (always, vehicle, never) and hiding GTA's health/armour bars under the minimap. |
Config.NativeHud | GTA HUD components hidden while in a vehicle / armed (frame loop runs only then). |
Config.Context | Hide when paused / dead, default phone behaviour, phone state bag keys, vehicle classes without seatbelt. |
Config.Focus.widgets | Widgets kept in focus mode (external widgets opt in with focus = true). |
Config.Cinematic | What cinematic mode hides, critical notifications, black bars and their size, DisplayHud(false). |
Config.Voice | Adapter (auto, pma-voice, saltychat, mumble, none) and range label locale keys. |
Config.Notifications | Max visible per stack, queue size, de-dup window, per-resource rate limit, durations and sounds per level, text limits. |
Config.Fonts | Fonts offered in the editor (files in nui/fonts). |
Config.ColorThemes, Config.Colorblind | Accent presets and colour-blind palettes (hex). |
Config.DefaultPrefs | Preferences of a player who never opened the editor. |
Config.Themes | Per theme: label, matching layout, font, radius, default variants (status, speed, rpm), colours (--c-* CSS variables). |
Config.Widgets | Built-in widget defaults: kind, icon, colour variable, context, priority, size, resize mode, anchor and offset. hidden = true hides it by default. |
Config.Layouts | Ready layouts: theme + per-widget overrides + optional rules. Players save their own copies. |
Config.Rules | Global rules, always active. |
Config.WeaponLabels | Fallback weapon names when no inventory / framework provides one. |
Positions
anchor is one of tl tc tr cl c cr bl bc br (relative to the GTA safe zone) or mr (beside the minimap) / mt (above the minimap). x/y are reference pixels at 1080p pointing inward from the anchor; for centre anchors positive x is right and positive y is down. Everything scales with screen height and HUD scale, and is clamped into the safe area.
With Config.Display.autoCollapse on, a hidden widget's slot is closed automatically: widgets on the same anchor that are stacked behind it (further from the anchor edge, overlapping on the other axis) slide in. Works vertically (status bar column) and horizontally (icon row); a slide that would push a widget into another one is skipped. Saved offsets never change, and the editor always shows them as saved. When the minimap is hidden, mr widgets take its corner and mt widgets sit on top of them instead of falling into them.
Contexts
always, vehicle, onfoot, weapon, firearm, underwater, belt (vehicle with seatbelt), job (has a job / matches jobs), data (has data), manual (only via exports).
Rules
{ id = 'low_fuel', when = { { 'vehicle', '==', true }, { 'fuel', '<', 15 } }, actions = { { 'style', 'fuel', 'warning' } } }
Every condition must match; actions run in order (later wins). Evaluation order: Config.Rules → active layout rules → script rules. Players' "Visible = off" always wins; "Smart hide = off" ignores context and rules.
Adding a theme
Copy a block in Config.Themes, change label (add the locale key), colors and variants, and point layout to a layout in Config.Layouts.