> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-radio/features/broadcast-range.md).

# Broadcast Range

Real transmitter coverage — drive out of range and the station dies into static.

Vanilla GTA plays every station everywhere. Mango Radio can give stations real transmitter coverage instead: drive out of range and the station degrades into radio static, drive back and it picks itself up.

Coverage is **opt-in per station**. A station with no `coverage` field is receivable everywhere, exactly as before.

## The worked example

Blaine County Radio ships with a Blaine County transmitter:

```lua
{ name = 'RADIO_11_TALK_02', label = 'Blaine County Radio', genre = 'Talk Radio',
  coverage = { { x = 1500.0, y = 3800.0, radius = 3400.0 } } },
```

Strong across Sandy Shores, Grapeseed, Paleto Bay and Mount Chiliad — gone by the time you reach Los Santos.

## How it behaves

| Where you are                 | What you hear                                |
| ----------------------------- | -------------------------------------------- |
| Inside the radius             | Clean signal, nothing changes                |
| Within `fadeDistance` past it | Static mixes in progressively over the music |
| Beyond that                   | Station silenced, static only                |

Driving back into range retunes automatically.

## The static is generated, not streamed

The static is **band-limited noise generated live in the interface**. No audio file ships with the resource and nothing is streamed. The audio engine is created on first use and suspended the moment the signal is clean again, so in-range driving costs nothing.

## Options

```lua
Config.Range = {
    enabled        = true,
    checkInterval  = 700,   -- ms between distance checks
    fadeDistance   = 700.0, -- metres of degradation past the radius
    staticVolume   = 0.5,   -- static loudness at zero signal
    resumeOnReturn = true,  -- retune automatically back in range
}
```

The thread only ticks while you are in a vehicle tuned to a station that actually defines coverage — otherwise it idles.

## Placing your own transmitters

A station can have several transmitters; the strongest wins. To position them, enable debug and drive to the spot:

```lua
Config.Debug = true
```

```
/mradio_signal
```

It prints your coordinates, the GTA zone name and the current station's signal level, so you can size a radius against real positions on the map.

## In the interface

The station browser reflects all of it: the status-strip signal bars track the real level and turn accent-coloured when it dies, and both the header and the on-air row read **No signal — out of range**.
