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

# Configuration

### 🛠️ Lua Configuration (`config.lua`)

Server-side settings that control the core behavior of the pause menu.

***

#### 🏗️ Framework

```lua
Config.Framework = "auto"
```

| Value      | Description                                                        |
| ---------- | ------------------------------------------------------------------ |
| `"auto"`   | Automatically detects QBCore, QBox, ESX, vRP, or standalone        |
| `"custom"` | Uses your custom functions in `editable/server.lua` & `client.lua` |

**Supported Frameworks (auto-detected):**

| Framework      | Detection Method             |
| -------------- | ---------------------------- |
| **QBCore**     | `qb-core` resource           |
| **QBox**       | `qbx_core` resource          |
| **ESX**        | `es_extended` (new + legacy) |
| **vRP**        | `vrp` resource               |
| **Standalone** | Fallback if none found       |

***

#### 🌐 Language

```lua
Config.Language = 'en'
```

<table><thead><tr><th width="187">Code</th><th>Language</th><th>Code</th><th>Language</th></tr></thead><tbody><tr><td><code>en</code></td><td>English</td><td><code>ru</code></td><td>Russian</td></tr><tr><td><code>tr</code></td><td>Turkish</td><td><code>ar</code></td><td>Arabic</td></tr><tr><td><code>de</code></td><td>German</td><td><code>zh</code></td><td>Chinese</td></tr><tr><td><code>fr</code></td><td>French</td><td><code>ja</code></td><td>Japanese</td></tr><tr><td><code>es</code></td><td>Spanish</td><td><code>ko</code></td><td>Korean</td></tr><tr><td><code>pt</code></td><td>Portuguese</td><td><code>it</code></td><td>Italian</td></tr><tr><td><code>id</code></td><td>Indonesian</td><td><code>th</code></td><td>Thai</td></tr><tr><td><code>pl</code></td><td>Polish</td><td><code>nl</code></td><td>Dutch</td></tr></tbody></table>

***

#### 🔑 ESC Menu Override

```lua
Config.ReplaceEscMenu = true
```

| Value   | Description                                          |
| ------- | ---------------------------------------------------- |
| `true`  | Replaces the default GTA pause menu with this menu   |
| `false` | Menu only opens via the command (GTA menu unchanged) |

***

#### 💻 Command

```lua
Config.Command = 'pausemenu'
```

Alternative command to open the pause menu. Set to `false` to disable the command entirely.

***

#### 🖼️ Background

```lua
Config.Background = {
    blur    = 0,      -- vw — set to 0 to disable blur
    opacity = 0.75,   -- 0.0 → 1.0 (lower = more transparent)
}
```

| Key       | Description                                                      |
| --------- | ---------------------------------------------------------------- |
| `blur`    | Background blur amount in `vw` units. `0` disables blur          |
| `opacity` | Darkness overlay. `0.0` = fully transparent, `1.0` = fully black |

***

#### 🏠 Server Info

```lua
Config.Server = {
    name    = 'FB Scripts',
    tagline = 'Roleplay',
    logo    = 'images/Icon.png',
}
```

| Key       | Description                                |
| --------- | ------------------------------------------ |
| `name`    | Server name displayed in the top-left area |
| `tagline` | Short tagline below the server name        |
| `logo`    | Path to your server logo image             |

***

#### 👤 Player Info (Visibility)

```lua
Config.Player = {
    avatar     = { enabled = true  },
    cash       = { enabled = true  },
    bank       = { enabled = true  },
    blackMoney = { enabled = false },
}
```

Set `enabled` to `false` to hide any element from the player info section.

***

#### 📊 Display Boxes

```lua
Config.Displays = {
    job      = { label = 'Current Job',  enabled = true  },
    jobGrade = { label = 'Job Grade',    enabled = true  },
    playerId = { label = 'ID',           enabled = true  },
    online   = { label = 'Online',       enabled = true  },
}
```

| Key       | Description                             |
| --------- | --------------------------------------- |
| `label`   | Heading text shown above the value      |
| `enabled` | Set to `false` to hide this display box |

***

#### 📑 Tab Visibility

