# Farmer

{% 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 that will appear in menus and notifications.\
  **Example**: `"Farmer"`
* **`debug`**: <mark style="color:yellow;">`@boolean`</mark>\
  Enables debug mode for development and logs.
* **`disabled`**: <mark style="color:yellow;">`@boolean`</mark>\
  If `true`, disables the job, making it unavailable for players.

***

## 👥 Multiplayer Settings

* **`can_multiplayer`**: <mark style="color:yellow;">`@boolean`</mark>\
  Indicates whether the job can be performed in a group.\
  `true`: Group work enabled.\
  `false`: Solo-only.
* **`show_members_blips`**: <mark style="color:yellow;">`@boolean`</mark>\
  If `true`, players will see their teammates' blips on the map.

***

## 📍 Menu Settings

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

* **`job_menu`**: <mark style="color:yellow;">`@vector3`</mark>\
  The location where the job menu can be accessed.
* **`interaction_distance`**: <mark style="color:yellow;">`@float`</mark>\
  Distance range required for the menu interaction.
* **`blips`**:\
  Settings for displaying the menu location on the map.
  * **`show`**: <mark style="color:yellow;">`@boolean`</mark> – Whether to display the blip.
  * **`label`**: <mark style="color:yellow;">`@string`</mark> – Name displayed on the map.
  * **`sprite`**: <mark style="color:yellow;">`@number`</mark> – Blip icon.
  * **`color`**: <mark style="color:yellow;">`@number`</mark> – Blip color.
  * **`scale`**: <mark style="color:yellow;">`@float`</mark> – Blip size.

***

## 🚜 Vehicle Settings

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

* **`model`**: <mark style="color:yellow;">`@string`</mark>\
  The name of the vehicle model to be spawned.\
  **Example**: `"tractor2"`
* **`spawnCoords`**: <mark style="color:yellow;">`@vector4`</mark>\
  Coordinates and heading where the vehicle will appear.

***

## 🌾 Field/Mission List

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

Each field defines a crop-related job/mission area.

**Main Fields**

* **`area`**: <mark style="color:yellow;">`@vector3`</mark>\
  The reference area for the mission (e.g., center of the farm field).
* **`title`**: <mark style="color:yellow;">`@string`</mark>\
  The title shown to the player when starting this field's mission.
* **`reward`**: <mark style="color:yellow;">`@number`</mark>\
  Amount of money awarded upon successful mission completion.
* **`split_reward_members`**: <mark style="color:yellow;">`@boolean`</mark>\
  If `true`, the reward is split evenly among group members.

***

## 🌾 Crop Models & Attachments

```lua
["models"] = {
  ["crop"] = "prop_model",
  ["collect"] = "prop_model",
  ["collect_car_attach"] = { ... },
  ["collect_player_attach"] = { ... },
}
```

* **`crop`**: <mark style="color:yellow;">`@string`</mark>\
  The model representing the crop growing in the field.\
  **Example**: `"prop_veg_crop_04"`
* **`collect`**: <mark style="color:yellow;">`@string`</mark>\
  The model that appears once the crop is collected (e.g., hay bale).
* **`collect_car_attach`**:\
  Settings for attaching the collected object to the vehicle.
  * `bone`: <mark style="color:yellow;">`@number`</mark> – Bone index to attach to.
  * `coords`: <mark style="color:yellow;">`@vector3`</mark> – Position offset.
  * `rotation`: <mark style="color:yellow;">`@vector3`</mark> – Rotation offset.
* **`collect_player_attach`**:\
  Settings for attaching the collected item to the player.
  * `bone`: <mark style="color:yellow;">`@number`</mark> – Bone index for the player's hand or back.
  * `coords`: <mark style="color:yellow;">`@vector3`</mark> – Offset relative to the bone.
  * `rotation`: <mark style="color:yellow;">`@vector3`</mark> – Rotation for item alignment.
  * `animDict`: <mark style="color:yellow;">`@string`</mark> – Animation dictionary used while carrying.
  * `animName`: <mark style="color:yellow;">`@string`</mark> – Animation name used while carrying.

***

## 🚛 Trailer / Harvester Settings

```lua
["trailers"] = {
  ["harvester"] = "tractor_model",
  ["harvester_coords"] = vec4(x, y, z, h),
  ["trailer"] = "trailer_model",
  ["trailer_coords"] = vec4(x, y, z, h),
}
```

* **`harvester`**: <mark style="color:yellow;">`@string`</mark>\
  Model name of the harvesting vehicle.
* **`harvester_coords`**: <mark style="color:yellow;">`@vector4`</mark>\
  Spawn position for the harvester.
* **`trailer`**: <mark style="color:yellow;">`@string`</mark>\
  Model name of the trailer used for crop delivery.
* **`trailer_coords`**: <mark style="color:yellow;">`@vector4`</mark>\
  Spawn position for the trailer.

***

## ⏱️ Timer Settings

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

* **`extra_time`**: <mark style="color:yellow;">`@number`</mark> (in ms)\
  Extra time granted after the mission ends before failure.
* **`mission_time`**: <mark style="color:yellow;">`@number`</mark> (in ms)\
  Total time given to complete the mission.
* **`deducted_per_min`**: <mark style="color:yellow;">`@number`</mark>\
  Money deducted per minute if the mission exceeds the allowed time.

***

## 📍 Collection Points

```lua
["coords"] = {
  [1] = vec3(x, y, z),
  ...
}
```

* **`coords`**: <mark style="color:yellow;">`@vector3[]`</mark>\
  Positions in the field where the player can interact with or collect crops.

***

## 🗺️ Field Blip

```lua
["area_blip"] = {
  ["show"] = true,
  ["label"] = "Field Name",
  ["sprite"] = 501,
  ["color"] = 32,
  ["scale"] = 0.8,
  ["alpha"] = 125,
}
```

* **`show`**: <mark style="color:yellow;">`@boolean`</mark> – Whether to display the blip.
* **`label`**: <mark style="color:yellow;">`@string`</mark> – Field name on the map.
* **`sprite`**: <mark style="color:yellow;">`@number`</mark> – Blip icon.
* **`color`**: <mark style="color:yellow;">`@number`</mark> – Blip color.
* **`scale`**: <mark style="color:yellow;">`@float`</mark> – Blip size.
* **`alpha`**: <mark style="color:yellow;">`@number`</mark> – Transparency value (0–255).
