The resource uses a modified version of pma-voice that is REQUIRED to integrate the global radio and the units radio.
You can find this modified version in this Download Link
What changes?
The changes do not affect the functionality of the resource and only include new features like:
RegisterCommand('+radioglobaltalk', function()ifGetConvarInt('voice_enableRadios', 1) ~=1thenreturnendifisDead() or LocalPlayer.state.disableRadio thenreturnendifnot LocalPlayer.state['radio_allowed'] thenreturnendifnot LocalPlayer.state['global_radio'] thenreturnendifnot radioPressed and radioEnabled thenif radioChannel >0then logger.info('[radio] Start broadcasting, update targets and notify server.')playerTargets(LocalPlayer.state['global_radio'] or {}, MumbleIsPlayerTalking(PlayerId()) and callData or {})TriggerServerEvent('pma-voice:setTalkingOnRadio', true) radioPressed =trueplayMicClicks(true)ifGetConvarInt('voice_enableRadioAnim', 0) ==1andnot (GetConvarInt('voice_disableVehicleRadioAnim', 0) ==1andIsPedInAnyVehicle(PlayerPedId(), false)) andnot disableRadioAnim thenRequestAnimDict('random@arrests')whilenotHasAnimDictLoaded('random@arrests') doWait(10)endTaskPlayAnim(PlayerPedId(), "random@arrests", "generic_radio_enter", 8.0, 2.0, -1, 50, 2.0, false, false,false)endCreateThread(function()TriggerEvent("pma-voice:radioActive", true)while radioPressed andnot LocalPlayer.state.disableRadio doWait(0)SetControlNormal(0, 249, 1.0)SetControlNormal(1, 249, 1.0)SetControlNormal(2, 249, 1.0)endend)endendend, false)RegisterNetEvent('rcore_dispatch:client:sendBlacklistChannels', function(data)for _, val inpairs(data) dofor _, channel inpairs(val.Units) do channelsDisabled[tonumber(channel[2])] =trueendendend)
This is the main modification, the global radio. Using the exports the resource sets the radio channel of the user. The important modification is this global radio feature which is required to work with the global radio system. Also, the resource includes a system to only allow dispatch users to access to specific radio channels.
If you need to review all the changes to addapt the system to your custom voice system, you can do it here