Scripts/resources/[voice]/pma-voice/client/module/phone.lua

64 lines
1.6 KiB
Lua
Raw Normal View History

2024-12-29 20:02:57 +00:00
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)