Installing RedM Pause Menu on RSG Core
Requirements
| Requirement | Notes |
|---|---|
| RedM server (cerulean / rdr3) | Any recent artifact |
rsg-core | Started before rm_pausemenu |
oxmysql | rsg-core already hard-depends on it |
ox_lib: not ours, but already yours
The menu never imports ox_lib — it ships its own RPC layer, toasts and translator. rsg-core brings ox_lib along as its own hard dependency, so the menu simply rides notifications through it. Nothing is added to your stack.
1. Place the resource
The folder must be named exactly rm_pausemenu.
2. Import the SQL
Import sql/rsg.sql. It creates the six rm_pausemenu_* tables and nothing else — it never alters an rsg-core table, and it is safe to re-run.
The resource self-migrates the same schema at boot, so the import is optional but recommended, especially if your MySQL user lacks CREATE privileges at runtime.
Optionally, once the tables exist, import sql/demo_content.sql for showcase content.
3. server.cfg
ensure oxmysql
ensure rsg-core
ensure rm_pausemenu
add_ace group.admin rm_pausemenu.desk allowThat ace hands every desk badge plus the logbook to group.admin. The menu deliberately does not use rsg-core's admin groups — access is pure ace. See Permissions.
4. Check the boot line
[rm_pausemenu] framework: rsg | locale: enIf it says standalone, rsg-core was not up when the menu booted.
RSG-specific configuration
Posse — recommended
Cfg.Posse = 'rsg'Reads the character's gang label straight from rsg-core. Characters whose gang is none simply show no row — no empty label, no clutter.
Dossier money rows
| Row | Source |
|---|---|
| Cash | money.cash |
| Bank | Legacy money.bank when it holds more than 0 — otherwise the sum of the per-town banks (valbank + rhobank + blkbank + armbank) |
So servers on the older single-bank economy and servers on the newer per-town banking both show a correct total, with no configuration needed.
Notifications
Cfg.Notify = { Mode = 'auto' }On RSG, 'auto' and 'framework' route through ox_lib notify events — the system your RSG stack already provides. Set 'ui' for the built-in parchment toasts instead.
Verification
- [ ] Console printed
framework: rsg | locale: en - [ ] The dossier shows name, job label, cash and bank — and gang, with
Cfg.Posse = 'rsg' - [ ]
/sheriffopens the desk for an ace holder - [ ]
/checkhoursprints playtime - [ ]
rm_checkdesk <serverId>dumps the identifier and ace results
Troubleshooting on RSG
The dossier is empty. The player has not finished loading a character — on RSG that means LocalPlayer.state.isLoggedIn is still false (multicharacter screen, mid-spawn). It fills in once the player-loaded event fires. If it stays empty after character select, confirm the boot line said rsg.
Bank shows 0 but the character has money in town banks. The dossier reads legacy money.bank first; only when that is 0 does it fall back to summing the four town banks. If all five read 0, the money genuinely is not on the character. Note the reverse too: a leftover legacy money.bank above 0 takes precedence over the per-town sum.
Money shows stray decimals, e.g. $124.53. RSG stores money as decimals, and economy scripts that add or remove fractional amounts leave cents behind. The dossier prints exactly what rsg-core reports — it never rounds or rewrites a balance. Keep your economy scripts dealing in whole amounts if you want whole dollars on the poster.