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

# API y eventos

> Integraciones públicas de RCO Appearance para editores, apariencia, ropa, dress/undress, wardrobe y Quick Clothing.

La regla principal es simple: **un cambio visible en el ped no significa que se haya guardado en el personaje**.

## Editores persistentes

Desde código server confiable:

```lua theme={"dark"}
exports['rco-appearance']:OpenEditor(source, { mode = 'barber' })
exports['rco-appearance']:OpenWardrobe(source)
```

Las aperturas persistentes desde client devuelven `false, 'server_authorization_required'`. Para un editor deliberadamente local/visual existe `OpenEditorLocal(options)`.

## Apariencia visual

```lua theme={"dark"}
exports['rco-appearance']:ApplyAppearance(snapshot)
local snapshot = exports['rco-appearance']:GetAppearance(ped)
exports['rco-appearance']:ReloadAppearance()
```

Server:

```lua theme={"dark"}
exports['rco-appearance']:ReloadAppearance(source)
```

`ApplyAppearance` es visual; no guarda en la base de datos.

## Helpers directos de ropa

```lua theme={"dark"}
local item = exports['rco-appearance']:GetEquipped('hats')
exports['rco-appearance']:EquipCategory('hats', itemData)
exports['rco-appearance']:UnequipCategory('hats')
```

Son helpers del ped live, no un guardado persistente.

## Dress / Undress

```lua theme={"dark"}
exports['rco-appearance']:Undress()
exports['rco-appearance']:Dress()
exports['rco-appearance']:SetUndressed(true)
exports['rco-appearance']:SetUndressed(false)
```

`Undress` quita la ropa visualmente. `Dress` solicita de nuevo la apariencia RCO guardada. Estar temporalmente sin ropa no sobrescribe el snapshot persistente.

## Estado del editor

```lua theme={"dark"}
local open = exports['rco-appearance']:IsEditorOpen()
```

## Persistencia y outfits

```lua theme={"dark"}
exports['rco-appearance']:GetAppearanceForCharacter(charId, function(snapshot, err) end)
exports['rco-appearance']:SetAppearanceForCharacter(charId, snapshot, function(ok, err) end)
exports['rco-appearance']:ListOutfits(source, function(outfits, err) end)
```

## Quick Clothing

```lua theme={"dark"}
exports['rco-appearance']:ToggleClothing('hat')
exports['rco-appearance']:ToggleClothing('holsters')
exports['rco-appearance']:SetClothingVisible('coat', false)
exports['rco-appearance']:ToggleSleeves()
exports['rco-appearance']:SetSleeves('rolled')
exports['rco-appearance']:ToggleCollar()
exports['rco-appearance']:SetCollar('open')
exports['rco-appearance']:TogglePantsTuck()
exports['rco-appearance']:SetPantsTucked(true)
exports['rco-appearance']:ToggleGunBelt()
exports['rco-appearance']:ToggleClosedCoat()
```

Para gun holsters usa la categoría semántica `holsters`. `ToggleGunBelt()` es un helper para `gunbelt`; `ToggleClosedCoat()` es un alias del grupo lógico `coat`.

Server:

```lua theme={"dark"}
exports['rco-appearance']:SetPlayerClothingVisible(source, 'hat', false)
exports['rco-appearance']:TogglePlayerClothing(source, 'holsters')
exports['rco-appearance']:SetPlayerClothingTransform(source, 'sleeves', 'rolled')
exports['rco-appearance']:ResetPlayerClothingToggles(source)
```

Consulta [Quick Clothing](/es/rco-appearance/quick-clothing) para categorías, comandos y eventos.
