> 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/es/nucleo/cuxial-multichar/installation.md).

# Instalación

Instala Cuxial Multichar paso a paso: dependencias, convars, bot de Discord y orden de arranque.

Sigue estos pasos en orden para dejar la selección de personajes funcionando sin romper lo que ya tienes.

{% stepper %}
{% step %}

## Comprueba las dependencias

Estos recursos tienen que estar instalados y funcionando antes de empezar:

* OneSync activado
* `ox_lib`
* `oxmysql`
* `cuxial_bridge`
* Un framework soportado: **QBox** o **QBCore**

{% hint style="warning" %}
Cuxial Multichar requiere **QBox** o **QBCore**.
{% endhint %}

Los recursos opcionales (`cuxial_emotes`, `cuxial_license`, `cuxial_garages`, `av_weather`, `qbx_properties`) se detectan solos. Si faltan, no se rompe nada.

El recurso de apariencia también es opcional. Cuxial Multichar usa `cuxial_appearance` y, si no está en marcha, `illenium-appearance`. Con cualquiera de los dos se ve el aspecto del personaje en la escena y se abre el creador al crear uno nuevo. Con `illenium-appearance`, el aspecto se lee de la tabla `playerskins` (fila con `active = 1`).

{% hint style="info" %}
Sin recurso de apariencia, el personaje se ve con el cuerpo base (modelo por defecto según el género) y no se abre ningún creador al crear personaje.
{% endhint %}

{% hint style="warning" %}
No arranques otra selección de personajes ni otra pantalla de carga a la vez. Cuxial Multichar trae su propia pantalla de carga y se encarga del inicio de sesión del personaje.
{% endhint %}
{% endstep %}

{% step %}

## Copia el recurso

Coloca la carpeta `cuxial_multichar` dentro de tu directorio `resources`. No le cambies el nombre.

La interfaz ya viene compilada en `web/build`. No hay que compilar nada.
{% endstep %}

{% step %}

## Base de datos

No hay nada que importar. La tabla `cuxial_family` (personajes menores) se crea sola cuando el recurso arranca con `family.enabled = true`, y las columnas que falten se añaden en las actualizaciones.

Si prefieres crearla a mano, el archivo está en `install/cuxial_family.sql`.
{% endstep %}

{% step %}

## Objetos iniciales

Los personajes nuevos reciben los objetos de la lista `starterItems`. Por defecto: `phone`, `id_card` y `driver_license`.

Asegúrate de que esos objetos existen en tu inventario, o edita la lista en `shared/config.lua`. Si un objeto no existe, la consola del servidor lo avisa al arrancar.
{% endstep %}

{% step %}

## Convars

Añade a tu `server.cfg` las que necesites. Todas son opcionales.

{% code title="server.cfg" %}

```cfg
# Huecos extra de personaje por rol de Discord
set cuxial_multichar_discord_token "TU_TOKEN_AQUI"
set cuxial_multichar_discord_guild "ID_DE_TU_SERVIDOR_DE_DISCORD"

# Registros en Discord
set cuxial_multichar_webhook "TU_WEBHOOK_AQUI"
```

{% endcode %}

| Convar                           | Para qué sirve                                                                                                                                |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `cuxial_multichar_discord_token` | Token del bot de Discord que lee los roles de cada jugador                                                                                    |
| `cuxial_multichar_discord_guild` | ID de tu servidor de Discord                                                                                                                  |
| `cuxial_multichar_webhook`       | Webhook de Discord que recibe los registros                                                                                                   |
| `cuxial_multichar_debug`         | `1` muestra mensajes de depuración en la consola del servidor. Para verlos también en la consola del cliente, usa `debug = true` en el config |

{% hint style="danger" %}
**El token del bot es secreto.** Define estas convars con `set`, nunca con `setr`: `setr` replica el valor a todos los clientes conectados, y cualquiera podría leer tu token. No pegues el token en el config, en capturas ni en un repositorio público. Si se filtra, regenéralo de inmediato en el Discord Developer Portal.
{% endhint %}

{% hint style="info" %}
El idioma de la interfaz es el de `ox_lib`. Se cambia con `setr ox:locale es` (o `en`).
{% endhint %}
{% endstep %}

{% step %}

## Huecos por Discord (opcional)

Sáltate este paso si todos los jugadores tienen el mismo número de personajes.

1. Crea un bot en el Discord Developer Portal e invítalo a tu servidor de Discord.
2. Pon su token y el ID de tu servidor en las convars del paso anterior.
3. Activa la función y añade tus roles en `shared/config.lua`:

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

```lua
discordSlots = {
    enabled = true,
    roles = {
        { id = '123456789012345678', slots = 5 },
    },
    users = {
        ['123456789012345678'] = 4,
    },
},
```

{% endcode %}

Los huecos por ID de usuario (`users`) funcionan sin el bot y sin las convars. Más detalle en [Configuración](/scripts/es/nucleo/cuxial-multichar/configuration.md#huecos-por-discord).
{% endstep %}

{% step %}

## Orden de arranque

Arranca Cuxial Multichar después de sus dependencias.

{% code title="server.cfg" %}

```cfg
ensure oxmysql
ensure ox_lib
ensure qbx_core            # o qb-core
ensure ox_inventory        # o qb-inventory
ensure cuxial_bridge

# Apariencia (opcional): uno de los dos
ensure cuxial_appearance   # o illenium-appearance

# Opcionales
ensure cuxial_emotes
ensure cuxial_license
ensure cuxial_garages

ensure cuxial_multichar
```

{% endcode %}
{% endstep %}

{% step %}

## Comprobación final

1. Reinicia el servidor y conéctate.
2. Aparece la pantalla de carga y termina en un botón de **comenzar**.
3. Se abre la selección con tus personajes, o el formulario de creación si no tienes ninguno.
4. Crea un personaje: pasas por el creador de apariencia (si tienes un recurso de apariencia) y apareces con los objetos iniciales.

Si algo falla, mira [Problemas frecuentes](/scripts/es/nucleo/cuxial-multichar/troubleshooting.md).
{% endstep %}
{% endstepper %}


---

# 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/es/nucleo/cuxial-multichar/installation.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.
