> 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/leisure/cuxial-danceclass/troubleshooting.md).

# Troubleshooting

Common Cuxial Dance Class problems, with their cause and fix.

The most frequent problems after installing Cuxial Dance Class, with the cause and the fix for each one.

<details>

<summary>The resource does not start</summary>

**Cause.** A dependency is missing or starts later. Cuxial Dance Class needs `ox_lib`, `oxmysql`, `cuxial_bridge` and `cuxial_emotes`.

**Fix.** Start the dependencies first:

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

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

{% endcode %}

</details>

<details>

<summary>"No dances available in the catalog" when starting a dance</summary>

**Cause.** The dance catalog of Cuxial Emotes could not be read. The console shows `[cuxial_danceclass] no se pudo leer el catálogo de bailes de cuxial_emotes`.

**Fix.** Check that `cuxial_emotes` is complete and starts before `cuxial_danceclass`. If its files are incomplete, copy it again from the original package.

</details>

<details>

<summary>/danceclass does nothing, or the cursor appears without a panel</summary>

**Cause.** The interface is not loading. The folder `web/dist` is missing or incomplete, usually after a partial upload.

**Fix.** Make sure `web/dist/index.html` and the folder `web/dist/assets` exist inside the resource. If they do not, copy the resource again from the original package and restart the server.

</details>

<details>

<summary>"You can't teach dance classes"</summary>

**Cause.** `instructor.mode` is `'job'` and the player's job is not in `instructor.jobs`, or it is `'ace'` and the player lacks the permission in `instructor.ace`.

**Fix.** Add the job to `instructor.jobs`, grant the ACE permission, or set `instructor.mode = 'everyone'`.

</details>

<details>

<summary>"You must be inside a dance studio"</summary>

**Cause.** `rooms.anywhere` is `false` and the centre of the drawn zone is outside every studio in `rooms.studios`. With an empty `studios` list, no class can be opened at all.

**Fix.** Add your studios to `rooms.studios` with their coordinates and radius, or set `rooms.anywhere = true`.

</details>

<details>

<summary>The zone is rejected when opening the class</summary>

**Cause.** One of these:

* It has fewer points than `rooms.zone.minPoints`.
* Its farthest point is more than `rooms.zone.maxRadius` metres from its centre.
* It overlaps another open class.

**Fix.** Draw the zone again, smaller or further away. Raise `rooms.zone.maxRadius` if your studios need bigger zones.

</details>

<details>

<summary>"The cuxial_bridge zone creator is not available"</summary>

**Cause.** The installed version of Cuxial Bridge has no zone creator.

**Fix.** Update `cuxial_bridge` to the latest version and restart the server.

</details>

<details>

<summary>A player walks into the zone and does not join</summary>

**Cause.** One of these:

* The class has already started. Students can only join before the first dance.
* The class is full.
* The player is already in another class, or is the instructor of this one.
* The class has a fee. The player has to press <kbd>E</kbd> while the prompt is on screen, and needs the money in the account set in `rooms.fee.account`.

**Fix.** Check the points above. The player can also join with `/danceclass join` inside the zone, and `/danceclass debug` prints the classes detected around them to the F8 console.

</details>

<details>

<summary>F6 does not start the dance</summary>

**Cause.** One of these:

* The player is not the instructor of a class.
* A dance is still in progress.
* There are fewer students than `class.minStudents`.
* The class already reached `class.maxRounds`.
* The player has bound the key to something else. `instructor.nextKey` is only the default for players who have never joined.

**Fix.** Use `/danceclass next` or the button in the panel, or rebind the key in the GTA key settings.

</details>

<details>

<summary>Dances give no gym points</summary>

**Cause.** One of these:

* Cuxial Gym is not running. The script looks for it under the resource name `CuxialGym`, which `cuxial_gym` provides.
* The student's accuracy was below `points.minAccuracy`.
* The student already reached `points.maxPerClass` in this class.
* `points.skill` is not a skill name Cuxial Gym accepts.

**Fix.** Start `cuxial_gym` before `cuxial_danceclass` and check the `points` block. Without Cuxial Gym the rest of the script works and no skill is raised.

</details>

<details>

<summary>A student did not get the fee back</summary>

**Cause.** One of these:

* `rooms.refundIfNoRound` is `false`.
* A dance had already started. Fees are only refunded while the class has not danced yet.

**Fix.** This is intended. Fees are refunded while the class has not danced yet and `rooms.refundIfNoRound` is `true`.

</details>

<details>

<summary>The history stays at zero</summary>

**Cause.** One of these:

* The class was closed without any dance. Only classes with at least one dance are saved.
* The student left before the class ended. Only the students present at the end are saved.
* The table `cuxial_danceclass_history` could not be created. The console shows `[cuxial_danceclass] error creando la tabla`.

**Fix.** For the table, check the `oxmysql` errors in the server console when the resource starts. The database user needs permission to create tables.

</details>

<details>

<summary>Difficulty or rank names appear in another language</summary>

**Cause.** The `label` fields of `difficulties` and `ranks` are written in `shared/config.lua`.

**Fix.** Rewrite those labels in the language of your server.

</details>

<details>

<summary>Texts appear in the wrong language</summary>

**Cause.** The script follows the `ox:locale` convar.

**Fix.** Set it in `server.cfg` and restart. `en` and `es` are included:

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

```cfg
setr ox:locale "en"
```

{% 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/leisure/cuxial-danceclass/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.
