64 lines
1.6 KiB
Lua
64 lines
1.6 KiB
Lua
local callChannel = 0
|
|
|
|
RegisterNetEvent('pma-voice:syncCallData', function(callTable, channel)
|
|
callData = callTable
|
|
for tgt, _ in pairs(callTable) do
|
|
if tgt ~= playerServerId then
|
|
toggleVoice(tgt, true, 'call')
|
|
end
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent('pma-voice:addPlayerToCall', function(plySource)
|
|
toggleVoice(plySource, true, 'call')
|
|
callData[plySource] = true
|
|
end)
|
|
|
|
RegisterNetEvent('pma-voice:removePlayerFromCall', function(plySource)
|
|
if plySource == playerServerId then
|
|
for tgt, _ in pairs(callData) do
|
|
if tgt ~= playerServerId then
|
|
toggleVoice(tgt, false, 'call')
|
|
end
|
|
end
|
|
callData = {}
|
|
MumbleClearVoiceTargetPlayers(voiceTarget)
|
|
playerTargets(radioPressed and radioData or {}, callData)
|
|
else
|
|
callData[plySource] = nil
|
|
toggleVoice(plySource, false, 'call')
|
|
if MumbleIsPlayerTalking(PlayerId()) then
|
|
MumbleClearVoiceTargetPlayers(voiceTarget)
|
|
playerTargets(radioPressed and radioData or {}, callData)
|
|
end
|
|
end
|
|
end)
|
|
|
|
function setCallChannel(channel)
|
|
if GetConvarInt('voice_enableCalls', 1) ~= 1 then return end
|
|
TriggerServerEvent('pma-voice:setPlayerCall', channel)
|
|
callChannel = channel
|
|
sendUIMessage({
|
|
callInfo = channel
|
|
})
|
|
end
|
|
|
|
exports('setCallChannel', setCallChannel)
|
|
exports('SetCallChannel', setCallChannel)
|
|
|
|
exports('addPlayerToCall', function(_call)
|
|
local call = tonumber(_call)
|
|
if call then
|
|
setCallChannel(call)
|
|
end
|
|
end)
|
|
exports('removePlayerFromCall', function()
|
|
setCallChannel(0)
|
|
end)
|
|
|
|
RegisterNetEvent('pma-voice:clSetPlayerCall', function(_callChannel)
|
|
if GetConvarInt('voice_enableCalls', 1) ~= 1 then return end
|
|
callChannel = _callChannel
|
|
createCallThread()
|
|
end)
|