> 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-appearance/installation.md).

# Instalación

Instala Cuxial Appearance paso a paso: dependencias, ítems, convars y orden de arranque.

Cuxial Appearance no necesita importar SQL. Crea sus tablas en el primer arranque y rellena la lista de tiendas con las tiendas por defecto.

{% stepper %}
{% step %}

## Comprueba las dependencias

Deben estar instaladas y funcionando antes:

* `ox_lib`
* `oxmysql`
* `cuxial_bridge`, con uno de los frameworks compatibles: QBox, QBCore o ESX
* OneSync activado en el servidor

Opcionales; cada una activa una parte del script:

* Un inventario (`ox_inventory` o `qb-inventory`): prendas como ítems, ítems de outfit, bolsas, recortadora y segunda mano.
* Un target (`sleepless_interact`, `ox_target` o `qb-target`): la bolsa de outfits colocada en el suelo.
* `cuxial_appearance_photos` más `screencapture` o `screenshot-basic`: fotos del catálogo.
* `cuxial_emotes`: poses en el menú y la recortadora.
  {% endstep %}

{% step %}

## Quita otros scripts de ropa

Detén cualquier otro recurso de apariencia o ropa. Dos a la vez compiten por el mismo ped y los mismos eventos.

{% hint style="danger" %}
El recurso crea tablas llamadas `appearance` y `outfits`. Si tu base de datos ya tiene tablas con esos nombres de otro script, haz una copia de seguridad antes del primer arranque.
{% endhint %}
{% endstep %}

{% step %}

## Copia los recursos

Coloca `cuxial_appearance` y `cuxial_appearance_photos` dentro de tu directorio `resources`. Mantén los nombres de las carpetas tal cual.
{% endstep %}

{% step %}

## Añade los ítems

Añade estos ítems a tu inventario. El ejemplo es para `ox_inventory`:

{% code title="ox\_inventory/data/items.lua" %}

```lua
['cuxial_clothing'] = {
    label = 'Prenda',
    weight = 220,
    stack = false,
    close = true,
    description = 'Una prenda de tu vestuario. Úsala para ponértela.',
    client = { export = 'cuxial_appearance.useClothing' },
},

['cuxial_garmentbag'] = {
    label = 'Bolsa de prendas',
    weight = 300,
    stack = false,
    close = false,
    consume = 0,
    description = 'Guarda prendas sueltas.',
},

['cuxial_outfit'] = {
    label = 'Conjunto de ropa',
    weight = 350,
    stack = false,
    close = true,
    description = 'Un conjunto completo empaquetado. Úsalo para ponértelo.',
},

['cuxial_outfitbag'] = {
    label = 'Bolsa de conjuntos',
    weight = 800,
    stack = false,
    close = true,
    description = 'Guarda hasta 5 outfits para vestirlos donde quieras.',
},

['cuxial_trimmer'] = {
    label = 'Recortadora',
    weight = 350,
    stack = false,
    close = true,
    description = 'Rapa la cabeza al cero. El pelo tarda en volver a crecer.',
},
```

{% endcode %}

Después copia los iconos de la carpeta `install` del recurso a la carpeta de imágenes de tu inventario.

{% hint style="info" %}
Los nombres de los ítems se pueden cambiar en `shared/config.lua` (`wardrobe.item`, `wardrobe.bag.item`, `outfits.setItem`, `outfits.bagItem`, `trimmer.item`). `cuxial_garmentbag` solo se usa en modo inventario.
{% endhint %}

{% hint style="warning" %}
Los ítems de prenda nunca deben apilarse: cada uno lleva su pieza, su drawable y su textura.
{% endhint %}
{% endstep %}

{% step %}

## Define las convars

Todas son opcionales.

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

```cfg
# Idioma (se incluyen en y es)
setr ox:locale "es"

# Modo inventario: 1 = activado, 0 = desactivado (por defecto)
setr cuxial_appearance:inventory 0

# Webhook de Discord para los registros
set cuxial_appearance_webhook "https://discord.com/api/webhooks/..."

# Permite al estudio de fotos guardar sus fotos
add_filesystem_permission cuxial_appearance write cuxial_appearance_photos

# Trazas de depuración en la consola
setr cuxial_appearance_debug "0"
```

{% endcode %}

{% hint style="warning" %}
El modo inventario necesita un `ox_inventory` que aporte el panel de ropa y los contenedores de las bolsas de prendas. Con un inventario de serie déjalo en `0`: quitarse y ponerse prendas desde el comando de vestuario sigue funcionando.
{% endhint %}

{% hint style="info" %}
El webhook va en `server.cfg`, nunca en `shared/config.lua`. El nombre de la convar se puede cambiar en `logs.convar`.
{% endhint %}
{% endstep %}

{% step %}

## Arranca los recursos

Arranca Cuxial Appearance después de sus dependencias, tu framework, tu inventario y tu target:

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

```cfg
ensure ox_lib
ensure oxmysql
# tu framework aquí (qbx_core, qb-core o es_extended)
# tu inventario y tu target aquí
ensure cuxial_bridge
# opcionales
ensure cuxial_emotes
ensure screencapture
ensure cuxial_appearance_photos
ensure cuxial_appearance
```

{% endcode %}

No hay SQL que ejecutar. En el primer arranque el recurso crea sus tablas e inserta las tiendas de `data/shops.lua`.
{% endstep %}

{% step %}

## Conecta tu multipersonaje

Un personaje nuevo necesita el creador. Tu recurso de multipersonaje tiene que llamarlo cuando el personaje ya ha aparecido:

```lua
exports.cuxial_appearance:InitialCreation(function()
    -- el jugador ha terminado el creador
end)
```

Los recursos que disparan `qb-clothes:client:CreateFirstCharacter` no necesitan cambios. Cuxial Multichar ya lo hace. La apariencia guardada se aplica sola cada vez que carga un personaje.
{% endstep %}

{% step %}

## Comprueba que funciona

1. Entra con un personaje nuevo. Se abre el creador.
2. Entra en una tienda de ropa y pulsa <kbd>E</kbd>. Se abre el menú con el precio de esa tienda.
3. Cambia una prenda y confirma. Se cobra el dinero y el aspecto se conserva al reconectar.
4. Como staff, ejecuta `/adminclothing`. Se abre el panel con la lista de tiendas.
5. Mira la consola del servidor: no debe haber ningún aviso de ítem sin registrar.
   {% endstep %}
   {% endstepper %}

Siguiente: ajusta precios, tiendas y restricciones en [Configuración](/scripts/es/nucleo/cuxial-appearance/configuration.md).


---

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