# 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="https://3673882971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFxWJGV2Spk1WhY0R0XVU%2Fuploads%2FbC9sqBIX4KUQosLAkuCS%2Fimage.png?alt=media&#x26;token=929caadc-4f35-4e7e-8606-7377279077af" alt="" width="162"><figcaption><p>Images Based Input</p></figcaption></figure> <figure><img src="https://3673882971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFxWJGV2Spk1WhY0R0XVU%2Fuploads%2FqxZ2YT59M7cZhr7IckGx%2Fobraz_2025-09-17_141231538.png?alt=media&#x26;token=050b9479-749d-4b19-a6e1-5aafd3b2345e" 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: 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:

```
GET https://docs.17movement.net/character-system/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
