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

# Guía de funciones

Cómo se usa Cuxial Appearance dentro del juego: tiendas, creador, outfits, vestuario, segunda mano, recortadora, estudio de fotos y panel de staff.

Qué pueden hacer los jugadores y el staff con Cuxial Appearance, y las reglas de cada parte.

## Tiendas

Una tienda es un polígono en el mapa. Dentro, el jugador ve un aviso y pulsa <kbd>E</kbd> para abrir el menú de esa tienda.

| Tipo         | Pestañas                                                     | Blip |
| ------------ | ------------------------------------------------------------ | ---- |
| `clothing`   | Ropa, accesorios, outfits                                    | Sí   |
| `barber`     | Pelo, maquillaje                                             | Sí   |
| `surgeon`    | Herencia, cara                                               | Sí   |
| `appearance` | Todo, más tatuajes cuando los tatuajes propios están activos | No   |
| `resale`     | Mostrador de segunda mano                                    | Sí   |

* **Precio.** Cada tienda tiene un precio. Se cobra una vez cuando el jugador confirma, sea cual sea el número de cambios. El jugador elige efectivo o banco.
* **Trabajos.** Una tienda con trabajos solo la usan los jugadores que tienen uno de ellos. A los demás no les aparece el aviso.
* **Piezas restringidas.** Una tienda puede negarse a vender algunas piezas, por ejemplo máscaras.
* **Solapamiento.** Donde dos tiendas se solapan se usa la que abrió el jugador; si no se puede saber, la más cara.

