Skip to main content
Most issues come down to start order, permissions, or Discord setup. Work through the sections below before reaching out.

The menu won’t open

  • Confirm the resource started cleanly in the server console — look for the nex_scalemenu startup banner and no Lua errors.
  • If permissions are enabled, make sure the player has the openSelf action. With the system enabled, the command silently does nothing for players who lack permission. See Permissions.
  • Check the gender lock.

Scales don’t save or load

This is almost always a oxmysql start-order problem.
oxmysql must be started before nex_scalemenu. Put ensure oxmysql first in server.cfg, before your framework and before this resource.
  • Verify the order in server.cfg:
    ensure oxmysql
    ensure qbx_core
    ensure nex_scalemenu
    
  • Confirm oxmysql itself is connected to your database.
  • Reconnect after confirming a scale — the value is read back on join.

The database table wasn’t created

The nex_scalemenu table is created automatically on first start with CREATE TABLE IF NOT EXISTS. If it’s missing:
  • Make sure oxmysql started before nex_scalemenu (see above) — the schema can’t be created otherwise.
  • Look for failed to ensure schema in the server console, which points to a database connection or permissions error on the MySQL user.
  • Confirm the MySQL user has CREATE privileges on the database.

Permissions block everyone after enabling

When you set permissions.enabled = true, only the actions granted across the four layers are allowed — everything else is denied.
  • Make sure defaultPermissions grants the baseline you want. The shipped default grants openSelf and resetSelf to everyone, with openOther and resetOther reserved.
  • To give admins openOther / resetOther, add the ACE line and assign the group:
    add_ace group.admin nex_scalemenu.admin allow
    
  • See Permissions for the full layered model.

Discord roles aren’t resolving

If Discord-based permissions never grant access:
  • Set discord.enabled = true and fill in both botToken and guildId. If either is empty, the lookup returns no roles.
  • Enable the Server Members Intent in the bot’s settings — without it, the Discord API returns no member data.
  • Invite the bot to the guild with at least the View Server Members permission.
  • Confirm the role IDs in roles are correct (right-click a role with Developer Mode on, then Copy Role ID).
  • Remember roles are cached per player for cacheSeconds (default 300, five minutes), so changes can take up to five minutes to take effect.
A player must have a discord: identifier (be connected to FiveM through Discord) for role lookup to work at all.

A player can’t open the menu (gender lock)

The gender block restricts who can use the menu by ped gender. If a player is blocked, check config.lua:
gender = {
    male   = true,
    female = true,
},
Set both to true to allow either gender.

Scale resets to 1.0 on its own

This is expected behavior in a couple of cases, surfaced in the in-menu notices:
  • Entering or exiting a vehicle resets the scale to 1.0.
  • Changing terrain can cause sudden scale adjustments as the ped re-snaps to the ground.

A confirmed scale doesn’t persist

  • If you confirm a default scale (1.0 / 1.0), the row is intentionally deleted rather than stored — this keeps the table free of no-op rows. Only non-default scales are saved.
  • Otherwise, recheck the oxmysql start order and database connection above.

Still stuck?

If none of the above resolves it, head to Support with your server.cfg ensure order, the relevant console output, and your config.lua permissions block.