> For the complete documentation index, see [llms.txt](https://docs.0resmon.org/0resmon/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.0resmon.org/0resmon/0resmon-1/0r-resources/0r-radio-v3/installation.md).

# Installation

{% stepper %}
{% step %}

### Check dependencies

Make sure these are installed and starting **before** `0r-radio`:

* **ox\_lib** — required.
* A **framework**: ESX, QBCore, or QBX
* A **voice system**: `pma-voice` (recommended) or `saltychat`. Without one of these, the radio has nothing to talk over.

{% hint style="info" %}
The custom radio effects (distance, weather, interior, dropouts) only work with `pma-voice`. With saltychat you still get a working radio, just without the submix pipeline.
{% endhint %}
{% endstep %}

{% step %}

### Add the resource

Drop the folder into your server as `0r-radio` (keep the name — other resources and `ensure` expect it).
{% endstep %}

{% step %}

### Update server.cfg

The order in your `server.cfg` matters because bridge resolves the framework and inventory at boot, and `pma-voice` configures itself based on convars 0r-radio sets.

```cfg
ensure ox_lib

# framework
ensure es_extended      # or qb-core / qbx_core

# inventory
ensure ox_inventory     # or whichever one you use

# voice
ensure pma-voice        # or saltychat

ensure 0r-radio
```

{% endstep %}

{% step %}

### Register the items

Add the items to your inventory — see [Items](/0resmon/0resmon-1/0r-resources/0r-radio-v3/items.md).
{% endstep %}

{% step %}

### Test in-game

Give a player the radio item, press the bound key (default <kbd>=</kbd>), and you should see the UI. If nothing happens, check the server console — set `debug = 4` in `config.lua` if you want to see all debug messages and errors.

If you encounter any errors, please check the [F.A.Q](/0resmon/0resmon-1/0r-resources/0r-radio-v3/faq.md). If the issue still persists, you can open a support ticket in our Discord server.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.0resmon.org/0resmon/0resmon-1/0r-resources/0r-radio-v3/installation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
