> For the complete documentation index, see [llms.txt](https://docs.rytrak.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rytrak.fr/scripts/advanced-helicopter-bucket/general-configuration.md).

# General Configuration

This guide will help you configure the script to suit your needs, covering all available options in the `config.lua` file. Each setting is explained step by step.

***

### **1. General Configuration**

#### **Language**

Set the language used by the script.

```lua
Config.Language = 'en' -- Available options: 'en' (English), 'fr' (French)
```

#### **Debug**

Display debug messages in the f8 client

<div align="left"><figure><img src="https://2818543518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGiawlnUQy629isMoQhj%2Fuploads%2FSrRy3jlvJTmzp6SjNWqB%2Fimage.png?alt=media&amp;token=31f30a22-20ee-4020-9c20-9af59ccf8785" alt=""><figcaption></figcaption></figure></div>

```lua
Config.Debug = false
```

***

### 2. Framework Compatibility

```lua
Config.ESX = false
Config.QB = false
```

Enable compatibility with **ESX** or **QBCore** frameworks.\
Set to `true` if you want to restrict interactions (e.g., water drop, siren control) to specific jobs defined under each helicopter (see `manageJobs` under the helicopter config).

***

### 3. Helicopter Configuration

Create as many helicopter entries as you want using their in-game model names.

<pre class="language-lua"><code class="lang-lua">Config.Helicopter = {
    [`polmav`] = {
<strong>        ropeOffset = vector3(0.0, 0.0, -0.7),
</strong>        waterScale = 15.0,
        manageJobs = {
            'pilot'
        },
        manageSeat = {-1, 0},
        siren = {
            enabled = true,
            soundName = 'yelp',
            distance = 300.0
        },
        capacity = 1300,
        pumpPower = 4.0,
        waterDischargePower = 2.0
    }
}
</code></pre>

* `ropOffset`: Offset of the rope from the helicopter

<div align="left"><figure><img src="https://2818543518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGiawlnUQy629isMoQhj%2Fuploads%2FekUs0SZBUrqENCxCduVJ%2Fimage.png?alt=media&amp;token=fa90ebd7-84a2-442e-8f92-c0891636c294" alt="" width="212"><figcaption></figcaption></figure></div>

* `waterScale`: Size of the water drop visual effect.
* `manageJobs`: Restrict control to jobs (only applies if ESX or QB is enabled).
* `manageSeat`: Determines which seats can operate the system. -1 = driver, 0 = right front passenger, 1 = left rear passenger, 2 = right rear passenger
* `siren`:
  * `enabled`: Enables or disables the water drop siren.
  * `soundName`: Name of the siren sound played.
  * `distance`: Maximum distance where the siren is audible.

<div align="left"><figure><img src="https://2818543518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGiawlnUQy629isMoQhj%2Fuploads%2FvN5U1f1YC7hxuTRGuCjP%2Fimage.png?alt=media&amp;token=1eeabf2f-c786-4b71-9e51-2e8774bdbdd6" alt=""><figcaption></figcaption></figure></div>

* `capacity`: Total water tank capacity in liters.
* `pumpPower`: Speed at which water is pumped into the tank.
* `waterDischargePower`: Flow rate of the water during drop.

***

#### 4. HUD Display

```lua
Config.HUD = {
    Text = true,
    NUI = true
}
```

* `Text`: Displays 3D text above the aircraft (example: tank quantity, instructions).

<div align="left"><figure><img src="https://2818543518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGiawlnUQy629isMoQhj%2Fuploads%2F8bSrTjr1CMgWvrXCKakH%2Fimage.png?alt=media&amp;token=2e35626d-0a98-48ac-8d6e-22e4296d11e3" alt="" width="563"><figcaption></figcaption></figure></div>

* `NUI`: Enables a HUD in the bottom-right of the screen.

<div align="left"><figure><img src="https://2818543518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvGiawlnUQy629isMoQhj%2Fuploads%2FrfK32QTFAi4GhxaDgWNB%2Fimage.png?alt=media&amp;token=6ca21068-4dfb-42e5-a065-d71637e9da9c" alt="" width="563"><figcaption></figcaption></figure></div>

***

### 5. Fire Compatibility

Compatibility with external fire systems.

```lua
Config.Fires = {
    SmartFires = {
        enabled = false,
        name = 'SmartFires',
        detectionRadius = 30.0,
        healthSpeed = 8.0
    },
    ToxicFire = {
        enabled = false,
        name = 'firescript',
        detectionRadius = 30.0,
        healthSpeed = 8.0
    },
    zFire = {
        enabled = false,
        name = 'z_fire',
        detectionRadius = 30.0,
        healthSpeed = 8.0
    }
}
```

* `enabled`: Enables compatibility with the fire system.
* `name`: Name of the resource used in your server.
* `detectionRadius`: Radius in meters around the fire where drops are registered.
* `healthSpeed`: Speed at which the fire health decreases with each drop.

{% hint style="danger" %}
**Note:** Only one system should be enabled at a time.
{% endhint %}

***

### 6. Particle Effects

Customize the visual effects for water and vapor sprays.

```lua
Config.Effect = {
    water = {
        dict = "core",
        name = "water_cannon_jet"
    },
    vapor = {
        dict = "core",
        name = "ent_amb_smoke_gaswork"
    }
}
```

* `dict`: Dictionary (resource) of the particle effect.
* `name`: Particle effect name used for visual immersion.

***

### **6. Key Bindings**

#### **Keys for Interactions**

```lua
Config.Keys = {
    DropWaterKey = 306, -- Key to drop water
    DropWaterKeyString = '~INPUT_REPLAY_ENDPOINT~', -- Key string to drop water

    SirenKey = 86, -- Key to activate the siren
    SirenKeyString = '~INPUT_VEH_HORN~', -- Key string to activate the siren
    
    DeleteBucketKey = 38, -- Key to delete the bucket
    DeleteBucketKeyString = '~INPUT_PICKUP~' -- Key string to delete the bucket
}
```

*Refer to the* [*FiveM Control Reference*](https://docs.fivem.net/docs/game-references/controls/) *for a list of control codes.*

***

### **7. Language Library**

Edit the text displayed for different actions in multiple languages.
