
Rarx Pausemenu
Rarx Pausemenu
Modern ESC menu replacement with player info, events, apps, admin panel, and dark/light mode
- Qbox
- QBCore
- ESX
rarx_pausemenu

Overview#
RARX Pausemenu replaces the default FiveM ESC menu with a modern, fully customizable interface. It includes player info, service status, events, app shortcuts, custom buttons, bills, a map keybind, dark/light mode, and a full admin panel with event management.
Features#
Name, job, cash, bank, phone, XP/level system with configurable accounts and currency symbols
Custom logo, server name (with font selection), background image, and fully customizable color scheme
Create server events with title, description, date, and image. Real-time sync to all players
Configurable buttons for Services, Business, and Organization with auto-detection for compatible resources
Unlimited action buttons with command, client event, or server event triggers. Job-restricted and lockable
Live police and EMS count with configurable job lists
View and pay pending bills with select-all and total display
Event CRUD, keybind access (END key), identifier-based permissions
Toggle between dark and light themes in-game
Direct map access via configurable key (default: P)
Requirements#
- Framework: ESX, QBCore, or QBox (auto-detected)
- ox_lib
- oxmysql
- rarx_lib
Installation#
Download & Extract
Download the latest version from your Keymaster and extract to your resources folder.
Import Database
Import the SQL file included in the resource for the events table.
Add to server.cfg
ensure rarx_pausemenuMake sure
rarx_lib,ox_lib, andoxmysqlare started before this resource.Configure
Edit
shared/config.luato customize all settings.
Configuration#
Server Branding#
Config.server_name = 'Your Server'
Config.server_name_size = '2.2rem'
Config.server_name_font = 'designer' -- 'kalamaya' or 'designer'
Config.server_logo = 'https://your-logo-url.png'
Config.background = 'https://your-background-url.jpg'Color Scheme#
All colors are in HEX format without the # prefix.
Config.colors = {
primary = 'ff6b9d', -- Primary color (buttons, highlights)
primary_dark = 'ff4785', -- Primary hover/active state
secondary = '7dd3fc', -- Secondary color (accents)
secondary_dark = '38bdf8', -- Secondary hover/active state
}Sound Effects#
Config.sounds = {
volume = 0.1,
hover = 'https://your-hover-sound.mp3',
click = 'https://your-click-sound.mp3',
}Currency Display#
Config.currency = {
symbol = '$', -- '$', '€', etc.
position = 'after', -- 'before' = $100 | 'after' = 100$
}Experience / XP System#
Config.exp = {
enable = true,
name = 'exp', -- Account name in your framework
label = 'XP', -- Label shown in the menu
symbol = 'XP', -- Symbol displayed
position = 'after', -- 'before' = XP100 | 'after' = 100 XP
}Menu Options#
Config.menu_options = {
help = {
enable = true,
command = 'report', -- Command executed when clicked
},
exit = {
enable = true,
event = 'disconnect', -- 'disconnect' or 'logout'
},
bills = {
enable = true,
},
phone = {
enable = true, -- Show/hide phone number in player panel
},
}App Buttons#
App buttons link to other RARX or compatible resources. The system field supports auto-detection or can be set to a specific resource.
Config.apps = {
servicios = {
enable = true,
system = 'auto', -- 'auto' | 'origen_police' | 'rarx_services' | 'custom'
jobs = { 'police' },
},
negocio = {
enable = true,
system = 'auto', -- 'auto' | 'rarx_jobs' | 'origen_masterjob' | 'custom'
},
organizacion = {
enable = true,
system = 'auto', -- 'auto' | 'rarx_ilegal' | 'origen_ilegal' | 'rarx_gangs' | 'custom'
},
}Service Status#
Shows live count of police and EMS online in the menu header.
Config.serviceStatus = {
enable = true,
police = {
enable = true,
label = 'Police',
jobs = { 'police', 'sheriff' },
},
ems = {
enable = true,
label = 'EMS',
jobs = { 'ambulance', 'doctor' },
},
}Map Keybind#
Config.mapKeybind = {
enable = true,
key = 'P', -- Opens the map directly
}Header Icons#
Config.headerIcons = {
navButtonSize = 44, -- Map, settings, exit button size (px)
navIconSize = 24, -- SVG icon size (px)
actionButtonSize = 40, -- Theme toggle, close button size (px)
actionIconSize = 20, -- SVG icon size (px)
}Events System#
Config.events = {
enable = true,
maxEvents = 10, -- Maximum active events
}Custom Buttons#
Add unlimited buttons below the app shortcuts. Each button can execute a command, client event, or server event.
Config.customButtons = {
{
id = 'my_button',
label = 'My Button',
image = 'https://example.com/image.jpg',
action = 'command', -- 'command' | 'client_event' | 'server_event'
value = 'mycommand', -- Command or event name
locked = false, -- Show as locked (greyed out)
jobs = {}, -- Job restriction (empty = everyone)
},
}| Field | Type | Description |
|---|---|---|
id |
string | Unique identifier |
label |
string | Button text |
image |
string | Background image URL |
action |
string | 'command', 'client_event', or 'server_event' |
value |
string | The command or event name to execute |
locked |
boolean | If true, button appears greyed out |
jobs |
table | Job names that can see/use it. Empty = everyone |
Admin Panel#
The admin panel is accessible via a configurable keybind and allows full event management.
Access Control#
Config.admin = {
enable = true,
keybind = 'END', -- Key to open admin panel
identifiers = {
'933383327547818076', -- Discord ID (without prefix)
-- 'license:xxxxxxxx', -- License
-- 'steam:110000xxxxxxxxx', -- Steam
-- 'fivem:xxxxxxx', -- FiveM
},
}Admin Features#
- Create events with title, description, date, and image
- Edit and delete existing events
- Real-time sync -- changes are instantly visible to all players
- Database persistence -- events survive server restarts
Localization#
The language is set via the rarx-lang convar in your server.cfg:
setr rarx-lang "en"Available languages: en (English), es (Spanish). Add new languages by creating a new file in the translates/ folder.
Custom Bridge#
Override default framework behavior by editing the files in the custom/ folder:
| File | Purpose |
|---|---|
custom/client/bridge.lua |
Override player data, loaded state, or app open behavior |
custom/server/bridge.lua |
Override server-side player queries |
These files are escrow-ignored and safe to edit.
Technical Integration#
Client Events#
-- Open the pause menu programmatically
TriggerEvent('rarx_pausemenu:open')
-- Close the pause menu
TriggerEvent('rarx_pausemenu:close')Server Events#
-- Broadcast event updates to all players
TriggerClientEvent('rarx_pausemenu:client:eventsUpdated', -1, eventsTable)Compatibility#
Supported App Integrations#
| App | Compatible Resources |
|---|---|
| Services | rarx_services, origen_police |
| Business | rarx_jobs, origen_masterjob |
| Organization | rarx_ilegal, origen_ilegal, rarx_gangs |
origen_masterjob Setup#
To enable full compatibility with origen_masterjob, add the RARX injection to its fxmanifest.lua:
Open fxmanifest.lua
Navigate to your
origen_masterjobresource folder and openfxmanifest.lua.Add the injection
Add this line at the end of the
server_scriptssection:"@rarx_lib/injections/server/origen_masterjob.lua"
Example fxmanifest.lua
server_scripts {
"@oxmysql/lib/MySQL.lua",
"server/log.lua",
"server/init.lua",
"custom/server/command.lua",
"custom/server/main.lua",
"custom/server/menu/phone.lua",
"server/garage.lua",
"server/class.lua",
"server/commands.lua",
"server/events.lua",
"server/functions.lua",
"server/menu.lua",
"server/npcs.lua",
"server/threads.lua",
"radio/server/**/*.lua",
"@rarx_lib/injections/server/origen_masterjob.lua"
}Troubleshooting#
Events not saving
Verify the database connection and that the events table was created correctly by importing the included SQL file.
Admin panel not accessible
Ensure your identifier is correctly added to Config.admin.identifiers. Discord IDs should be added without the discord: prefix.
App buttons not working
Check that the target resource (e.g., rarx_services, origen_masterjob) is started. If auto-detection fails, set the system field to the specific resource name.
Colors not applying
Verify HEX color format is correct and does not include the # prefix. Clear your game cache if needed.
XP not showing
Ensure Config.exp.enable = true and that the Config.exp.name matches the exact account name in your framework.
Service status showing 0
Verify the job names in Config.serviceStatus.police.jobs and Config.serviceStatus.ems.jobs match the exact job names in your framework.
