Skip to content

Installing RedM Pause Menu on RSG Core ​

Requirements ​

RequirementNotes
RedM server (cerulean / rdr3)Any recent artifact
rsg-coreStarted before rm_pausemenu
oxmysqlrsg-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 ​

cfg
ensure oxmysql
ensure rsg-core
ensure rm_pausemenu

add_ace group.admin rm_pausemenu.desk allow

That 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: en

If it says standalone, rsg-core was not up when the menu booted.

RSG-specific configuration ​

lua
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 ​

RowSource
Cashmoney.cash
BankLegacy 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 ​

lua
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'
  • [ ] /sheriff opens the desk for an ace holder
  • [ ] /checkhours prints 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.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.