> For the complete documentation index, see [llms.txt](https://docs.17movement.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.17movement.net/character-system/faq.md).

# FAQ

This page answers the most common questions about the script.

<details>

<summary>Can I use the menu without photos?</summary>

Yes, if you want to use arrow inputs instead of photos, just delete all pictures from the folder: `/web/photos/` and script will automatically switch to arrow mode.

<div><figure><img src="/files/0cUncujS8xsoKSbFMrk8" alt="" width="162"><figcaption><p>Images Based Input</p></figcaption></figure> <figure><img src="/files/Mu05Ak6OMiqm1ZDfTegk" alt=""><figcaption><p>Arrows Based Input</p></figcaption></figure></div>

</details>

<details>

<summary>Can I use another skin system or spawn selector?</summary>

Yes, that's why we designed Character System resource as "modular". There is a few modules, that you can disable:

```
- Location Selector
- Register Menu
- Character Selector
- Skin System
```

Each of this module can be disabled and replaced by some another resource.&#x20;

To disable specified module just go to their config file and set `Module.Enabled = false`.&#x20;

For ex. if you want to disable *Location Selector* open `/configs/Location.lua` file, at very top you should see `Location.Enabled = true`, so to disable it just set: `Location.Enabled = false`. After this Location module will be disabled

{% hint style="info" %}
In case of Loadingscreen replace, you would need to navigate into fxmanifest.lua and delete those lines:
{% endhint %}

```
loadscreen "web/index.html"
loadscreen_manual_shutdown "yes"
loadscreen_cursor "yes"
```

</details>

<details>

<summary>Can I limit character slots for players?</summary>

### **Yes, You can limit character slots in two ways:**&#x20;

#### Checking the player's Discord role:

To do this, you first need to configure `configs/Discord.lua` and add the IDs of your Discord roles. Then, you can set how many character slots each role should have.

```lua
Selector.Discord = {
    Enable = true,                                            -- Should enable system?
    Token = "enter_your_discord_bot_token_here",              -- Discord Bot token (bot must be on guild)
    Guild = "enter_your_guild_id_here",                       -- DiscordId of your server guild
    Roles = {                                                 -- There you can add roles and assign number of characters
        -- ["DISCORD_ID_OF_ROLE"] = NUMBER_OF_CHARACTERS,     -- Template
        -- ["1111774118820446259"] = 10,                      -- Example
    }
}
```

#### Adding player identifiers manually in the config

You can also assign the number of character slots **manually** based on the player’s identifier.\
All identifiers supported by **FiveM** are supported here, for example: `discord`, `steam`, `ip`, etc.

```lua
Selector.PlayerMaxCharacters = {
    ["license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] = 5,
}
```

#### The default ESX `multicharacter_slots` database table is also supported.&#x20;

</details>

<details>

<summary>Can I block specific clothes or reserve them for players?</summary>

**Yes, you can completely disable a specific clothing item in:** `Configs/Skin.lua → Skin.BlacklistedInputValues`:

```lua
Skin.BlacklistedInputValues = { -- Here you can blacklist some clothes (inputs values)
    [`mp_m_freemode_01`] = {
        ["tshirt_1"] = { 15, 16, 17 },
    },
}    
```

This will block the clothing item for everyone. Then, you can reserve the blocked item for:

* A single player
* A specific job
* A gang

in: `Configs/Skin.lua → Skin.WhitelistedInputValues`:

```lua
Skin.WhitelistedInputValues = { 
    [`mp_m_freemode_01`] = {
        {
            name = "tshirt_1",
            values = { 15, 16 },
            jobs = { "police" },
            gangs = { "ballas" },
            identifiers = { "license:8cbd53588ae8a50cf28da72afa411ca2453fde40" }
        },
    },
}
```

</details>


---

# 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://docs.17movement.net/character-system/faq.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.
