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

# Hane Radio

Advanced In-Game Radio Communication System

Hane Radio is an advanced in-game radio communication system built for immersive roleplay servers. Featuring a realistic walkie-talkie interface with a custom radio frame, it delivers a complete channel-based voice communication experience powered by pma-voice.

***

#### 🔑 Key Features

* **Realistic radio UI** with custom device frame and physical button interactions
* **Dual channel listening** — connect to two frequencies simultaneously
* **Password-protected and job-restricted channel support**
* **Emergency signal, GPS location sharing, and in-radio text messaging**
* **Favorites, recent channels, and full call history tracking**
* **Built-in admin panel** with kick, ban, channel listen, and global announce
* **Earphone and speaker mode toggle**
* **Draggable UI with position saving**
* **Full localization system** (Turkish & English included, easily expandable)
* **Webhook logging** for server administration
* **Multi-inventory support** (ox\_inventory, qb-inventory, qs-inventory, codem-inventory)
* **Optimized for high-population servers**

***

#### 📦 Dependencies

| Resource    | Required | Notes                      |
| ----------- | -------- | -------------------------- |
| `ox_lib`    | ✅ Yes    | Core dependency            |
| `pma-voice` | ✅ Yes    | Voice communication engine |

***

#### 🎮 Supported Frameworks

| Framework  | Status      |
| ---------- | ----------- |
| QBX Core   | ✅ Supported |
| QBCore     | ✅ Supported |
| ESX        | ✅ Supported |
| Standalone | ✅ Supported |

***

#### 📁 Resource Structure

```
hane_radio/
├── bridge/
│   ├── client.lua    # Client-side framework bridge
│   ├── loader.lua    # Auto-detection loader
│   └── server.lua    # Server-side framework bridge
├── client/
│   ├── main.lua      # Core radio logic, channel management
│   ├── functions.lua # Helper functions
│   └── events.lua    # Client events (emergency, messages, etc.)
├── config/
│   ├── config.lua    # Main configuration
│   └── channels.lua  # Channel definitions
├── locales/
│   ├── en.json       # English translations
│   ├── tr.json       # Turkish translations
│   └── locales.lua   # Locale system handler
├── server/
│   ├── main.lua      # Server core logic
│   ├── events.lua    # Server events (join, leave, talk, etc.)
│   ├── admin.lua     # Admin commands
│   └── webhook.lua   # Discord webhook logging
├── ui/
│   ├── index.html    # NUI interface
│   ├── css/style.css # NUI styling
│   ├── js/app.js     # NUI application logic
│   ├── open.wav      # Radio open sound
│   ├── close.wav     # Radio close sound
│   └── telsiz.png    # Radio device frame image
└── fxmanifest.lua
```

***

#### 🔗 Quick Links

* Installation
* Configuration
* Channels
* Admin Commands
* Exports & API
* Localization
* FAQ & Troubleshooting
