Compatibility with pma-voice
This guide explains how to make the Advanced Megaphone System compatible with PMA-Voice.
1. Installation & Basic Setup
Install PMA-Voice and the LATEST version of r_megaphone on your server.
Enable PMA-Voice compatibility in the
config.lua
file of r_megaphone:Open the
config.lua
file of r_megaphone.Modify the following settings:
Config.Compatibility.PMAVoice.enabled = true Config.Compatibility.PMAVoice.resourceName = 'pma-voice'
Manually create the
megaphone.lua
file in pma-voice:Navigate to the folder:
../pma-voice/client/
Create a new file named
megaphone.lua
.
Add the following code to
megaphone.lua
:
You can change the distance of the megaphone's range using the first line.
table.insert(Cfg.voiceModes, {35.0, 'Megaphone'})
exports('setMegaphone', function(previousVoiceRange)
if not previousVoiceRange then
mode = #Cfg.voiceModes
setProximityState(Cfg.voiceModes[#Cfg.voiceModes][1], true)
else
mode = previousVoiceRange
setProximityState(Cfg.voiceModes[previousVoiceRange][1], false)
end
end)
exports('getMegaphone', function()
return mode
end)
RegisterCommand('cycleproximity', function()
if GetConvarInt('voice_enableProximityCycle', 1) ~= 1 or disableProximityCycle then return end
local newMode = mode + 1
if newMode <= #Cfg.voiceModes and newMode ~= #Cfg.voiceModes - 1 then
mode = newMode
else
mode = 1
end
setProximityState(Cfg.voiceModes[mode][1], false)
TriggerEvent('pma-voice:setTalkingMode', mode)
end, false)
if gameVersion == 'fivem' then
RegisterKeyMapping('cycleproximity', 'Cycle Proximity', 'keyboard', GetConvar('voice_defaultCycle', 'F11'))
end
Modify
fxmanifest.lua
in pma-voice:Open the
fxmanifest.lua
file of pma-voice.Add the following line at the end of the file:
client_script 'client/megaphone.lua'
Ensure the correct startup order in
server.cfg
: Make sure pma-voice is started before r_megaphone in yourserver.cfg
:ensure pma-voice ensure r_megaphone
Restart your server to apply the changes.
2. Common Errors & Solutions
Why does this issue occur?
This error typically appears when r_megaphone
is started for the first time without restarting the server. The script tries to auto-generate a file named megaphone.lua
inside the pma-voice
script.
However, it might fail due to:
2.1 Error: r_megaphone
must contain the following line in your server.cfg file to work
r_megaphone
must contain the following line in your server.cfg file to work
Cause: The r_megaphone script needs this line to produce the appropriate voice effects.
Solution:
Check that this line appears in the server.cfg
. If not, add it.
setr voice_enableSubmix 1
2.2 Error: r_megaphone
must be started after pma-voice
in the server.cfg file!
r_megaphone
must be started after pma-voice
in the server.cfg file!
Cause:
r_megaphone
depends on pma-voice
and must load afterward to access its functions.
Solution:
Adjust your server.cfg
:
ensure pma-voice
ensure r_megaphone
Last updated