> 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/core/cuxial-appearance/commands.md).

# Commands & permissions

Commands and keys of Cuxial Appearance, and who counts as staff.

Two commands are open to every player; the rest are for staff. The names below are the defaults and can be changed in the `commands` block of `shared/config.lua`.

## Commands

| Command                                                      | Who                   | What it does                                                                                                                                             |
| ------------------------------------------------------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/vestuario`                                                 | Everyone              | Opens the wardrobe to take garments off and put them on. In inventory mode it opens the clothing panel of the inventory.                                 |
| `/fixpj`                                                     | Everyone              | Reloads your saved appearance and removes objects stuck to your character. 10 second cooldown.                                                           |
| `/adminclothing`                                             | Staff                 | Opens the staff panel.                                                                                                                                   |
| `/ropa [id] [type]`                                          | Staff                 | Opens an appearance menu on yourself or on the player with that server id. `type`: `appearance` (default), `outfits`, `clothing`, `barber` or `surgeon`. |
| `/doblecx <id> [target]`                                     | Staff                 | Copies a look onto you, or onto the `target` server id. `id` is the server id of an online player or the character identifier of a stored character.     |
| `/givetrimmer <drawableM> <textureM> [drawableF] [textureF]` | Staff                 | Gives you a trimmer with a custom haircut: hair drawable and texture for men and for women. Without the female values, the male ones are used for both.  |
| `/fotosropa [gender]`                                        | Staff                 | Opens the photo studio for `male` (default) or `female`.                                                                                                 |
| `/migrarapariencia [source] [target] [mode]`                 | Staff, server console | Imports skins and outfits from another appearance script.                                                                                                |

{% hint style="info" %}
`<value>` is required and `[value]` is optional. A menu opened with `/ropa` outside a shop charges `prices.outfitPrice` when the look is saved.
{% endhint %}

### Migration

`/migrarapariencia` reads the tables of crm-appearance and illenium-appearance and writes them in the format of Cuxial Appearance. Back up your database before running it.

| Argument | Values                                                                                                            | Default  |
| -------- | ----------------------------------------------------------------------------------------------------------------- | -------- |
| `source` | `auto`, `crm` or `illenium`. `auto` detects the format of each row.                                               | `auto`   |
| `target` | A character identifier, or `all`.                                                                                 | `all`    |
| `mode`   | `overwrite` replaces appearances that already exist. Without it, only characters with no appearance are imported. | only new |

```
migrarapariencia auto all
migrarapariencia illenium ABC12345 overwrite
```

The summary is printed in the server console. Only one migration runs at a time.

{% hint style="info" %}
With `compat.legacySkins = true` you do not have to run it: the old skin of a character is imported the first time that character needs it.
{% endhint %}

## Keys

| Key          | What it does                                                                                                            |
| ------------ | ----------------------------------------------------------------------------------------------------------------------- |
| <kbd>E</kbd> | Opens the shop you are standing in. Default from `menu.openControl`; each player can rebind it in the GTA key settings. |

## Permissions

A player is staff for this script when your framework grants them the permission set in `admin.permission` (`'admin'` by default).

{% tabs %}
{% tab title="QBox / QBCore" %}
The permission is checked with the permission system of the framework. A player with the `admin` permission is staff.
{% endtab %}

{% tab title="ESX" %}
With `'admin'`, players in the groups `admin` and `superadmin` are staff. Any other value must match the name of the player's group exactly.
{% endtab %}
{% endtabs %}

Staff can:

* use the staff commands and the staff panel;
* see and wear garments reserved in the whitelist of the panel;
* wear restricted garments: staff are exempt from the blacklist and from the ACE garment restrictions;
* open the photo studio.

| Feature                       | Requirement                                                                                   |
| ----------------------------- | --------------------------------------------------------------------------------------------- |
| Shop limited to jobs          | Have one of the jobs of the shop                                                              |
| Job outfits                   | Saved by the boss of the job, with a minimum rank. Members with that rank or higher see them. |
| Models and garments in `aces` | Hold the ACE permission set for that entry                                                    |

To add an ACE restriction on top of a staff command, set `restricted` in its entry:

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

```lua
admin = { name = 'adminclothing', restricted = 'group.admin' },
```

{% endcode %}


---

# 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/core/cuxial-appearance/commands.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.
