> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexdev.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Real-time character height and build scaling for FiveM, with a cinematic camera, drag-to-rotate, presets, and a layered permission stack.

`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 **ready to use** — there is no build step and no dependencies beyond `oxmysql`. Drop the folder in, ensure it, done.

## Features

* **Two-axis scaling** — independent `height` and `body` axes. Width and depth scale with `body`, vertical with `height`.
* **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 `oxmysql` in the `nex_scalemenu` table, keyed by your framework's character identifier.
* **Tiered permissions** — disabled by default. When enabled, layered as `defaultPermissions` to 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`](https://overextended.dev/oxmysql) | Required. Must start **before** this resource     |
| ESX / QBCore / Qbox                           | Optional. Auto-detected, falls back to standalone |

<Info>
  Framework detection is automatic. Qbox and QBCore key persistence by `citizenid`, ESX by `identifier`, and standalone by the player's `license`.
</Info>

## 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](/nex_scalemenu/installation) — drag-and-drop install and `server.cfg` order
* [Configuration](/nex_scalemenu/configuration) — the `config.lua` table, presets, camera, UI tokens, and locales
* [Permissions](/nex_scalemenu/permissions) — the layered permission stack and the four action names
* [Commands](/nex_scalemenu/commands) — `/scale` and `/resetscale`, and their permissions
* [Troubleshooting](/nex_scalemenu/troubleshooting) — common issues and fixes
