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

# 🚀 RT MULTICHARACTER

Premium character selection for **QBX** and **QB-Core**.

> **ESX is not supported.** Future support is not guaranteed.

***

### 📋 Requirements

* FXServer build **17000+**
* **OneSync** enabled
* **MySQL** + `oxmysql`
* **`ox_lib`**
* **`qbx_core`** or **`qb-core`**
* One **appearance** script (illenium, qb-clothing, fivem-appearance, or rcore\_clothing)

***

### 📦 Installation

#### Step 1 — Upload

```
resources/[rt]/rt-multicharacter
```

#### Step 2 — Disable the old multicharacter

**QBX** — open `qbx_core` shared config:

```lua
sharedConfig.disableMulticharacter = true
```

**QB-Core** — in `server.cfg`:

```cfg
# stop qb-multicharacter
```

> Only one multicharacter resource can run.

#### Step 3 — Minimum config

Edit `config/main.lua`:

```lua
AppearanceSystem = 'illenium',   -- your clothing resource
SpawnSystem = 'last-location',
LogoURL = 'https://your-server.com/logo.png',
ServerName = 'Your Server Name',
```

Set `CharCreatorCoords` to match the interior your appearance script uses.

**QB-Core only** — if framework is not detected, edit `shared/config.lua`:

```lua
Config.Framework = 'qb-core'
```

#### Step 4 — server.cfg

Your **appearance script must start before** rt-multicharacter.

**QBX example:**

```cfg
ensure ox_lib
ensure oxmysql
ensure qbx_core
ensure illenium-appearance
ensure rt-multicharacter
```

**QB-Core example:**

```cfg
ensure ox_lib
ensure oxmysql
ensure qb-core
ensure illenium-appearance
ensure rt-multicharacter
```

#### Step 5 — Restart

Tables `rt_player_slots` and `rt_playtime` are created automatically. No manual SQL required.

***

### ✅ Quick check

1. Join the server — selector opens.
2. F8 → `/rt_appearance_status` — clothing resource shows **started**.
3. Create a character — appearance menu opens and saves.

**Appearance menu does not open?** Your clothing resource is missing or loads **after** rt-multicharacter. Fix load order.

***

### ⚙️ Main settings

File: `config/main.lua`

| Setting                  | What it does                                                                |
| ------------------------ | --------------------------------------------------------------------------- |
| `AppearanceSystem`       | Clothing script to use                                                      |
| `SpawnSystem`            | `last-location` (default), `qb-spawn`, or `apartments`                      |
| `Locale`                 | UI language (`en`, `es`, `fr`, `de`, `pt-BR`, `it`) or `''` for `ox:locale` |
| `LogoURL` / `ServerName` | Branding in the UI                                                          |
| `OnlyLastLocation`       | Spawn at last position (no picker)                                          |
| `BucketIsolation`        | Keep `true` — isolates player in selector                                   |
| `DeleteButtonForAll`     | Let players delete their own characters                                     |

All options have comments inside each config file.

***

### 👮 Admin

File: `config/admin.lua`

* Command: `/rtchars` (changeable)
* Permissions: framework groups, ACE, or license whitelist
* Slot commands: `/giveslot` · `/removeslot`

Online editing — editing a connected player's character applies in real time:\
money, job, gang, name, phone and birthdate update without a relog, and the\
player gets an in-game notification in the server's language (Config.Locale).\
Controlled by AllowEditOnline in config/admin.lua (default: true). Set it to\
false to allow editing only offline characters.

Chat hints — /rtchars, /giveslot and /removeslot appear as chat autocomplete\
suggestions, visible only to players who pass the admin permission check.

***

### 📁 Config files

| File                      | Purpose                 |
| ------------------------- | ----------------------- |
| `config/main.lua`         | Core settings           |
| `config/coords.lua`       | Selector scenes         |
| `config/register.lua`     | Name, age, height rules |
| `config/slots.lua`        | Character slot limits   |
| `config/admin.lua`        | Admin panel             |
| `config/ui.lua`           | Colors & music          |
| `config/webhooks.lua`     | Discord logs            |
| `config/starteritems.lua` | Items on new character  |
| `locales/*.json`          | Translations            |

***

### 🎨 Appearance values

Set in `config/main.lua` → `AppearanceSystem`:

| Value              | Resource            |
| ------------------ | ------------------- |
| `illenium`         | illenium-appearance |
| `qb-clothing`      | qb-clothing         |
| `fivem-appearance` | fivem-appearance    |
| `rcore_clothing`   | rcore\_clothing     |

Check in-game: `/rt_appearance_status`

**fivem-appearance** — add to `server.cfg`:

```cfg
setr fivem-appearance:customization 1
```

***

### ❤️ Support

Developed by **RT Dev**.

Support through your **Tebex purchase channel**.

© RealTime Dev — all rights reserved.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://realtime-dev.gitbook.io/realtime-dev-docs/realtime-scripts/rt-multicharacter.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
