> 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/trabajos/cuxial-diving/troubleshooting.md).

# Problemas frecuentes

Problemas habituales de Cuxial Diving, con su causa y su solución.

Los problemas más habituales después de instalar Cuxial Diving, con la causa y la solución de cada uno.

<details>

<summary>El recurso no arranca</summary>

**Causa.** Falta una dependencia. Cuxial Diving necesita OneSync, `ox_lib`, `oxmysql`, `cuxial_bridge`, `sleepless_interact`, `cuxial_jobs` y `cuxial_diving_assets`.

**Solución.** Comprueba que las tres carpetas del paquete están en `resources` con sus nombres originales, activa OneSync y arranca antes las dependencias:

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

```cfg
ensure ox_lib
ensure oxmysql
ensure ox_inventory
ensure sleepless_interact
ensure cuxial_bridge
ensure cuxial_jobs
ensure cuxial_diving_assets
ensure cuxial_diving
```

{% endcode %}

</details>

<details>

<summary>La consola avisa de ítems que no existen en el inventario</summary>

**Causa.** Al arrancar, el trabajo comprueba todos los ítems que usa: botellas, máscara, globo, botín y mercado. Uno o más no están definidos en tu inventario.

**Solución.** Añade a tu inventario las entradas de `install/items.lua`. Si has cambiado el nombre de alguno en tu inventario, usa los mismos nombres en `data/loot.lua` y `data/market.lua`.

</details>

<details>

<summary>El NPC no está, o no hay opción para hablar con él</summary>

**Causa.** Una de estas:

* `npc.model` no es un modelo de ped válido.
* `sleepless_interact` arrancó después de Cuxial Diving, así que la interacción se registró en otro target.
* Estás más lejos que `npc.spawnDistance` o `npc.distance`.

**Solución.** Usa un modelo válido y arranca `sleepless_interact` antes de `cuxial_bridge` y `cuxial_diving`.

</details>

<details>

<summary>El panel no se abre o se queda vacío</summary>

**Causa.** La interfaz no carga. Falta la carpeta `web/dist` o está incompleta, normalmente por una subida parcial.

**Solución.** Comprueba que existen `web/dist/index.html` y la carpeta `web/dist/assets` dentro del recurso. Si no, vuelve a copiar el recurso desde el paquete original y reinicia el servidor.

</details>

<details>

<summary>«El buceo aún se está iniciando, prueba en unos segundos»</summary>

**Causa.** Las tablas no están listas. O el servidor acaba de arrancar, o `oxmysql` no pudo crearlas.

**Solución.** Espera unos segundos. Si el mensaje sigue, busca errores de `oxmysql` en la consola del servidor. El usuario de la base de datos necesita permiso para crear tablas.

</details>

<details>

<summary>«No puedes hacer este trabajo»</summary>

**Causa.** `job` en `shared/config.lua` es un nombre de trabajo o una lista, y el trabajo del jugador no está en ella. La comprobación se aplica también a todos los miembros de la tripulación al empezar.

**Solución.** Añade el trabajo a la lista, o pon `job = 'all'`.

</details>

<details>

<summary>No se puede elegir una región</summary>

**Causa.** Al menos un miembro de la tripulación está por debajo del `minLevel` de la región. El panel indica quién.

**Solución.** Elige una región inferior, o baja `minLevel` en `data/regions.lua`.

</details>

<details>

<summary>«Hay un barco en el punto de salida»</summary>

**Causa.** Todos los puntos de salida de la región tienen un vehículo a menos de `run.spawnFreeRadius` metros. Puede ser el barco de otra tripulación o cualquier vehículo abandonado.

**Solución.** Despeja la zona, añade más puntos a `spawns` en `data/regions.lua` o baja `run.spawnFreeRadius`.

</details>

<details>

<summary>«No se pudo sacar el barco»</summary>

**Causa.** El servidor no pudo crear el barco a tiempo. OneSync está desactivado, `boat.model` no es un barco válido o el servidor va cargado.

**Solución.** Activa OneSync, revisa `boat.model` y sube `boat.spawnTimeoutMs` si hace falta.

</details>

<details>

<summary>La tripulación no puede conducir el barco</summary>

**Causa.** Tu sistema de llaves de vehículos bloquea el barco. Cuxial Diving solo reparte llaves a través de `cuxial_garages`, y solo con `boat.keys = true`.

**Solución.** Arranca `cuxial_garages` antes de `cuxial_diving`, o exime en tu propio sistema de llaves las matrículas que empiezan por el prefijo de `boat.plate`.

</details>

<details>

<summary>La botella o la máscara no hacen nada al usarlas</summary>

**Causa.** El script responde con el motivo:

* «No hay ningún trabajo en marcha»: `gear.requireRun` es `true` y el jugador no tiene un trabajo en curso.
* «No puedes hacerlo en un vehículo»: el equipo no se puede poner sentado, tampoco en el barco.
* «Ponte primero una botella»: la máscara necesita una botella puesta.
* Sin ningún mensaje: el nombre del ítem en tu inventario no es el que está escrito en `data/gear.lua`.

