About Script
An immersive, highly realistic radio communication system designed to overhaul how players interact over frequencies. Built on top of pma-voice, this script introduces dynamic audio distortion, multiple radio tiers, physical signal jammers, and deep roleplay integrations. Dual Radio Tiers & Custom UI Standard & Cheap Radios: Features two distinct radio items. The Standard Radio (Motorola-style) offers reliable communication and a volume-adjustable UI. The Cheap Radio (Walkie-Talkie) is an entry-level device that cannot access encrypted channels and has a much shorter transmission range. Interactive Interfaces: Custom-designed, highly detailed HTML/CSS interfaces for both radio types. Dynamic Audio Distortion (Submix System) Realistic Signal Degradation: Audio quality dynamically worsens (adding static, robotic effects, and muffling) based on the distance between the speaker and the listener. Hardware Limitations: Cheap radios introduce heavy static at much shorter distances, making them ideal for localized gang or civilian roleplay, while standard radios offer extended clarity. Repeater Simulation for Official Channels: Job-restricted channels (such as Police or EMS) act as a simulated repeater network. These channels provide massive transmission range and crystal-clear audio quality with almost zero static, ensuring emergency services can always communicate effectively. Electronic Warfare: Jammers & Sonar Placeable Signal Jammers: Players can physically place jammer props using a raycast placement system. Once active, jammers severely disrupt the radio communications of anyone within their radius, causing heavy audio static and applying a visual "glitch" effect to the radio interface. Sonar / Signal Locator: A specialized tool used to track down hidden jammers. When equipped, it emits a tracking beep that increases in speed as the player gets closer to the jammer, allowing them to locate and dismantle the device.
Config Example
Config = {}
Config.Items = {
radio = 'radio',
radio_cheap = 'radio1',
jammer = 'jammer',
locator = 'signal_locator'
}
Config.KeyMapping = 'LMENU'
Config.CheapRadioProp = "prop_cs_walkie_talkie"
Config.RadioProp = "prop_cs_hand_radio"
Config.PropOffsets = {
["prop_cs_hand_radio"] = {
pos = { x = 0.0, y = 0.0, z = 0.0 },
rot = { x = 0.0, y = 0.0, z = 0.0 }
},
["v_serv_radio"] = {
pos = { x = 0.14, y = 0.02, z = -0.05 },
rot = { x = 0.0, y = 135.0, z = 0.0 }
}
}
Config.CheapRadioSettings = {
MaxDistance = 1000.0,
NoiseStart = 50.0,
BaseFudge = 5.0
}
Config.JammerProp = "h4_prop_h4_jammer_01a"
Config.JammerRange = 100.0
Config.RemoveTime = 3000
Config.PlaceTime = 2000
Config.SonarProp = "w_am_hackdevice_m32"
Config.SonarRange = 50.0
Config.SonarMinDelay = 150
Config.SonarMaxDelay = 1500
Config.RestrictedChannels = {
[1] = { "police", "sheriff", "ambulance" },
[2] = { "police", "ambulance" },
}
Config.Messages = {
restricted = "This channel is encrypted. You do not have access.",
jammer_place = "Placing Signal Jammer...",
jammer_remove = "Disabling Jammer...",
inventory_full = "Jammer dropped on the ground because your inventory is full!",
sonar_on = "Signal Detector Activated",
sonar_off = "Signal Detector Deactivated"
}
Radio
- Voice
- Ox_Lib
- QBX
- QB