<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/parachutes -->
> Source: https://fivemad.com/docs/tools/parachutes
> Section: Tools
> Tags: parachute, smoke trail, tint, SetPlayerParachuteTintIndex, skydiving
> Tool: https://fivemad.com/tools/parachutes
> Last updated: 2026-09-25
> Site map for assistants: https://fivemad.com/llms.txt

# Parachutes & Smoke Trails

Every GTA V parachute canopy tint and smoke trail colour with indices, text labels and RGB values, plus a snippet builder for the parachute natives.

Parachutes & Smoke Trails lists all 14 canopy tints and 8 smoke trail options with their indices, text labels and RGB values. Click a canopy, pick a smoke colour, and copy a snippet that gives the parachute and applies everything to the player.

Every snippet block on this page has a **Lua / JS / TS / C#** switcher in its corner. The choice is remembered across the site, and [the runtimes page](/docs/development/runtimes) explains what changes between them.

## What it is for

Skydiving events, BASE jumping jobs, or a store that sells parachute styles all need the tint indices and the natives to apply them. Six of the canopies also need a model swap that is easy to miss. The snippet handles that for you.

## Quick start

1. Click a card under **Canopy tints**. With **Same tint everywhere** on (the default), the main canopy, reserve and pack all follow it.
2. Turn **Smoke trail** on or off and click a colour swatch, or use **Custom** to pick any colour.
3. Copy `parachute.lua` from under the **Snippet builder**.

## Canopy tints

| Index | Name | Label | Model override |
| --- | --- | --- | --- |
| 0 | Rainbow Chute | `PM_TINT0` | |
| 1 | Red Chute | `PM_TINT1` | |
| 2 | Seaside Stripes Chute | `PM_TINT2` | |
| 3 | Widowmaker Chute | `PM_TINT3` | |
| 4 | Patriot Chute | `PM_TINT4` | |
| 5 | Blue Chute | `PM_TINT5` | |
| 6 | Black Chute | `PM_TINT6` | |
| 7 | Hornet Chute | `PM_TINT7` | |
| 8 | Air Force Chute | `PS_CAN_0` | yes |
| 9 | Desert Chute | `PS_CAN_1` | yes |
| 10 | Shadow Chute | `PS_CAN_2` | yes |
| 11 | High Altitude Chute | `PS_CAN_3` | yes |
| 12 | Airborne Chute | `PS_CAN_4` | yes |
| 13 | Sunrise Chute | `PS_CAN_5` | yes |

Each card also shows the description label (`PD_TINT*` or `PSD_CAN_*`), click to copy. Tints 8 to 13 are the San Andreas Flight School canopies and are marked **model override**: they only appear after you swap the canopy model to `pil_p_para_pilot_sp_s`.

## Smoke trail colours

| Name | RGB | Label |
| --- | --- | --- |
| No Smoke Trail | none | `PM_TINT8` |
| Red Smoke Trail | 255, 0, 0 | `PM_TINT9` |
| Orange Smoke Trail | 255, 165, 0 | `PM_TINT10` |
| Yellow Smoke Trail | 255, 255, 0 | `PM_TINT11` |
| Blue Smoke Trail | 0, 0, 255 | `PM_TINT12` |
| Black Smoke Trail | 20, 20, 20 | `PM_TINT13` |
| Crew Smoke Trail | crew colour, pick any RGB | `PM_TINT14` |
| Patriot Smoke Trail | 255, 0, 0 / 255, 255, 255 / 0, 0, 255 | `PM_TINT15` |

Click a swatch in the table to use it in the snippet (it also turns the smoke trail on). Smoke trails are not a tint index: you turn them on and pass any RGB you like. The Patriot trail is three colours, but the native takes one RGB per call, so pick one or cycle them yourself.

## Snippet builder

| Option | What it does | Default |
| --- | --- | --- |
| **Same tint everywhere** | Main, reserve and pack follow the card you click. Changing one of the dropdowns turns it off. | on |
| **Main** / **Reserve** / **Pack** | Tint for each part. | 6 (Black Chute) |
| **Give parachute** | Adds `GiveWeaponToPed` with `gadget_parachute` and `SetPlayerHasReserveParachute`. | on |
| **Smoke trail** | Adds `SetPlayerCanLeaveParachuteSmokeTrail` and the colour. | on, red |

## Example

A Desert Chute (needs the model override) with an orange trail:

```lua title="parachute.lua"
CreateThread(function()
    local player = PlayerId()
    local ped = PlayerPedId()

    GiveWeaponToPed(ped, `gadget_parachute`, 1, false, false)
    SetPlayerHasReserveParachute(player)

    -- tints 8 to 13 only exist on the flight school canopy
    local model = `pil_p_para_pilot_sp_s`
    RequestModel(model)
    while not HasModelLoaded(model) do Wait(0) end
    SetPlayerParachuteModelOverride(player, model)
    SetPlayerReserveParachuteModelOverride(player, model)

    SetPlayerParachuteTintIndex(player, 9) -- Desert Chute
    SetPlayerReserveParachuteTintIndex(player, 9) -- Desert Chute
    SetPlayerParachutePackTintIndex(player, 9) -- Desert Chute

    SetPlayerCanLeaveParachuteSmokeTrail(player, true)
    SetPlayerParachuteSmokeTrailColor(player, 255, 165, 0)
end)
```

## Natives

| Native | What it does |
| --- | --- |
| `SetPlayerParachuteTintIndex(player, tintIndex)` | Canopy tint of the main parachute. |
| `SetPlayerReserveParachuteTintIndex(player, index)` | Canopy tint of the reserve. |
| `SetPlayerParachutePackTintIndex(player, tintIndex)` | Tint of the backpack. |
| `SetPlayerParachuteModelOverride(player, model)` | Swaps the canopy model (needed for 8 to 13). |
| `SetPlayerReserveParachuteModelOverride(player, model)` | Same, for the reserve. |
| `SetPlayerCanLeaveParachuteSmokeTrail(player, enabled)` | Turns the smoke trail on or off. |
| `SetPlayerParachuteSmokeTrailColor(player, r, g, b)` | Smoke colour, 0 to 255 each. |
| `SetPlayerHasReserveParachute(player)` | Gives a reserve chute. |

Click a native name in the tool to copy it.

## Tips

- These natives take the player id (`PlayerId()`), not the ped.
- The labels are text entries. Use `GetLabelText("PM_TINT7")` to show the localised name in a menu.
- Setting an index from 8 to 13 without the model override shows the wrong canopy.

## Limitations

The canopy previews are approximate drawings from the in-game descriptions, not renders. Everything runs in the browser.

Data: Vespura ([vespura.com](https://vespura.com/fivem/parachutes/)).

## Related tools

- [Weapon Stats & Components](/docs/tools/weapon-stats)
- [Player Stats List](/docs/tools/player-stats)
- [Particle Effects List](/docs/tools/particles-list)
