> For the complete documentation index, see [llms.txt](https://nanoscripts.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nanoscripts.gitbook.io/docs/scripts/nn_radio.md).

# nn\_radio

A handheld two-way radio your players actually **hold**. They raise it in first person, press the real buttons on the prop with the mouse, watch the frequency land on its own screen, and talk. Distance thins the signal, jammers drown it in static, gunfire bleeds over an open mic — and police cars come with a radio built into the dash.

{% hint style="info" %}
**At a glance** — Resource: `nn_radio` · Author: NANO Scripts · Version: 1.2.1 · Frameworks: QBox, QBCore, ESX (via community\_bridge) · Voice: pma-voice · Channels and vehicles are configured **in game**, not in config.
{% endhint %}

#### Features

| Feature                  | What it does                                                                                   |
| ------------------------ | ---------------------------------------------------------------------------------------------- |
| **Real prop buttons**    | Every key on the model is a mesh you click. It presses in.                                     |
| **Multi-channel**        | Up to 5 channel slots per radio — hear them all, talk on the one you pick.                     |
| **On-prop screen**       | A live display rendered on the radio itself — frequency, TX/RX, channel name.                  |
| **3 radio models**       | Handheld, Field Pro and Military, each with its own prop and screen skin.                      |
| **Comms audio**          | Incoming voice runs through a radio submix — thin, banded, unmistakably a radio.               |
| **Signal falloff**       | Far-away talkers fade into hiss, dropouts and squelch tails.                                   |
| **Channel roster**       | A screen-space panel listing everyone on your frequency, highlighting who is talking.          |
| **Memory presets**       | Players save their own frequency shortcuts on the radio, kept per character.                   |
| **Locked channels**      | Password (4-digit, typed on the keypad) or job-locked frequencies.                             |
| **Vehicle radios**       | An interactive 3D head unit in the dash, a mini HUD for passengers, and an EMERG panic button. |
| **External speaker**     | Stand near a police car and hear its radio leak from the set.                                  |
| **Signal jammers**       | Three placeable types that drown nearby radios — disabled with a hacking minigame.             |
| **Gunfire over the air** | Shots near an open mic carry over the channel, in real cadence.                                |
| **Mic clicks**           | The PTT "de-doot" when someone keys up and down.                                               |
| **Hands-free + mute**    | Toggle your mic open, or silence the channel, without raising the radio.                       |

#### What you will need

| Dependency                                                             | Required | Why                                                              |
| ---------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- |
| **nn\_lib**                                                            | Yes      | NANO Scripts core library — the radio will not start without it. |
| [**community\_bridge**](https://github.com/SinapsDev/community_bridge) | Yes      | Framework support — inventory, jobs, notifications.              |
| **pma-voice**                                                          | Yes      | The voice channels themselves.                                   |
| **ox\_lib**                                                            | Yes      | Shared library and keybinds.                                     |
| **oxmysql**                                                            | Yes      | Stores channels, vehicles and presets.                           |
| **object\_gizmo**                                                      | Yes      | Required to start; powers the in-game model-tuning tools.        |

{% hint style="warning" %}
Radio and jammer **items** must exist in your inventory before players can use anything. Copy-paste definitions ship in the resource's `_install/` folder — see **Installation**.
{% endhint %}

#### Common questions

<details>

<summary>Do players need the item?</summary>

Yes, by default. Losing it while tuned drops the channel and closes the radio. Set `Config.requireItem = false` to test without one.

</details>

<details>

<summary>Do I have to edit config to add channels or police cars?</summary>

No. Locked channels and vehicle radios are both managed in game through `/radioadmin`, and saved to the database.

</details>

<details>

<summary>Does it replace pma-voice?</summary>

No, it drives it. pma-voice still handles the voice; nn\_radio decides the channel, the volume and how the audio sounds.

</details>

<details>

<summary>Do I need to import SQL?</summary>

No. Every table creates itself on first start.

</details>

<details>

<summary>Can I use my own radio prop?</summary>

Yes. Each radio prop is defined in `config/talkies.lua` — its place in the hand, its buttons and its screen. See **Configuration**.

</details>

#### What's next

**Installation** → **Using the Radio** → **Channels & Access**.

#### Support

* **Discord:** <https://discord.gg/nanoscripts>