Las tiendas se crean y editan dentro del juego desde el [panel de staff](#panel-de-staff). Las pestañas de cada tipo se definen en `data/menus.lua`.

## Creador de personaje

Un personaje nuevo pasa por el creador: el menú completo, sin precio y sin forma de salir sin guardar. El jugador está solo en su propia instancia mientras está abierto. Si falla el guardado del aspecto elegido, se guarda uno por defecto para que el personaje nunca se quede sin apariencia.

El creador lo lanza tu recurso de multipersonaje. Consulta [Exports y eventos](/scripts/es/nucleo/cuxial-appearance/developers.md#initialcreation).

## Catálogo y fotos

Con las fotos tomadas, el catálogo muestra cada prenda con su imagen. Las fotos existen por género y las toma el staff en el [estudio de fotos](#estudio-de-fotos). Las prendas sin foto siguen apareciendo, sin imagen.

Con `cuxial_emotes` en marcha, el menú ofrece además poses para comprobar el aspecto.

## Outfits

La pestaña de outfits lista los outfits personales del personaje y los de trabajo que permite su rango.

| Acción                   | Qué hace                                                                                                                                                                     |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Añadir outfit            | Guarda con un nombre la ropa que se lleva puesta. Dentro de una tienda cuesta el precio de esa tienda; fuera, `prices.outfitPrice`. Hasta `prices.maxOutfits` por personaje. |
| Añadir outfit de trabajo | Solo para el jefe de un trabajo. Se guarda con un rango mínimo; lo ven todos los miembros con ese rango o superior.                                                          |
| Usar                     | Viste el outfit.                                                                                                                                                             |
| Actualizar               | Sobrescribe el outfit con la ropa actual.                                                                                                                                    |
| Renombrar, borrar        | Gestionan la lista.                                                                                                                                                          |
| Compartir                | Ofrece el outfit a un jugador a menos de 5 metros que use el mismo modelo. Este acepta o rechaza.                                                                            |
| Código                   | Crea un código que otros jugadores pueden importar a su lista.                                                                                                               |
| Conjunto                 | Empaqueta el outfit en un ítem de outfit por `prices.outfitBagPrice`. Usar el ítem lo viste; solo sirve para el modelo con el que se creó.                                   |

## Bolsa de outfits

La bolsa de outfits es un ítem. Al usarlo se coloca una bolsa en el suelo delante del jugador.

* La bolsa guarda `outfits.bagSlots` outfits. Desde la bolsa el jugador guarda el outfit actual en un hueco, lo renombra, lo saca, o lo viste entero o por partes: solo la máscara, el torso, el pantalón o los zapatos.
* El dueño puede hacer la bolsa pública, para que otros jugadores la abran y vistan sus outfits, o dejarla privada.
* Solo el dueño recoge la bolsa. Una bolsa olvidada en el suelo se devuelve en el siguiente inicio de sesión.
* Con `outfits.bagStorage = 'citizenid'` los outfits son del personaje. Con `'item'` viajan dentro del ítem.

Abrir y recoger una bolsa colocada necesita un recurso de target.

## Vestuario

`/vestuario` abre un panel con las piezas del personaje agrupadas en cabeza, torso y piernas.

* Quitarse una pieza la convierte en un ítem de prenda en el inventario. Ponérsela consume el ítem.
* Un ítem de prenda recuerda su pieza, drawable, textura y colección, y muestra la foto del catálogo cuando la hay.
* Usar un ítem de prenda desde el inventario la viste y devuelve, como ítem, lo que se llevaba puesto en ese sitio.
* Las prendas reservadas en la whitelist no las pueden vestir los jugadores sin la concesión.

### Modo inventario

Con la convar `cuxial_appearance:inventory` a `1`, la ropa pasa al inventario:

* El comando de vestuario abre el panel de ropa del inventario en lugar de su propio panel.
* Las **bolsas de prendas** guardan prendas sueltas. Desde una bolsa se pueden guardar y vestir prendas en bloque.
* **Devoluciones al comprar.** Cuando una compra sustituye prendas, las antiguas se devuelven como ítems: a una bolsa de prendas con hueco o al inventario, en el orden definido en `wardrobe.purchase.destination`. Si no cabe nada, el jugador puede añadir a la compra una bolsa de prendas nueva por `wardrobe.bag.price`, o la compra se rechaza.
* **Registro corporal.** Otro recurso puede listar lo que lleva un jugador y quitarle piezas. Solo se pueden quitar las piezas de `wardrobe.search.pieces`. Cada pieza quitada queda registrada.
* Una prenda puesta se puede entregar a un jugador cercano.

## Segunda mano

Una tienda `resale` compra ítems de prenda sueltos.

* El mostrador lista las prendas que lleva el jugador con el precio ofrecido por cada una.
* El precio es el precio base de la pieza × `secondHand.payout`, × `secondHand.collectionFactor` en las prendas de colección.
* Las prendas reservadas en la whitelist y las piezas con precio base `0` no se compran.
* Hasta `secondHand.maxPerSale` prendas por venta. El dinero va a efectivo o banco, según `secondHand.account`.
* Cada venta queda registrada y se muestra en el panel de staff.

## Recortadora

Usar la recortadora rapa al jugador más cercano dentro de `trimmer.range`.

* Ambos jugadores hacen una animación en pareja durante `trimmer.duration`. Si al terminar están separados, no se aplica nada.
* El objetivo acaba con el estilo rapado de `trimmer.bald`, o con el corte propio de una recortadora entregada con `/givetrimmer`.
* El objetivo no puede cambiarse el pelo durante `trimmer.hairLockMinutes`, ni siquiera en una barbería.
* Ninguno de los dos puede estar en un vehículo, y el objetivo debe usar uno de los modelos de `trimmer.models`.

La recortadora necesita `cuxial_emotes`.

## Restricciones

Tres formas de dejar prendas o modelos fuera de alcance, de la más general a la más concreta:

| Herramienta | Dónde                         | Úsala para                                                                                              |
| ----------- | ----------------------------- | ------------------------------------------------------------------------------------------------------- |
| Blacklist   | `data/blacklist.lua`          | Ocultar prendas o modelos a todos, a todos fuera de una tienda de trabajo o a todos fuera de una banda. |
| ACE         | `aces` en `shared/config.lua` | Prendas o modelos para jugadores con un permiso ACE: donantes, staff.                                   |
| Whitelist   | Panel de staff                | Una prenda, o una de sus texturas, reservada a los personajes que indiques.                             |

Todas las restricciones se vuelven a comprobar en el servidor al guardar una apariencia, la ropa o un outfit, y al usar una prenda como ítem: la prenda restringida se descarta, y un modelo no permitido se rechaza. Un grupo de banda de la blacklist se aplica a quien está fuera de esa banda; sus miembros conservan esas prendas. El staff está exento.

## Panel de staff

`/adminclothing` abre el panel. Tiene cinco secciones.

| Sección   | Qué haces ahí                                                                                                                                                                                                                                                                |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tiendas   | Crear, editar, desactivar y borrar tiendas. Dibujar la zona con una cámara libre marcando sus esquinas sobre el terreno. Definir tipo, precio, trabajos, piezas restringidas y el blip (activado o no, icono, color, posición). Importar las tiendas por defecto que falten. |
| Whitelist | Reservar una prenda a una lista de personajes. El número de la pieza se puede capturar de la prenda que llevas puesta.                                                                                                                                                       |
| Jugadores | Ver lo que lleva un jugador conectado y las prendas sueltas que carga. Quitarle una pieza, darle un ítem de prenda o recargar su aspecto.                                                                                                                                    |
| Registros | Las últimas ventas de segunda mano y los últimos registros corporales.                                                                                                                                                                                                       |
| Ajustes   | Precios, vestuario, segunda mano, recortadora y opacidad del menú. Los cambios se aplican al momento para todos, sin reiniciar. Los ajustes se pueden exportar, importar y restablecer.                                                                                      |

Los cambios de tiendas y de whitelist también llegan al momento a todos los jugadores. Las acciones del staff se guardan en una tabla de auditoría y se envían al webhook de Discord cuando hay uno definido.

## Estudio de fotos

`/fotosropa male` o `/fotosropa female` abre el estudio.

1. El miembro del staff pasa a un punto vacío en una instancia aparte, con el modelo freemode de ese género.
2. Elige las categorías que quiere fotografiar y empieza. Cada prenda se pone, se encuadra, se captura y se sube.
3. La sesión se puede pausar, reanudar y cancelar. Las cámaras se pueden ajustar por categoría y guardar.
4. Al terminar, las fotos se publican: el recurso de fotos se reinicia y el catálogo de todos los jugadores se actualiza.

Una sesión se puede limitar a las prendas que aún no tienen foto, de modo que un pack de ropa nuevo solo cuesta sus propias prendas. Una foto se puede marcar para repetirla.

{% hint style="info" %}
Haz una sesión por cada género. Una primera sesión completa lleva su tiempo: recorre todas las prendas del juego y de tus packs de ropa.
{% endhint %}

## Registros

Con un webhook definido, esto va a Discord: cambios en las tiendas, registros corporales, ventas de segunda mano y acciones del staff sobre jugadores. Las mismas acciones se guardan en la base de datos; las filas de auditoría de más de 60 días se borran cada día.


---

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