> 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/jobs/cuxial-electrician/troubleshooting.md).

# Troubleshooting

Common Cuxial Electrician problems, with their cause and fix.

The most frequent problems after installing Cuxial Electrician, 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 than the job. Cuxial Electrician needs OneSync, `ox_lib`, `oxmysql`, `cuxial_bridge`, `cuxial_jobs` and `sleepless_interact`.

**Fix.** Enable OneSync and start the dependencies first:

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

```cfg
ensure ox_lib
ensure oxmysql
ensure cuxial_bridge
ensure sleepless_interact
ensure cuxial_jobs
ensure cuxial_electrician
```

{% endcode %}

</details>

<details>

<summary>The console shows a red line saying the job asks for one library version and another is installed</summary>

**Cause.** `cuxial_jobs` and `cuxial_electrician` come from different packages and their versions do not match.

**Fix.** Copy both folders again from the same, most recent package. If you own several Cuxial jobs, update all of them together.

</details>

<details>

<summary>The NPC or the job blip does not appear</summary>

**Cause.** The NPC only exists within `npc.spawnDistance` of `npc.coords`, the blip is off, or the model in `npc.model` is not valid.

**Fix.** Check `npc.coords` and `npc.model` in `shared/config.lua`, and set `npc.blip.enabled = true`. A model that cannot be loaded is reported in the client console (F8).

</details>

<details>

<summary>The NPC is there but there is no option to interact</summary>

**Cause.** `cuxial_bridge` has been forced to an interaction resource that is not running. The job is built for `sleepless_interact`.

**Fix.** Remove the convar `cuxial_bridge:target` from `server.cfg`, or set it to `sleepless_interact`, and restart the server.

</details>

<details>

<summary>The option appears but the panel does not open</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 do this job"</summary>

**Cause.** `job` in `shared/config.lua` lists jobs and the player has none of them. The same check applies to invited players and to every member when the job starts.

**Fix.** Give the player one of those jobs, or set `job = 'all'`.

</details>

<details>

<summary>"Your electrician profile is not ready yet"</summary>

**Cause.** The player's profile has not been loaded from the database: the character has just logged in, or the tables could not be created.

**Fix.** Wait a few seconds and try again. If it persists, look for `oxmysql` errors in the server console and check the database connection.

</details>

<details>

<summary>"There are vehicles at the truck spawn"</summary>

**Cause.** A vehicle is within `run.spawnFreeRadius` of the truck spawn points of the region, and there are not enough free points for the crew.

**Fix.** Move the vehicle. If it happens often, add more points to `spawns` in `data/regions.lua` or choose a quieter place.

</details>

<details>

<summary>"The truck could not be spawned"</summary>

**Cause.** The server could not create the vehicle within `trucks.spawnTimeoutMs`. The model in `data/trucks.lua` does not exist, or the server was busy.

**Fix.** Check the model names in `data/trucks.lua` and try again. Raise `trucks.spawnTimeoutMs` if the server is slow to create vehicles.

</details>

<details>

<summary>Players cannot drive the service truck</summary>

**Cause.** The script only hands out keys through `cuxial_garages`. Without that resource, or with `trucks.keys = false`, your own vehicle lock resource decides who can drive.

**Fix.** Start `cuxial_garages` and keep `trucks.keys = true`, or allow the job trucks in your key resource. Their plates start with the prefix in `trucks.plate`.

</details>

<details>

<summary>The ladder is too short to reach the street lamps</summary>

**Cause.** The server runs a game build older than 2944, which lacks the long ladder model. The script falls back to a shorter one.

**Fix.** Set `sv_enforceGameBuild` to 2944 or newer in `server.cfg`. As an alternative, set `rigs.lampRig = 'lift'` to use the platform on street lamps.

</details>

<details>

<summary>The platform cannot be built at a pole</summary>

**Cause.** A job truck must be parked at the right distance from the pole (5 to 9 metres by default), the crew already has a platform built, or another platform or ladder is closer than `rigs.spacing`.

**Fix.** Follow the hint shown while driving: it tells you to back up or to get closer. Remove the previous platform before building a new one.

</details>

<details>

<summary>The traffic lights cannot be repaired</summary>

**Cause.** The traffic lights of a junction stay locked until the transformer of that junction is fixed.

**Fix.** Repair the junction transformer first. A notification confirms that the lights are unlocked.

</details>

<details>

<summary>The trucks cannot be delivered</summary>

**Cause.** One of the delivery conditions is not met: there are repairs left, the player is not driving a job truck, a truck is outside `deliver.radius` or destroyed, or a ladder has not been returned.

**Fix.** Read the notification, which names the condition. Set `deliver.requireAll = false` if a destroyed secondary truck should not block the payment.

</details>

<details>

<summary>"Another crew is already working that region"</summary>

**Cause.** `run.exclusiveRegions = true` allows one crew per region at a time.

**Fix.** Pick another region, or set `run.exclusiveRegions = false`.

</details>

<details>

<summary>Repairs are rejected as "too far" or "too fast"</summary>

**Cause.** The server checks the distance to the point and the minimum time of each minigame. With high latency, a valid repair can fall just outside the limits.

**Fix.** Raise `repair.maxDistance`, `repair.highDistance` or `repair.marginMs` a little in `shared/config.lua`.

</details>

<details>

<summary>The reward items are not given</summary>

**Cause.** The item in `reward.items` does not exist in your inventory, the player cannot carry it, or the `chance` roll failed.

**Fix.** Check the item name. A missing item is reported in the server console when the resource starts.

</details>

<details>

<summary>Discord logs do not arrive</summary>

**Cause.** The convar is empty, has a different name from `logs.convar`, or was set after the resource started.

**Fix.** Add `set cuxial_electrician_webhook "..."` to `server.cfg` above the `ensure` line, then restart the server.

</details>

<details>

<summary>/elecfast does nothing</summary>

**Cause.** The command only works with debug on when the resource starts, and only while you are in a running job.

**Fix.** Set `debug = true` or `setr cuxial_electrician_debug "1"`, restart the resource and start a job.

</details>

<details>

<summary>The texts are in the wrong language</summary>

**Cause.** The language comes from the `ox:locale` convar of `ox_lib`.

**Fix.** Set `setr ox:locale "en"` (or `"es"`) in `server.cfg` and restart the server.

</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/jobs/cuxial-electrician/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.
