# Electrician

{% hint style="warning" %}
Ma**ke sure to add the necessary items, item images and job names required for the job**
{% endhint %}

***

## 🔤 General Settings

* **`name`**: <mark style="color:yellow;">`@string`</mark>\
  The job name shown in menus and notifications.\
  **Example**: `"Electrician"`
* **`debug`**: <mark style="color:yellow;">`@boolean`</mark>\
  Enables debug mode for logging and testing purposes.
* **`disabled`**: <mark style="color:yellow;">`@boolean`</mark>\
  Disables the job when set to `true`.

***

## 👥 Multiplayer Settings

* **`can_multiplayer`**: <mark style="color:yellow;">`@boolean`</mark>\
  Allows the job to be completed by multiple players in a group.
* **`show_members_blips`**: <mark style="color:yellow;">`@boolean`</mark>\
  Shows map blips for other group members when set to `true`.

***

## 🔄 Bucket Ped Sync Settings

```lua
["bucket_sync_cooldown"] = 5000, -- in milliseconds
["bucket_ped_positions"] = {
  ["bone"] = "bucket",
  ["coords"] = vec3(0.0, -0.35, 0.50),
  ["rotation"] = vec3(0.0, 0.0, 0.0),
}
```

* **`bucket_sync_cooldown`**: <mark style="color:yellow;">`@number`</mark> (in ms)\
  Time between ped position sync updates while in the bucket (e.g., cherry picker).
* **`bucket_ped_positions`**:\
  Determines how a ped is positioned inside the bucket:
  * **`bone`**: <mark style="color:yellow;">`@string`</mark> – Bone to attach the ped to (e.g., `"bucket"`).
  * **`coords`**: <mark style="color:yellow;">`@vector3`</mark> – Position offset within the bucket.
  * **`rotation`**: <mark style="color:yellow;">`@vector3`</mark> – Rotation offset applied to the ped model.

***

## 📍 Job Menu

```lua
["menu"] = {
  ["job_menu"] = vec3(x, y, z),
  ["interaction_distance"] = float,
  ["blips"] = { ... }
}
```

* **`job_menu`**: <mark style="color:yellow;">`@vector3`</mark>\
  Coordinates for accessing the job menu.
* **`interaction_distance`**: <mark style="color:yellow;">`@float`</mark>\
  Interaction range to open the job menu.
* **`blips`**:\
  Map blip configuration for the job center.
  * `show`: <mark style="color:yellow;">`@boolean`</mark>
  * `label`: <mark style="color:yellow;">`@string`</mark>
  * `sprite`: <mark style="color:yellow;">`@number`</mark>
  * `color`: <mark style="color:yellow;">`@number`</mark>
  * `scale`: <mark style="color:yellow;">`@float`</mark>

***

## 🚚 Vehicle Settings

```lua
["car_settings"] = {
  ["model"] = "vehicle_model",
  ["spawnCoords"] = vec4(x, y, z, heading)
}
```

* **`model`**: <mark style="color:yellow;">`@stri`</mark>`ng`\
  Vehicle model name used for the job.\
  **Example**: `"utillitruck4"`
* **`spawnCoords`**: <mark style="color:yellow;">`@vector4`</mark>\
  Coordinates and heading to spawn the utility truck.

***

## 🧰 Mission List

```lua
["mission_list"] = {
  [1] = {
    ...
  }
}
```

Each entry in the list defines a repair or maintenance task set.

**Mission Fields**

* **`title`**: <mark style="color:yellow;">`@string`</mark>\
  The mission title displayed to the player.
* **`reward`**: <mark style="color:yellow;">`@number`</mark>\
  Total reward given upon mission completion.
* **`split_reward_members`**: <mark style="color:yellow;">`@boolean`</mark>\
  Whether to split the reward among group members.

***

## ⏱️ Timer Settings

```lua
["timer"] = {
  ["extra_time"] = number,
  ["mission_time"] = number,
  ["deducted_per_min"] = number,
}
```

* **`extra_time`**: <mark style="color:yellow;">`@number`</mark> (ms)\
  Extra time allowed after the mission ends before failure.
* **`mission_time`**: <mark style="color:yellow;">`@number`</mark> (ms)\
  Total time allowed to complete the mission.
* **`deducted_per_min`**: <mark style="color:yellow;">`@number`</mark>\
  Amount deducted from reward per extra minute.

***

## 🧍 Animation Settings

```lua
["animation"] = {
  ["duration"] = number,
  ["flag"] = number,
  ["dict"] = "animation_dict",
  ["name"] = "animation_name",
}
```

* **`duration`**: <mark style="color:yellow;">`@number`</mark>\
  Animation duration (`-1` for looping indefinitely).
* **`flag`**: <mark style="color:yellow;">`@number`</mark>\
  Animation flag (controls behavior like freezing position, looping, etc.).
* **`dict`**: <mark style="color:yellow;">`@string`</mark>\
  Animation dictionary.
* **`name`**: <mark style="color:yellow;">`@string`</mark>\
  Animation name inside the dictionary.

***

## 🔌 Maintenance Locations

```lua
["maintenance_locations"] = {
  [1] = {
    ["type"] = "FixCables" or "FuseReplace",
    ["coords"] = vec4(x, y, z, h),
    ["radius"] = float,
    ["ptfx"] = {
      ["class"] = "ptfx_asset",
      ["scale"] = number,
      ["effect"] = "effect_name",
      ["coords"] = vec3(x, y, z)
    }
  },
  ...
}
```

Each maintenance point includes:

* **`type`**: <mark style="color:yellow;">`@string`</mark>\
  Type of task to be completed. Valid types:
  * `"FixCables"` – Repair broken electrical lines.
  * `"FuseReplace"` – Replace a blown fuse.
* **`coords`**: <mark style="color:yellow;">`@vector4`</mark>\
  Position and heading for the maintenance location.
* **`radius`**: <mark style="color:yellow;">`@float`</mark>\
  Interaction range around the location.
* **`ptfx`**:\
  Particle effect settings for electrical visuals:
  * `class`: Particle effect asset class (e.g., `"core"`)
  * `scale`: Particle scale multiplier.
  * `effect`: Particle name (e.g., `"ent_ray_prologue_elec_crackle"`)
  * `coords`: Particle position.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.0resmon.org/0resmon/wais-resoucres/wais-jobpack/job-settings/electrician.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
