nex_scalemenu lets players resize their character’s height and build in real time through a modern NUI. A cinematic camera flies in around the ped, you can click-and-drag anywhere outside the menu to spin the ped 360 degrees, and a palette of presets gets you close before you fine-tune with the sliders. Nothing persists until you confirm, and everything saves per character to MySQL.
The UI ships pre-built and ready to use — there is no build step, no Node, npm, or Bun, and no dependencies beyond oxmysql. Drop the folder in, ensure it, done.
Features
- Two-axis scaling — independent
heightandbodyaxes. Width and depth scale withbody, vertical withheight. - Cinematic camera — smooth fly-in / fly-out around the ped with vertical tracking that follows the height slider.
- Drag-to-rotate — click anywhere outside the menu and drag to spin the ped a full 360 degrees.
- Preset palette — Child, Petite, Default, Tall, Towering, Giant, fully configurable in
config.lua. - Live preview — sliders update the ped immediately, and nothing persists until you confirm.
- Multiplayer sync — other players see your scale, and new joiners receive all current scales on connect.
- Per-character MySQL persistence — saved via
oxmysqlin thenex_scalemenutable, keyed by your framework’s character identifier. - Tiered permissions — disabled by default. When enabled, layered as
defaultPermissionsto ACE to identifier whitelist to Discord roles. - Gender lock — restrict the menu to male, female, or either.
- Weapon block — disables attack, aim, melee, and weapon-wheel controls while the menu is open.
- Drag-and-drop — single folder, single
ensure, no build, no schema setup.
Requirements
| Requirement | Notes |
|---|---|
| FiveM server | Any recent artifacts |
oxmysql | Required. Must start before this resource |
| ESX / QBCore / Qbox | Optional. Auto-detected, falls back to standalone |
Framework detection is automatic. Qbox and QBCore key persistence by
citizenid, ESX by identifier, and standalone by the player’s license.How it works
When a player joins, the resource reads their stored scale from MySQL and syncs it to everyone. Opening the menu with/scale shows a live preview driven by the sliders and presets. On confirm, the new scale is broadcast to all players and written to the nex_scalemenu table. A default scale (1.0 / 1.0) deletes the row instead of storing a no-op, so the table never fills with default entries.
In this section
- Installation — drag-and-drop install and
server.cfgorder - Configuration — the
config.luatable, presets, camera, UI tokens, and locales - Permissions — the layered permission stack and the four action names
- Commands —
/scaleand/resetscale, and their permissions - Troubleshooting — common issues and fixes

