> ## Documentation Index
> Fetch the complete documentation index at: https://rust-co.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Tiendas y overlays personalizados

> Añade tiendas de ropa, barberías y guardarropas, e incorpora tus propios tatuajes y maquillaje.

## Tiendas

Cada tienda en tu servidor es una entrada en `Config.Stores` dentro de `rco-appearance/config/config.lua`. Appearance incluye tiendas de ropa, barberías y guardarropas en los pueblos principales, y puedes añadir, mover o eliminar tantas como quieras.

Una tienda se ve así:

```lua theme={"dark"}
{
    id = 'clothing_valentine',
    type = 'clothing',
    label = 'Clothing Store',
    prompt = vector3(-325.95, 806.58, 117.89),
    fitting = vector4(-327.77, 807.77, 117.89, 254.59),
    blip = vector3(-327.07, 807.77, 117.89),
    showBlip = true,
},
```

| Campo      | Qué es                                                                                                                                                                                                      |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`       | Nombre único de esta tienda. Se usa internamente; nunca se muestra a los jugadores.                                                                                                                         |
| `type`     | `clothing`, `barber`, `wardrobe` o `tattoo`. Decide qué partes de la interfaz se abren.                                                                                                                     |
| `label`    | Texto mostrado en el prompt de interacción y el blip del mapa.                                                                                                                                              |
| `prompt`   | Dónde se para el jugador para interactuar — normalmente justo dentro de la puerta. En **clothing** y **barber**, la interfaz también abre aquí; el jugador no se mueve.                                     |
| `fitting`  | Usado por tiendas **wardrobe**: dónde se teletransporta el jugador mientras la interfaz está abierta, con heading. Obligatorio en config para cada tienda, pero ignorado en runtime para clothing y barber. |
| `blip`     | Dónde se dibuja el blip del mapa. Normalmente igual que `prompt`.                                                                                                                                           |
| `showBlip` | Establécelo en `false` para una tienda oculta, por ejemplo dentro de un escondite de banda.                                                                                                                 |

### Tipos de tienda

* **clothing** – editor completo de prendas. Los jugadores prueban cosas y pagan `Config.ShopCost` cuando guardan.
* **barber** – pelo, barba, cejas y maquillaje. También cobra `Config.ShopCost` al guardar.
* **wardrobe** – cambia entre outfits guardados o desnúdate. Siempre gratis. Los guardarropas son donde los jugadores guardan los outfits que compraron en otro sitio.
* **tattoo** – estudio de tatuajes. Soportado por la interfaz, pero Appearance aún no incluye una ubicación de tienda validada para ello, así que ninguna tienda de tatuajes está habilitada por defecto. Añade una con tus propias coordenadas cuando estés listo.

### Dónde se para el jugador

* **clothing** y **barber** — la interfaz abre en `prompt`. El jugador permanece donde interactuó; una cámara orbital encuadra al ped. Los probadores y sillones de barbería son demasiado pequeños para esa cámara, así que estos tipos no teletransportan.
* **wardrobe** — el jugador se teletransporta a `fitting` mientras la interfaz está abierta y vuelve a `prompt` al salir.

<Tip>
  En tiendas wardrobe, el punto `fitting` puede estar en cualquier sitio — incluso una habitación sin puerta — porque el jugador vuelve a `prompt` al cerrar.
</Tip>

## Tatuajes y maquillaje personalizados

Appearance puede mostrar tus propias texturas de overlay junto a las integradas del juego. Necesitas un diccionario de texturas `.ytd` hecho para overlays de RDR3 (normalmente creado por un artista de texturas o comprado en un pack) y dos minutos.

<Steps>
  <Step title="Añadir la textura">
    Copia el `.ytd` en `rco-appearance/stream/addons/`. El servidor transmite todo lo que hay en esa carpeta automáticamente; no necesitas editar el manifest.
  </Step>

  <Step title="Registrarla">
    Abre `rco-appearance/config/overlays.lua` y añade una entrada a `Config.OverlayAddons`:

    ```lua theme={"dark"}
    Config.OverlayAddons = {
        {
            id = 'wolf_arm',           -- unique, letters/numbers/underscores
            label = 'Wolf',            -- shown in the UI
            kind = 'tattoo',           -- tattoo | makeup
            host = 'bodies_upper',     -- heads | bodies_upper | bodies_lower
            dict = 'meu_lobo',         -- the .ytd name without extension
            material = 'meu_lobo_ma',  -- optional
            sex = 'both',              -- male | female | both
            priority = 100,            -- optional; lower draws first
        },
    }
    ```

    `host` es la región del cuerpo para la que se pintó la textura. `kind` decide si aparece bajo Tattoos o Makeup en la interfaz.
  </Step>

  <Step title="Reiniciar">
    Reinicia `rco-appearance` (o el servidor). La nueva entrada aparece en el editor y en las tiendas de tatuajes.
  </Step>
</Steps>

### Distribuir un pack

Si distribuyes un conjunto de overlays — o compraste uno — mantenlo autocontenido dándole su propio archivo de catálogo en `rco-appearance/config/addons/`. Los archivos ahí se cargan después de `overlays.lua` y **añaden** a la lista:

```lua theme={"dark"}
-- config/addons/my_pack.lua
Config.OverlayAddons[#Config.OverlayAddons + 1] = {
    id = 'pack_rose',
    label = 'Rose',
    kind = 'tattoo',
    host = 'bodies_upper',
    dict = 'pack_rose',
    sex = 'both',
}
```

Nunca reemplaces `Config.OverlayAddons` en un archivo addon; siempre añade, para que los packs no se borren entre sí. Consulta `config/addons/example.lua` para una plantilla.

<Note>
  Los jugadores solo eligen un `id` de este catálogo. El diccionario de texturas, la región del cuerpo y los hashes se resuelven en el servidor desde tu configuración, así un cliente modificado no puede cargar texturas que no hayas aprobado.
</Note>

### Una nota sobre el apilamiento

Varios tatuajes corporales en la misma zona se almacenan y dibujan hasta el límite de capas del motor, pero RDR3 no los mezcla como lo haría una sola textura precompuesta. Si quieres una manga compleja, compílala en una sola textura en lugar de apilar muchas pequeñas.

## Visibilidad del preview del Barber (v1.7.1)

Al abrir `mode = 'barber'`, RCO oculta temporalmente **solo en el preview** las prendas que pueden tapar cabello o rostro:

```text theme={"dark"}
hats / hat accessories / hatbands / headwear
hair accessories
masks / large masks
eyewear
neckwear / neckties / neckerchiefs
```

La ropa original permanece en el snapshot del editor. Los previews de hair/beard mantienen esas categorías ocultas para que no reaparezcan sobre la cara. **Save** conserva el nuevo cabello/barba y restaura la visibilidad de la ropa; **Cancel** restaura exactamente el look de entrada.
