r_tophud Configuration
Every r_tophud config.lua option: framework, language, HUD elements, money formatting, position, toggle, edit menu, performance and appearance.
Everything lives in config.lua. Edit it, then run restart r_tophud and reconnect.
config.lua is the only file you need to edit. It's left open (escrow-ignored) so you
can tweak it freely.
Framework
R.Framework = "ESX" -- "ESX" | "QBCore" | "QBX"
R.newESX = true -- set false if you run ESX 1.1 (legacy)
R.CoreName = "es_extended" -- ESX core resource name (if you renamed it)
R.QBCoreName = "qb-core" -- QBCore/QBX core resource name (if you renamed it)Language
The UI ships with English and Finnish out of the box.
R.Locale = "en" -- "en" | "fi"The strings live in the R.Locales table at the bottom of config.lua. Add your own
language by copying a block (e.g. R.Locales.de = { ... }) and pointing R.Locale at it.
config.lua is left open (escrow-ignored) so you can edit it freely.
HUD Elements
Turn each stat on or off. Black money and gang also hide automatically when your framework doesn't provide them.
R.Elements = {
cash = true,
bank = true,
blackMoney = true, -- ESX black_money / QBCore crypto
job = true,
gang = true, -- QBCore / QBX only
}Money Formatting
R.Currency = {
symbol = "$", -- currency symbol
after = false, -- false -> $1,000 | true -> 1,000$
separator = ",", -- thousands separator: "," | " " | "." | "" (none)
}For euro servers, try symbol = "€", after = true, separator = " " to get 1 000€.
Position
R.Position = "top-center" -- "top-center" | "top-left" | "top-right"Toggle
R.ToggleHudCommand = "togglehud"
R.EnableFastKey = true
R.ToggleKey = "F10" -- default; players can rebind in FiveM key bindings
R.KeyText = "Toggle HUD On / Off"R.ToggleKey is only the default bind. Each player can change it in
FiveM → Settings → Key Bindings → FiveM. The /togglehud command works too.
Edit Menu
Players can personalize their own HUD in-game without touching config.lua. They
open a small menu and change which stats show, the theme (a preset or a custom colour
of their own), the size and the background opacity. Choices are saved on their PC
(FiveM KVP, no database) and persist across reconnects.
R.AllowPlayerEdit = true -- master switch for the edit menu
R.EditMenuCommand = "hudmenu" -- command that opens it (/hudmenu)
R.EditMenuKey = "" -- optional keybind, e.g. "F7" ("" = command only)The values in config.lua are the server defaults. A player's saved edits only
affect their own HUD; everyone else still starts from your defaults. Set
R.AllowPlayerEdit = false to disable the menu entirely.
Players reset to your defaults any time with the Reset button in the menu.
Performance
R.UpdateInterval = 1000 -- ms between HUD data refreshesRaise UpdateInterval (e.g. 2000) for an even lighter footprint, or lower it for
snappier updates. The HUD also stops refreshing while it's hidden.
Appearance
R.Scale = 1.0 -- HUD size multiplier (0.85 small · 1.0 normal · 1.15 large)
R.Opacity = 0.85 -- background opacity (0.3 to 1.0)These are the server defaults. With R.AllowPlayerEdit = true each player can pick their own
size and background opacity in the edit menu, and the choice is saved on their PC.
Theme and accent colour have their own page:
Themes & Accent
5 presets + any custom hex colour
Interface Colours
Every R-Scripts resource shares the same colour tokens, so you can match the UI to your server's branding without touching any code:
R.UI = {
Accent = "#9a27ea", -- icons, bars, badges and highlights
Primary = "#ffffff", -- main action buttons (buy / play / confirm)
PrimaryText = "#000000", -- text on those buttons
NavActive = "", -- selected tab background, "" keeps the neutral default
NavActiveText = "#ffffff", -- selected tab text
}Leave a value empty to keep the shipped look — the defaults above are exactly what you see out of
the box. Accent stays a signal colour (icons, progress bars, badges); Primary is the solid
button colour, so setting it to your brand colour turns every confirm button at once.