```lua
Config.Tabs = {
    resume     = { enabled = true  },
    worldMap   = { enabled = true  },
    settings   = { enabled = true  },
    keyboard   = { enabled = true  },
    commands   = { enabled = true  },
    faq        = { enabled = true  },
    changelog  = { enabled = true  },
    disconnect = { enabled = true  },
    quitGame   = { enabled = true  },
}
```

Set any tab to `enabled = false` to hide it from the menu.

***

#### 🗺️ World Map Action

```lua
Config.WorldMap = {
    action = "native",
}
```

| Value      | Description                                              |
| ---------- | -------------------------------------------------------- |
| `"native"` | Opens the GTA built-in map (native pause menu map tab)   |
| `"custom"` | Calls `Editable.OpenWorldMap()` in `editable/client.lua` |

***

#### ⚙️ Settings Action

```lua
Config.Settings = {
    action = "native",
}
```

| Value      | Description                                              |
| ---------- | -------------------------------------------------------- |
| `"native"` | Opens the GTA built-in settings menu                     |
| `"custom"` | Calls `Editable.OpenSettings()` in `editable/client.lua` |

***

#### 👤 Fallback Avatar

```lua
Config.FallbackAvatar = "images/avatar.png"
```

Image shown when the player's live mugshot cannot be generated.

***

#### 🐛 Debug

```lua
Config.Debug = false
```

Set to `true` to enable debug prints in the console.

***

### 🎨 UI Configuration (`config.js`)

All visual content and UI behavior is configured in `config.js`.

***

#### 🏠 Server Info

```js
server: {
    name:    'FB Scripts',
    tagline: 'Roleplay',
    logo:    'images/Icon.png',
},
```

Same as the Lua config — displayed in the top-left logo area.

***

#### 🎬 Animations

```js
animations: {
    slideInDuration:  500,   // ms — new section slides in from the right
    slideOutDuration: 350,   // ms — old section slides down
    tabShiftDuration: 500,   // ms — tabs shift left when a panel opens
},
```

Customize section transition timings in milliseconds.

***

#### ⌨️ Keyboard Binds

```js
keyboardBinds: [
    { key: 'F1',        name: 'Admin Menu',    description: 'Open the admin panel' },
    { key: 'F2',        name: 'Inventory',     description: 'Open your inventory' },
    { key: 'E',         name: 'Interact',      description: 'Interact / pick up items' },
    { key: 'Caps Lock', name: 'Crouch',        description: 'Toggle crouch stance' },
    { key: 'Space',     name: 'Jump / Brake',  description: 'Jump on foot, brake in vehicle' },
    // Add more binds...
],
```

| Key           | Description                                               |
| ------------- | --------------------------------------------------------- |
| `key`         | Exact label on the keyboard (e.g. `F1`, `E`, `Caps Lock`) |
| `name`        | Short bind name shown in the tooltip                      |
| `description` | Longer description shown in the tooltip                   |

These keybinds are displayed on the interactive keyboard visualization. Keys with binds are highlighted and show a tooltip on hover.

***

#### 💬 Commands

```js
commands: [
    { name: '/me [action]',      description: 'Perform a visible roleplay action' },
    { name: '/911 [message]',    description: 'Call emergency services' },
    { name: '/inventory',        description: 'Open your item inventory' },
    { name: '/engine',           description: 'Toggle vehicle engine on / off' },
    // Add more commands...
],
```

| Key           | Description                  |
| ------------- | ---------------------------- |
| `name`        | Command syntax shown in bold |
| `description` | What the command does        |

***

#### ❓ FAQ

```js
faq: [
    {
        question: 'How do I get a job?',
        answer:   'Head to a job location on the map and use the /work command to clock in.',
    },
    // Add more entries...
],
```

| Key        | Description                      |
| ---------- | -------------------------------- |
| `question` | Shown in white (bold)            |
| `answer`   | Shown in grey below the question |

***

#### 📋 Changelog

```js
changelog: [
    {
        title:       'v1.3.0 — New Vehicles',
        description: 'Added 12 new vehicles and overhauled the garage system.',
        image:       'images/changelog.png',
    },
    // Add more entries...
],
```

| Key           | Description                                                   |
| ------------- | ------------------------------------------------------------- |
| `title`       | Version and update name                                       |
| `description` | Short summary of the update                                   |
| `image`       | Background image for the card (path relative to `index.html`) |

***