**Solución.** Levántate antes de usar el equipo, usa primero la botella y conserva los nombres de ítem de `data/gear.lua`. Pon `gear.requireRun = false` para permitir el equipo fuera de un trabajo.

</details>

<details>

<summary>«No se pudo poner el equipo: se ha devuelto»</summary>

**Causa.** El juego del jugador no terminó de poner el equipo dentro de `gear.confirmMs`, así que el ítem se devolvió.

**Solución.** Inténtalo de nuevo. Si pasa a menudo, sube `gear.confirmMs`.

</details>

<details>

<summary>Las piezas no aparecen en el sitio</summary>

**Causa.** Las piezas se colocan cuando un miembro de la tripulación está a menos de `site.spawnRadius` del centro de una tarea, y tienen que quedar bajo el agua: por debajo de `site.surfaceZ` y no más de `site.maxDepthDelta` metros bajo el centro. Un `center` en tierra, o muy por encima del fondo, no se puede rellenar. Los jugadores ven «No se pudo preparar la zona, se volverá a intentar».

**Solución.** Pon en `center`, en `data/regions.lua`, un punto del fondo del mar, con espacio alrededor para el `radius` y el `amount` de la tarea.

</details>

<details>

<summary>La maleta no se puede abrir</summary>

**Causa.** El jugador no lleva en la mano el arma definida en `suitcase.weapon`, un cuchillo por defecto.

**Solución.** Lleva el cuchillo en la mano, que se vende en el mercado del trabajo, o pon `suitcase.weapon = 'WEAPON_UNARMED'` para quitar el requisito.

</details>

<details>

<summary>La cuerda no se puede lanzar</summary>

**Causa.** Una de estas:

* El ancla está levada. El script responde «Echa el ancla primero».
* La caja todavía está subiendo.
* El jugador no está sentado en el barco ni de pie en su cubierta.
* El barco está a más de `tow.maxDistance` de la caja.

**Solución.** Acerca el barco a la caja que flota, echa el ancla con <kbd>H</kbd> desde un asiento y lanza la cuerda con <kbd>E</kbd>.

</details>

<details>

<summary>El globo de elevación muestra otro prop</summary>

**Causa.** El modelo de `boxes.liftbagModel` no está disponible, así que el script usa `boxes.liftbagFallback`. `cuxial_diving_assets` está incompleto o no se reinició después de copiarlo.

**Solución.** Vuelve a copiar `cuxial_diving_assets` desde el paquete y reinicia el servidor.

</details>

<details>

<summary>El barco no se puede entregar</summary>

**Causa.** Las tareas obligatorias no están terminadas, el barco está a más de `deliver.radius` del punto de entrega o el jugador no está sentado en el barco.

**Solución.** Termina los corales y la basura, navega hasta el blip de entrega y pulsa <kbd>E</kbd> desde un asiento.

</details>

<details>

<summary>El mercado muestra ítems sin imagen o con su nombre interno</summary>

**Causa.** Las imágenes se leen de la carpeta de imágenes de `ox_inventory`, y los nombres de las definiciones de ítems de tu inventario.

**Solución.** Copia `install/images/*.webp` a `ox_inventory/web/images/` y comprueba que todos los ítems de `data/market.lua` existen en tu inventario. Las imágenes tienen que ser archivos `.webp` con el nombre del ítem.

</details>

<details>

<summary>Los comandos de staff responden que el jugador no tiene permiso</summary>

**Causa.** El jugador no está en el grupo definido en `restricted`, `group.admin` por defecto.

**Solución.** Añade al jugador al grupo en `server.cfg`, o cambia `restricted` en el bloque `commands`.

</details>

<details>

<summary>/divingfast no hace nada</summary>

**Causa.** La depuración estaba desactivada cuando arrancó el recurso, o el jugador no tiene un trabajo en curso.

**Solución.** Pon `debug = true` o la convar `cuxial_diving_debug` a `1`, reinicia el recurso y empieza un trabajo.

</details>

<details>

<summary>He cambiado una tecla en el config pero los jugadores siguen con la antigua</summary>

**Causa.** El bloque `keys` solo define valores por defecto. Cuando un jugador ya ha entrado, FiveM recuerda su asignación de tecla.

**Solución.** Cada jugador la cambia en los ajustes de GTA, en las asignaciones de teclas de FiveM. Los jugadores nuevos reciben el nuevo valor por defecto.

</details>

<details>

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

**Causa.** La convar del webhook está vacía, tiene un nombre distinto del de `logs.convar` o se definió después de arrancar el recurso.

**Solución.** Añade la convar a `server.cfg` por encima de la línea `ensure`. Se lee una vez, al arrancar el recurso:

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

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

{% endcode %}

</details>

<details>

<summary>Los textos aparecen en otro idioma</summary>

**Causa.** El trabajo sigue la convar `ox:locale`. Los nombres de los ítems salen de tu inventario, no del trabajo.

**Solución.** Define la convar en `server.cfg` y reinicia. Se incluyen `en` y `es`:

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

```cfg
setr ox:locale "es"
```

{% endcode %}

</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/trabajos/cuxial-diving/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.
