A modern radio script for FiveM with a clean UI and smooth animations.
- Custom NUI interface with drag and resize support
- Power on/off animations and states
- Recent frequency history (stores last 3 channels)
- Quick channel switching with keybinds (PAGEUP/PAGEDOWN)
- Multiple radio animations (face, shoulder, chest, ear)
- Restricted channels for specific jobs/gangs
- Volume control and click sound toggle
- Settings persist between sessions
- Works with ESX, QBX, OX Core, vRP, or standalone
- Download and extract to your resources folder
- Add
ensure pf_radioto your server.cfg - Configure
shared/config.luato match your framework - Set up restricted channels if needed
- Restart your server
Edit shared/config.lua:
framework = "qbx" -- standalone, esx, ox, qbx, vrp05
item = "radio" -- your radio item name
restrictedChannels = {
[1] = { "police", "ambulance" } -- locks 1.00-1.99 to these jobs
}Edit your inventorys file that contain item configurations, and add this:
["radio"] = {
label = "Radio",
weight = 1000,
stack = false,
client = {
export = "pf_radio.useRadio",
}
},The previously mentioned example is for ox_inventory
- Use the radio item from your inventory
- Enter a frequency and click connect
- Hold push-to-talk to transmit
- Use PAGEUP/PAGEDOWN for quick channel switching
- Type
/radioanimto change your animation style
- PAGEUP - Jump channel up by configured amount
- PAGEDOWN - Jump channel down by configured amount
- ESC - Close radio interface
You can lock entire frequency ranges to specific jobs:
restrictedChannels = {
[1] = { "police", "ambulance" }, -- 1.00-1.99
[10] = { "gang_leader" }, -- 10.00-10.99
}Players without the required job will get an error when trying to connect.
Locale files are in locales/. Currently includes:
- English (
en.json) - Danish (
da.json)
The script automatically uses ox_lib's locale system.
Found a bug or want a feature? Open an issue on GitHub or hit us up on Discord [https://discord.gg/XwtVC9wvc8]