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.