Customizing Radio Frames
Change the look of your in-game radio with custom frames!
Frame Permissions
Restrict radio frames by department, job, or job grade, and set admin command permissions. Compatible with ESX, QBCore, or as a standalone.
Example: SAHP department members with police job grades 1-3 can use frames:
default
signalpro
voxguard
Customizing Radio Frames
Navigate to the
sonoranradio\skins
directory.Locate a skin folder, which will contain 2-3 images and a
skin.json
file, displaying different frames.Observe the images, which include handheld, mobile, and possibly HUD radio types.
Create a new skin folder and add your own frame images in the format you've observed in Step 3.
Copy over and modify an existing
skin.json
file to maintain format consistency.In the
skin.json
file, specify the radio name and configure the frame types and body settings.In the
skin.json
file, define the images and button positions for each radio type.
Debug Mode
You can turn on debug mode in the main config to display button positions on screen for easier position configuration.
To enable debug mode, set Config.debug
to true
in your config.lua
file.
Frame Types
The following are valid as values for type
:
portable
- Used for handheld radiosvehicle
- Used for mobile radios installed in a vehiclehud
- Top-down view of a portable radio
Body Settings
In
body
, specify the image filename for each radio type. For instance, useradio-portable.png
for a portable radio.Additionally, set the
width
value to define the image's display width in-game.
Controls
Assign actions to buttons at specific positions on the radio image.
Example: Align a panic button hitbox with the panic button on the image, so clicking it in-game triggers a panic action.
Available action types:
power
,next_preset
,prev_preset
,panic
,home
,hide
.
Screen and Mini-Screen
Specify the position and width of the radio frame screen in Sonoran Radio to display information. Modify values under screen
or miniScreen
for HUD-type frames.
For HUD
-type frames, controls
can be left blank.
Example File
Below is an example of a skin.json
file:
Last updated