> 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/interfaz/cuxial-emotes/troubleshooting.md).

# Problemas frecuentes

Problemas habituales de Cuxial Emotes, con la causa y la solución de cada uno.

La mayoría de los fallos vienen de una dependencia que falta, del orden de arranque o de que el complemento no está iniciado. Busca tu síntoma aquí abajo.

## Arranque

<details>

<summary>El recurso no arranca: «Could not find dependency»</summary>

**Causa.** Falta o está parado alguno de los recursos declarados en el manifest: `ox_lib`, `oxmysql` o `cuxial_bridge`. También hace falta OneSync.

**Solución.** Instala el recurso que falta e inícialo antes que `cuxial_emotes`. Activa OneSync en el servidor.

```cfg
ensure ox_lib
ensure oxmysql
ensure cuxial_bridge
ensure cuxial_emotes
```

</details>

<details>

<summary>Los exports o los ítems fallan con «No such export»</summary>

**Causa.** Se ha renombrado la carpeta. Los demás recursos y los ítems del inventario llaman al recurso por su nombre.

**Solución.** Vuelve a llamar a la carpeta `cuxial_emotes`.

</details>

<details>

<summary>La consola avisa de que cuxial_emotes_dlc está instalado pero no iniciado</summary>

**Causa.** La carpeta del complemento está en el servidor pero no está en marcha.

**Solución.** Añade `ensure cuxial_emotes_dlc` encima de `ensure cuxial_emotes` en `server.cfg`. Hasta entonces, las zonas y las relaciones quedan apagadas.

</details>

<details>

<summary>Errores de base de datos en la consola al arrancar</summary>

**Causa.** `oxmysql` no está conectado, o el usuario de la base de datos no puede crear tablas.

**Solución.** Revisa la cadena de conexión y los permisos del usuario. Como alternativa, crea las tablas a mano con `install/emotes.sql`.

</details>

## Menú

<details>

<summary>El menú no se abre con F3</summary>

**Causa.** La tecla se guarda por jugador, así que quien tenga otra asignación conserva la suya. El menú tampoco se abre mientras el jugador está muerto o bloqueado por otro recurso mediante `SetEmoteLock`.

**Solución.** Reasígnala en los ajustes de GTA, en la asignación de teclas de FiveM («Abrir Menú de Animaciones»).

</details>

<details>

<summary>El menú se abre en blanco o no aparece</summary>

**Causa.** Faltan los archivos de la interfaz. El recurso carga `web/dist/index.html`.

**Solución.** Comprueba que `web/dist` existe y tiene archivos. Si está vacía o incompleta, vuelve a copiar el recurso desde el paquete original.

</details>

<details>

<summary>He cambiado una tecla en el config y no cambia nada</summary>

**Causa.** `keys` solo fija el valor por defecto para los jugadores que nunca han entrado con el recurso. FiveM recuerda la tecla de cada jugador.

**Solución.** Cada jugador la cambia en sus ajustes de GTA. No renombres `commands.menu.name` para forzarlo: eso reinicia la tecla a todos.

</details>

<details>

<summary>Un emote o una categoría nuevos no aparecen en el menú</summary>

**Causa.** El archivo de la categoría no está en `data/manifest.lua`, o el archivo tiene un error de Lua.

**Solución.** Añade el nombre del archivo a `categories`, mira si la consola muestra errores de Lua y reinicia el recurso.

</details>

<details>

<summary>Un emote no sale marcado como nuevo</summary>

**Causa.** Falta el campo `Added`, no tiene el formato `'AAAA-MM-DD'` o es más antiguo que `ui.newEmoteDays`.

**Solución.** Corrige la fecha o sube `ui.newEmoteDays`.

</details>

## Emotes

<details>

<summary>Un emote no hace nada</summary>

**Causa.** Se da alguno de estos casos:

* el jugador está muerto y `deadCheck.enabled` es `true`;
* el jugador está en un vehículo y `emotes.disableInCar` es `true`;
* han pasado menos de `commands.emote.cooldown` milisegundos desde el último emote;
* otro recurso ha bloqueado al jugador con `SetEmoteLock`, o ha impedido los emotes con `SetCanPlayAnimation(false)` o con el estado `isLimited`.

**Solución.** Comprueba cuál es tu caso. Si otro recurso puso un bloqueo y no lo liberó, reinicia ese recurso.

</details>

