> ## Documentation Index
> Fetch the complete documentation index at: https://docs.czautoz.co.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# Helicopter Tracker

> Hide a GPS tracker on someone's helicopter and follow it on a Tracker Receiver — or sweep your own aircraft with a Signal Scanner and pull theirs out.

Three items, new in v0.4.7, let players track each other's helicopters.

| Item | Classname | What it does |
| - | - | - |
| **GPS Tracker** | `CZ_HeliTracker` | A small battery transmitter you hide on a helicopter |
| **Tracker Receiver** | `CZ_HeliTrackerReceiver` | Shows where the helicopters you have tagged were at their last signal |
| **Signal Scanner** | `CZ_HeliSignalScanner` | Sweeps a helicopter for hidden transmitters, so you can remove one |

None of them spawns unless you add it to your loot or traders — see [Types & Events](/server-config/types-events-xml). To turn the whole feature off, set `tracker.trackerEnabled` to `0`.

## Hiding a tracker

1. Stand next to the helicopter, within about 20 m, standing or crouched, with the **GPS Tracker** in your hands
2. Hold **Hide GPS Tracker** for **8 seconds**

The tracker is used up and hidden on the aircraft. It does not appear in the helicopter's inventory. It works on every helicopter, but it cannot be done from a seat or from inside the cabin, and **only one tracker fits each helicopter** — a second one will not pair. Each player can have only a set number of trackers running at once (`tracker.maxPerPlayer`, default 3).

## Following it

Use the **Tracker Receiver** in your hands (**Open Tracker Map**). It opens the [Pilot Panel](/features/pilot-panel) map in tracker view, where each helicopter you have tagged shows as **TRACKED HELI 1**, **TRACKED HELI 2** and so on, as a ring at its last signal with how long ago it came in.

* The tracker reports every **90 seconds** (`tracker.pingSeconds`), starting 5 seconds after it is hidden
* Each report is placed up to **150 m** away from the aircraft's real position (`tracker.blurMeters`), so you see the area, not the exact spot
* Only the player who hid it receives its reports. If they log off, the last report is waiting for them, with its real age, when they come back
* The battery lasts **2 hours** of real time (`tracker.batterySeconds`), flying or parked. When it runs out the tracker stops and is gone
* Trackers stay on the helicopter through server restarts, and keep reporting from a wreck until the battery runs out

## Noticing one

The crew can tell something is on board, unless the server turns these warnings off (`tracker.ownerWarnings = 0`):

* **Every time the tracker transmits**, everyone aboard hears a short burst of radio static (unless they have set **Alert volume** to Off in the Pilot Panel), and the cockpit GPS shows an **RF** symbol for a couple of seconds if it has power
* After **10 minutes** of flying with a tracker on board (`tracker.warnAfterSeconds`), everyone aboard is told **UNKNOWN TRANSMITTER ON BOARD**, and the Pilot Panel shows it too

## Removing one

1. Hold the **Signal Scanner** against the helicopter and hold **Scan For Transmitters** for **10 seconds**. It tells you whether it found one
2. If it did, hold **Remove Hidden Transmitter** for **6 seconds** within the next 2 minutes. Only the player who scanned can do this

The tracker is yours now: you get a working GPS Tracker, ready to hide on someone else's helicopter.

## For admins

The helicopter list in the [Admin Panel](/server-config/admin-panel) marks a tracked helicopter **\[TRACKED]**, and its details show who hid the tracker and how much battery it has left, with a **REMOVE** button (needs the `heli.list.repair` permission). Hiding, removing and a tracker's battery running out are written to the [activity log](/server-config/global-settings#activity-log-events) as `TRACKER`.

## Settings

All in the `tracker` section of `mod_config.json`, and in the Admin Panel's **Helicopter Tracker** group.

| Setting | What it does | Default |
| - | - | - |
| `tracker.trackerEnabled` | `1` = trackers work. `0` = the whole feature is off | `1` |
| `tracker.pingSeconds` | Seconds between reports, `30` – `600`. **Raise it when** tracking feels too easy | `90` |
| `tracker.blurMeters` | How far off a report can be from the real position, in metres, `0` – `1000` | `150` |
| `tracker.batterySeconds` | How long a tracker runs, in real seconds, `600` – `86400` | `7200` |
| `tracker.warnAfterSeconds` | Seconds of flying before the crew are told about it, `0` – `7200` | `600` |
| `tracker.ownerWarnings` | `1` = the crew hear the static, see the RF symbol and get the on-board warning. `0` = trackers are silent | `1` |
| `tracker.maxPerPlayer` | How many trackers one player can have running at once, `1` – `20` | `3` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.