Install¶
Every folder in the model is named after the service its contents belong in. Drag the contents across, then delete the empty wrapper folder.
| Folder | Goes into | Contains |
|---|---|---|
ReplicatedStorage |
ReplicatedStorage | RadioSystem: RadioConfig, Remotes |
ServerScriptService |
ServerScriptService | RadioServer (RadioClient, Assets and Modules hang off it) |
ServerStorage |
ServerStorage | RadioSystem: RadioAPI, Samples |
StarterPack |
StarterPack | Radio, the Tool |
StarterPlayer |
StarterPlayer | StarterPlayerScripts: RadioInterface, RadioAudio, RadioHandset, RadioAnimate |
Workspace |
Workspace | ChannelMonitor, a test speaker (optional) |
Nothing can come apart
RadioClient, Assets and Modules are children of the RadioServer script, so moving or ungrouping it cannot separate it from what it needs. The same is true of RadioHandset: HandsetTemplate, UI, Icons, IconData, Menus and Settings are its children.
Setup checklist¶
Tick these off as you go. Your progress is saved in this browser.
- Move each folder's contents into its service, using the table above
- Delete the empty wrapper folders
- Turn on Allow HTTP Requests (Game Settings → Security)
- Press Play and read the boot report in Output.
modules:should list TrafficLog, Roles, Coverage, Checkout, Safety, AlarmBridge, Paging, Console, Captions, Preferences, Handset, API. - Hold Left Ctrl and talk
- Publish the talk animation (below)
Publishing the talk animation¶
The radio raises to the player's mouth while they transmit. Roblox will not play an animation in a live server unless it has been published to your own account, so this one step is yours.
- Insert
R7 Talk Animations.rbxmx(supplied alongside the model) into Workspace. It contains two clips,TalkR6andTalkR15. - Build a rig: Avatar → Rig Builder → R6, then again for R15.
- Drop the matching clip into a folder named
AnimSavesinside the rig. - Select the rig, open the Animation Editor, and load the clip from the editor's folder list.
- ⋯ → Publish to Roblox, then copy the asset ID.
- Paste both IDs into
RadioConfig:
Config.Animations = {
Enabled = true,
TalkR6 = "rbxassetid://0000000000", -- your published R6 clip
TalkR15 = "rbxassetid://0000000000", -- your published R15 clip
FadeSeconds = 0.2,
OnlyInHand = true,
}
Skipping this is safe
Leave the IDs empty and the animation plays in Studio only. A live server warns once in Output and skips it. Nothing else is affected.