<details>

<summary>Un emote propio no se reproduce, pero el menú lo muestra</summary>

**Causa.** El diccionario de animación no se está cargando, `Dictionary` y `Animation` están intercambiados, u otro emote ya usa el mismo `Command`.

**Solución.** Pon el archivo `.ycd` en la carpeta `stream/` del recurso y reinicia el servidor. El diccionario es el nombre del `.ycd`; la animación es el clip que lleva dentro. Asegúrate de que el `Command` es único.

</details>

<details>

<summary>Falta un prop o los demás jugadores no lo ven</summary>

**Causa.** El modelo del prop no se está cargando, o el emote tiene más props que `emotes.maxProps`.

**Solución.** Revisa el nombre del modelo en `Options.Props` y sube `emotes.maxProps` si el emote necesita más.

</details>

<details>

<summary>Los jugadores muertos pueden usar emotes</summary>

**Causa.** `deadCheck.useStateBag` es `true`, pero tu script médico no pone el estado `dead` en el jugador.

**Solución.** Pon `deadCheck.useStateBag = false` para que el script pregunte al juego.

</details>

<details>

<summary>El estilo de caminar o la expresión se pierden al reconectar</summary>

**Causa.** La opción correspondiente de `saving` está en `false`.

**Solución.** Pon `saving.walkStyle` y `saving.expression` en `true`.

</details>

<details>

<summary>Agacharse se comporta raro o se activa dos veces</summary>

**Causa.** Otro recurso también gestiona el agachado con la misma tecla.

**Solución.** Desactiva el agachado en el otro recurso, o que los jugadores reasignen una de las dos teclas.

</details>

## Emotes en pareja

<details>

<summary>«No hay nadie cerca»</summary>

**Causa.** No hay ningún jugador dentro de `sync.distance`, o el emote no tiene un `Options.Shared.OtherEmote` válido.

**Solución.** Acércate o sube `sync.distance`. En un emote propio, comprueba que `OtherEmote` apunta a un comando que existe.

</details>

<details>

<summary>«Ese jugador ya tiene una solicitud pendiente»</summary>

**Causa.** El otro jugador tiene una solicitud sin responder.

**Solución.** Espera a que responda, o a que caduque pasado `sync.pendingMs`.

</details>

<details>

<summary>Los dos personajes quedan descolocados</summary>

**Causa.** Los desplazamientos de ese emote en pareja no son correctos.

**Solución.** Ejecuta `/syncpos <emisor> [receptor]` y ajusta la posición. El comando copia un bloque `Shared = { ... }`: pégalo en el `Options` del emote, en lugar del anterior.

</details>

## Zonas y staff

<details>

<summary>/emotezones no hace nada</summary>

**Causa.** Falta alguna de estas cosas:

* el jugador no está en el grupo ACE indicado en `commands.zones.restricted`;
* el jugador no tiene el permiso de `cuxial_bridge` indicado en `admin.permission`;
* el complemento `cuxial_emotes_dlc` no está iniciado.

**Solución.** Concede el grupo y el permiso, e inicia el complemento antes que Cuxial Emotes.

</details>

<details>

<summary>Los emotes de zona salen en todas partes, o nunca</summary>

**Causa.** `zones.global` está en `true` (en todas partes), o la zona está desactivada o no tiene emotes asignados (nunca).

**Solución.** Pon `zones.global = false` y revisa la zona en `/emotezones`.

</details>

## Reportes y relaciones

<details>

<summary>Los reportes no llegan a Discord</summary>

**Causa.** La convar del webhook está vacía o tiene un nombre distinto al de `report.convar`.

**Solución.** Añádela a `server.cfg` y reinicia el servidor. Los reportes se guardan en `cuxial_emote_reports` en cualquier caso.

```cfg
set cuxial_emotes:report_webhook "https://discord.com/api/webhooks/..."
```

</details>

<details>

<summary>Los ítems de relaciones no hacen nada al usarlos</summary>

**Causa.** El complemento `cuxial_emotes_dlc` no está iniciado. Sin él, los exports de los ítems existen solo para que el inventario no dé error.

**Solución.** Inicia el complemento antes que Cuxial Emotes. Los tests necesitan además que el recurso opcional `cuxial_diseases` esté en marcha. Sin él no hacen nada.

</details>


---

# 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/interfaz/cuxial-emotes/troubleshooting.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.
