From 0e46c7b8a1977f7b129a7368ee404cb6a7ea6655 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 26 Feb 2021 20:50:02 +0000 Subject: [PATCH] feat: antenna power sync and control for driver/passenger --- cl_radar.lua | 3 +++ cl_sync.lua | 22 ++++++++++++++++++++++ sv_sync.lua | 5 +++++ 3 files changed, 30 insertions(+) diff --git a/cl_radar.lua b/cl_radar.lua index 7696a54..0cd901c 100644 --- a/cl_radar.lua +++ b/cl_radar.lua @@ -1560,6 +1560,9 @@ RegisterNUICallback( "toggleAntenna", function( data, cb ) -- Play some audio specific to the transmit state SendNUIMessage( { _type = "audio", name = RADAR:IsAntennaTransmitting( data.value ) and "xmit_on" or "xmit_off", vol = RADAR:GetSettingValue( "beep" ) } ) + + -- Sync + SYNC:SendAntennaPowerState( RADAR:IsAntennaTransmitting( data.value ), data.value ) end ) end end diff --git a/cl_sync.lua b/cl_sync.lua index a5078d1..5adc2a8 100644 --- a/cl_sync.lua +++ b/cl_sync.lua @@ -52,6 +52,13 @@ function SYNC:SendPowerState( state ) end ) end +function SYNC:SendAntennaPowerState( state, ant ) + self:SyncData( function( ply ) + TriggerServerEvent( "wk_wars2x_sync:sendAntennaPowerState", ply, state, ant ) + end ) +end + + --[[---------------------------------------------------------------------------------- Sync client events ----------------------------------------------------------------------------------]]-- @@ -64,4 +71,19 @@ AddEventHandler( "wk_wars2x_sync:receivePowerState", function( state ) RADAR:TogglePower() end ) end +end ) + +RegisterNetEvent( "wk_wars2x_sync:receiveAntennaPowerState" ) +AddEventHandler( "wk_wars2x_sync:receiveAntennaPowerState", function( state, antenna ) + local power = RADAR:IsAntennaTransmitting( antenna ) + + if ( power ~= state ) then + RADAR:ToggleAntenna( antenna, function() + -- Update the interface with the new antenna transmit state + SendNUIMessage( { _type = "antennaXmit", ant = antenna, on = state } ) + + -- Play some audio specific to the transmit state + SendNUIMessage( { _type = "audio", name = state and "xmit_on" or "xmit_off", vol = RADAR:GetSettingValue( "beep" ) } ) + end ) + end end ) \ No newline at end of file diff --git a/sv_sync.lua b/sv_sync.lua index 0b672d2..7418df6 100644 --- a/sv_sync.lua +++ b/sv_sync.lua @@ -36,4 +36,9 @@ RegisterNetEvent( "wk_wars2x_sync:sendPowerState" ) AddEventHandler( "wk_wars2x_sync:sendPowerState", function( target, state ) TriggerClientEvent( "wk_wars2x_sync:receivePowerState", target, state ) +end ) + +RegisterNetEvent( "wk_wars2x_sync:sendAntennaPowerState" ) +AddEventHandler( "wk_wars2x_sync:sendAntennaPowerState", function( target, state, ant ) + TriggerClientEvent( "wk_wars2x_sync:receiveAntennaPowerState", target, state, ant ) end ) \ No newline at end of file