> For the complete documentation index, see [llms.txt](https://wiki.qfdevelopers.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.qfdevelopers.com/scripts/editor-9/configuration.md).

# Configuration

## Languages

You can set the language of the script in the configuration file.

* `en`: English
* `fr`: French
* `pl`: Polish
* `de`: German
* `es`: Spanish

<figure><img src="/files/ig9o7wm8oX8fWWbPFHXs" alt=""><figcaption></figcaption></figure>

## Compatibility

Defines compatibility settings for notification, vehicle key, and fuel systems:

***

**`notifications`:**

Select which notification system should be used by the script:

* `script_custom_notify`: Set to `true` to use the built-in notification system.
* `qf_notify`: Set to `true` to use **QF Developers'** notification system.
* `esx`: Set to `true` to use default **ESX notifications** (requires ESX).
* `qb`: Set to `true` to use default **QB notifications** (requires QBCore).
* `qbox`: Set to `true` to use default **QBox notifications** (requires QBox).

***

**`vehiclekeys`:**

Defines compatibility with different vehicle key systems:

* `qb_vehiclekeys`: For **qb-vehiclekeys**.
* `qbox_vehiclekeys`: For **qbox vehicle key** system.
* `wasabi_carlock`: For **wasabi\_carlock** integration.
* `renewed_vehiclekeys`: For **renewed-vehiclekeys**.
* `sna_vehiclekeys`: For **sna-vehiclekeys**.
* `custom`: Set to `true` if you're using a custom key system (requires manual setup in `client/editable.lua`).

***

**`fuel`:**

Defines fuel system compatibility and starting fuel level:

* `CDNFuel`: Set to `true` for **cdn-fuel**.
* `LegacyFuel`: Set to `true` for **LegacyFuel**.
* `ox_fuel`: Set to `true` for **ox\_fuel**.
* `fuellevel`: Fuel level (percentage) assigned to the spawned vehicle (e.g., `100` for full tank).

> ⚠️ Only one system per category (notifications, keys, fuel) should be enabled at a time to avoid conflicts.

<figure><img src="/files/csXPmX7ohZxzH89cZTzj" alt=""><figcaption></figcaption></figure>

## Job Data

Defines general job configuration, access restrictions, and blip settings:

***

**`Lobby.maxPlayers`:**

Maximum number of players that can join a single electrician job session (e.g., `4`).

***

**`Job`:**

Controls job restriction and role assignment:

* `requiredJob`:\
  Set to `true` to require a specific job to access the system.
* `name`:\
  Name of the job required (e.g., `'gardener'`). Ignored if `requiredJob = false`.

***

**`Blip`:**

Map blip configuration for the electrician job start point:

* `coords`: Location where the blip appears on the map.
* `sprite`: Icon used for the blip (e.g., `643`).
* `colour`: Color of the blip (e.g., `28`).
* `scale`: Size of the blip (e.g., `0.8`).
* `label`: Text label shown on the map. Uses localization via `TRANSLATIONS.LOCALE('BLIP_LABEL')`.

> 📌 This section controls how and where the job becomes accessible to players.

<figure><img src="/files/spzJwBkRKRwU07uitBFv" alt=""><figcaption></figcaption></figure>

## Salary & XP System

Defines the payment and XP system for the gardener job:

* `amount`:\
  Base salary awarded to the player after completing a gardening task (e.g., `5000`).
* `moneyType`:\
  Currency type used for payment, selected automatically based on active framework:\
  • `'money'` for **ESX**\
  • `'cash'` for **QBCore** and **QBox**\
  • `'yourcustomtypeofmoney'` for custom or unsupported systems
* `levelMultiplier`:\
  Percentage-based salary boost per player level (e.g., `0.5` = +0.5% per level).\
  Example: Level 10 = +5% bonus to base salary.
* `jobFinishedXP`:\
  Amount of XP granted per completed task (e.g., `100` XP).

> 📈 This system supports progression-based rewards and allows players to earn more as they level up.

<figure><img src="/files/UjfUVJvmhRuS2N0a3HPt" alt=""><figcaption></figcaption></figure>

## Target

Defines the targeting system used to interact with job zones, props, and objects:

* `ox_target`: Set to `true` to use **ox\_target**.
* `qtarget`: Set to `true` to use **qtarget**.
* `qb_target`: Set to `true` to use **qb-target**.
* `own`: Set to `true` if you're using a **custom targeting system**. Requires implementation in `client/editable.lua`.
* `useE`: Set to `true` to enable interaction using the **E key** instead of a target system.

> 📌 Only one system should be enabled at a time to avoid conflicts.

<figure><img src="/files/iJ4ioMD4OnzS50l4zrLL" alt=""><figcaption></figcaption></figure>

## Zones

Defines the NPC interaction zone for starting the electrician job:

* `targetLabel`:\
  Text displayed when targeting the NPC (uses localization via `TRANSLATIONS.LOCALE('LABEL_STARTJOB_TARGET')`).
* `icon`:\
  Font Awesome icon shown in the interaction menu (e.g., `'fa-solid fa-play'`).
* `model`:\
  Ped model spawned at the zone (e.g., `'s_m_m_dockwork_01'`).
* `coords`:\
  Position where the ped and interaction zone are created (`vec3`).
* `heading`:\
  Direction the NPC will face.
* `distance`:\
  Maximum interaction distance (e.g., `1.5` meters).
* `groups`:\
  Restricts interaction to a specific job if `Config.JobData.Job.requiredJob = true`.\
  Uses the job name defined in `Config.JobData.Job.name`.

> 📌 This is the main entry point where players initiate the job.

<figure><img src="/files/dKQguiotsq5WUYLImbvH" alt=""><figcaption></figcaption></figure>

## Markers

Defines visual marker settings used in the job system:

***

**`PedMarkers`:**

Displayed under job-related NPCs (e.g., start job ped).

* `id`:\
  Marker type ID (e.g., `2` – vertical cylinder).
* `color`:\
  RGB color of the marker (e.g., `{243, 207, 7}` for yellow).

***

**`DeleteCar`:**

Displayed at vehicle return zone (e.g., garage marker).

* `id`:\
  Marker type ID (e.g., `25` – vehicle garage marker).
* `color`:\
  RGB color of the marker (same format as above).

> 🎨 You can customize marker types and colors to match your server’s visual style.

<figure><img src="/files/mguemLUHnTCsGwqDKVWc" alt=""><figcaption></figcaption></figure>

## Remove Vehicle Timeout

Controls automatic deletion of the job vehicle after a delay:

* `enabled`:\
  Set to `true` to enable automatic vehicle removal after a set time.
* `time`:\
  Time in **seconds** before the vehicle is deleted (e.g., `30`).

> 📌 Useful for preventing abandoned electrician vehicles from cluttering the map.

<figure><img src="/files/NaXfJNLA7qyFtImvgHOL" alt=""><figcaption></figcaption></figure>

## Garage

Defines vehicle spawn and return settings for the electrician job:

* `SpawnPoints`:\
  List of `vec4` coordinates where the job vehicle will be spawned.\
  Format: `vec4(x, y, z, heading)`.
* `DeleteCar`:\
  List of `vec4` coordinates where players can return (delete) their job vehicle.
* `vehicleModel`:\
  Model name of the electrician job vehicle (e.g., `'burrito_electrician'`).

> 📌 You can add multiple spawn or return points if you want to support different garage zones.

<figure><img src="/files/67FxjZM6DjpQKVua1d3R" alt=""><figcaption></figcaption></figure>

## Uniforms

Defines the electrician job uniform applied to players when starting the job:

* `male`:\
  Clothing components for male characters:\
  • `tshirt_1`, `tshirt_2` – T-shirt base and variation\
  • `torso_1`, `torso_2` – Upper body/clothing\
  • `arms` – Arm style (sleeves)\
  • `pants_1`, `pants_2` – Pants and variation\
  • `shoes_1`, `shoes_2` – Footwear\
  • `helmet_1`, `helmet_2` – Helmet or headgear
* `female`:\
  Same structure as male, adjusted for female ped model clothing indexes.

> 📌 You can customize these values to fit your server’s clothing packs or RP uniform standards.

<figure><img src="/files/wWpm7ajkVCeOSMzNkrmj" alt=""><figcaption></figcaption></figure>

## Places

Defines job areas, types of gardening tasks, and the specific task positions within each zone.

Each entry represents a **job location** with a waypoint and three task types: `pulling`, `digging`, and `cleaning`.

***

**`waypoint_coords`:**

Coordinates (`x`, `y`, `z`) used to place the waypoint/GPS marker for the general task area.

***

**`jobs`:**

Dictionary of task types available in the location.

**🔸 `pulling` – Removing weeds or plants:**

* `amount`:\
  Number of random points selected from `data`. If you don’t want randomness, replace with exact amount of entries in `data`.
* `data`:\
  List of coordinates with `x`, `y`, `z`, `h` (heading), and `r` (radius) where pulling tasks take place.

**🔸 `digging` – Digging & planting new plants:**

* `amount`:\
  Same logic as above.
* `data`:\
  List of dig points with positions and headings (`x`, `y`, `z`, `h`).

**🔸 `cleaning` – Cleaning up debris or garden waste:**

* `amount`:\
  Randomly chosen task positions from `data`.
* `data`:\
  List of spots where players perform cleaning interactions (`x`, `y`, `z`, `h`).

***

> 📌 You can define multiple job locations by duplicating the structure.\
> Each zone is fully independent, allowing you to place unique sets of gardening tasks around the map.

<figure><img src="/files/C6MbVaRJdwsfDIdKP2nc" alt=""><figcaption></figcaption></figure>

## Mini Games Options

Defines task-specific settings for different gardener job types:

***

**`['digging']`**

Configuration for the digging phase (before planting):

* `holes`:\
  Number of holes the player must dig (randomized, e.g., `3–8`).

***

**`['planting']`**

Configuration for the planting phase after digging:

* `time`:\
  Time in **seconds** required to plant each plant (e.g., `10`).
* `props`:\
  List of plant prop models used during the planting process (e.g., `'prop_plant_paradise'`).

***

**`['cleaning']`**

Configuration for garden cleaning tasks:

* `time`:\
  Time in **seconds** it takes to clean each trash or dirt spot.

***

**`['pulling']`**

Configuration for plant/weed pulling tasks:

* `props`:\
  List of props to be removed by the player during the task (e.g., `'h4_prop_bush_cocaplant_01'`, `'v_med_p_ext_plant'`).

***

> 📌 Each job type can be independently adjusted to control difficulty, immersion, and task duration. You can also add more plant or weed models for variety.

<figure><img src="/files/6zd7JpHtgTJcVFlzxUye" alt=""><figcaption></figcaption></figure>


---

# 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 dynamically by asking a question.

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

```
GET https://wiki.qfdevelopers.com/scripts/editor-9/configuration.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.
