> For the complete documentation index, see [llms.txt](https://docs.cuxial.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cuxial.com/scripts/interface/cuxial-pausemenu/configuration.md).

# Configuration

Every option of Cuxial Pause Menu explained: server name, keys, shortcuts, rules, social networks and presence icons.

Everything you can adjust lives in `shared/config.lua`. Restart the resource after any change.

## General

| Option  | Type    | Default | What it does                                                                                             |
| ------- | ------- | ------- | -------------------------------------------------------------------------------------------------------- |
| `debug` | boolean | `false` | Prints traces to the server console. Also enabled by setting the convar `cuxial_pausemenu_debug` to `1`. |

## Interface · `ui`

| Option             | Type         | Default      | What it does                                                                          |
| ------------------ | ------------ | ------------ | ------------------------------------------------------------------------------------- |
| `accent`           | string (hex) | configurable | Accent colour of the interface. Also colours the job tag while the player is on duty. |
| `particles.color`  | string (hex) | `''`         | Neutral colour of the particles and of the map presence icon. Empty = white.          |
| `particles.accent` | string (hex) | `''`         | Highlight colour of the particles and of the menu presence icon. Empty = the accent.  |

The logo shown in the header is `web/dist/img/logo.webp`. Replace the file, keeping the name, to use your own.

## Server · `server`

| Option       | Type   | Default       | What it does                                                        |
| ------------ | ------ | ------------- | ------------------------------------------------------------------- |
| `name`       | string | `'My Server'` | Server name shown in the header. Change it to yours.                |
| `maxPlayers` | number | `0`           | Slots shown next to the players online. `0` = uses `sv_maxclients`. |

## Keys · `keys`

| Option | Type   | Default    | What it does                                                        |
| ------ | ------ | ---------- | ------------------------------------------------------------------- |
| `menu` | string | `'ESCAPE'` | Default key that opens the menu.                                    |
| `map`  | string | `'P'`      | Default key that opens the GTA map directly. `''` removes this key. |

{% hint style="info" %}
These are only defaults. FiveM remembers each player's bindings, and every player can change them in the GTA key settings.
{% endhint %}

## Shortcuts · `tiles`

The large buttons of the left column, in the order they are listed.

| Field   | Type   | What it does                                                                                                                                              |
| ------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`    | string | Action of the button. `'resume'` = back to the game, `'nativeMap'` = GTA map, `'nativeSettings'` = GTA settings, `'quit'` = disconnect or close the game. |
| `image` | string | Background picture, a file inside `web/dist/img/tiles/`. Optional.                                                                                        |

Remove a line to hide that button. The texts come from the locale files: `UI_TILE_<ID>` and `UI_TILE_<ID>_HINT`.

{% code title="shared/config.lua" %}

```lua
tiles = {
    { id = 'resume', image = 'resume.webp' },
    { id = 'nativeMap', image = 'map.webp' },
    { id = 'quit', image = 'exit.webp' },
},
```

{% endcode %}

## Rules · `rules`

A list of texts, one per rule, shown in the order written. The ones shipped are examples: replace them with yours. With an empty list the menu says the server has not published any rules.

{% code title="shared/config.lua" %}

```lua
rules = {
    'Treat other players with respect.',
    'No cheats or external software.',
},
```

{% endcode %}

## Community · `socials`

The social networks listed under the rules, each with its icon, name and handle. The ones shipped are examples. An empty list hides the section.

| Field    | Type         | What it does                                                                                                                                           |
| -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`     | string       | Picks the icon: `discord`, `instagram`, `tiktok`, `youtube`, `twitter`, `x`, `telegram`, `web` or `website`. Any other value gets a generic link icon. |
| `label`  | string       | Name of the network.                                                                                                                                   |
| `handle` | string       | Address or user name shown below. Optional.                                                                                                            |
| `color`  | string (hex) | Colour of the icon. Optional; the accent if omitted.                                                                                                   |

{% code title="shared/config.lua" %}

```lua
socials = {
    { id = 'discord', label = 'Discord', handle = 'discord.gg/yourserver', color = '#5865F2' },
    { id = 'web', label = 'Web', handle = 'yourserver.com', color = '#ffffff' },
},
```

{% endcode %}

## Extra currency · `coins`

| Option    | Type    | Default   | What it does                                                                                                                                                                     |
| --------- | ------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | boolean | `false`   | `true` shows a third balance next to cash and bank. `false` hides it; the character card then shows the played time, if your framework stores a `playtime` value for the player. |
| `account` | string  | `'coins'` | Money account read from your framework.                                                                                                                                          |

{% hint style="info" %}
Set `enabled = true` only when your framework has that account. If the account does not exist, the balance shows `0`.
{% endhint %}

## Services on duty · `duty`

| Option    | Type   | Default | What it does                   |
| --------- | ------ | ------- | ------------------------------ |
| `police`  | string | `'leo'` | Job counted as police on duty. |
| `medical` | string | `'ems'` | Job counted as medics on duty. |

On QBox and QBCore the value is compared with the job type and with the job name, so `'leo'` counts every police job.

{% hint style="warning" %}
On ESX only the job name is compared. Use your job names, for example `police = 'police'` and `medical = 'ambulance'`. The gang tag is shown on QBox and QBCore.
{% endhint %}

## Clock · `clock`

| Option      | Type   | Default | What it does                                                                                                        |
| ----------- | ------ | ------- | ------------------------------------------------------------------------------------------------------------------- |
| `refreshMs` | number | `20000` | Milliseconds between refreshes of the time, the weather and the duty counters while the menu is open. Minimum 1000. |

## Presence icons · `aura`

Icons that orbit above the head of a player who has the menu, the settings or the map open, so others know that player is not looking at the game.

| Option          | Type    | Default | What it does                                                                                                                     |
| --------------- | ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`       | boolean | `true`  | `true` shows the icons. `false` turns the whole feature off.                                                                     |
| `distance`      | number  | `22.0`  | Metres beyond which the icons are not drawn.                                                                                     |
| `requireLos`    | boolean | `true`  | `true` draws them only with a clear line of sight. `false` draws them through walls.                                             |
| `showSelf`      | boolean | `true`  | `true` shows your own icons too. They are hidden in first person.                                                                |
| `headOffset`    | number  | `0.42`  | Height above the head, in metres.                                                                                                |
| `clearOnDeath`  | boolean | `true`  | `true` shows no icons while the player is dead or downed. `false` keeps them.                                                    |
| `tick`          | number  | `0`     | Milliseconds between position updates while icons are visible. `0` = every frame. From 0 to 250.                                 |
| `checkMs`       | number  | `200`   | Milliseconds between checks of who is nearby and visible. From 50 to 1000.                                                       |
| `rescanMs`      | number  | `3000`  | Milliseconds between searches for players who arrive with the menu already open. `0` disables the search; otherwise minimum 500. |
| `heartbeatMs`   | number  | `20000` | Milliseconds between the signals that keep a player's state alive. Minimum 2000.                                                 |
| `maxSeconds`    | number  | `90`    | Seconds after which the server clears a state that stopped sending signals. Minimum 5, and never less than twice `heartbeatMs`.  |
| `healMs`        | number  | `1000`  | Milliseconds the menu waits before closing itself when it loses focus without being closed. Minimum 250.                         |
| `rate.limit`    | number  | `10`    | State changes accepted per player in each window.                                                                                |
| `rate.windowMs` | number  | `10000` | Length of that window, in milliseconds.                                                                                          |

## GTA menu · `native`

Timings used to keep the GTA pause screen hidden and to open its map and settings. The defaults suit most servers.

| Option                | Type   | Default | What it does                                                                                                                                                                        |
| --------------------- | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `suppressFrames`      | number | `20`    | Frames the GTA pause screen is blocked after pressing the menu key.                                                                                                                 |
| `mapKeyBlockFrames`   | number | `6`     | Frames it is blocked after releasing the map key, before the map opens.                                                                                                             |
| `mapScreen`           | number | `0`     | Screen of the GTA menu opened by the map shortcut. `0` = map.                                                                                                                       |
| `mapOpenDelayMs`      | number | `100`   | Milliseconds waited before entering the map.                                                                                                                                        |
| `settingsOpenDelayMs` | number | `500`   | Milliseconds waited after opening the settings.                                                                                                                                     |
| `watchdogMs`          | number | `250`   | Milliseconds between checks for a GTA pause screen opened by something else (a controller, another resource). When found, it is closed and this menu opens. `0` disables the check. |

## GTA colours · `hudColours`

Replaces GTA interface colours so the map and the settings match the menu. Each entry is `[index] = { red, green, blue, alpha }`, with values from 0 to 255; alpha is optional. The index is the GTA HUD colour number.

{% code title="shared/config.lua" %}

```lua
hudColours = {
    [116] = { 255, 255, 255, 255 },
},
```

{% endcode %}

Leave the table empty to keep the original GTA colours.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cuxial.com/scripts/interface/cuxial-pausemenu/configuration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
