feat: operator menu settings sent to passenger on change

This commit is contained in:
Dan
2021-03-14 20:12:25 +00:00
parent 55b5a90a28
commit 1ebaab9665
3 changed files with 29 additions and 0 deletions

View File

@@ -335,6 +335,10 @@ function RADAR:GetRadarDataForSync()
} }
end end
function RADAR:GetOMTableData()
return self.vars.settings
end
-- Sets the operator menu settings table within the radar's main variables table -- Sets the operator menu settings table within the radar's main variables table
function RADAR:SetOMTableData( data ) function RADAR:SetOMTableData( data )
if ( type( data ) == "table" ) then if ( type( data ) == "table" ) then
@@ -772,6 +776,12 @@ function RADAR:CloseMenu( playAudio )
-- Save the operator menu values -- Save the operator menu values
local omData = json.encode( RADAR.vars.settings ) local omData = json.encode( RADAR.vars.settings )
SetResourceKvp( "wk_wars2x_om_data", omData ) SetResourceKvp( "wk_wars2x_om_data", omData )
-- Send the operator menu to the passenger if allowed
if ( self:IsPassengerViewAllowed() ) then
local updatedOMData = self:GetOMTableData()
SYNC:SendUpdatedOMData( updatedOMData )
end
end end
-- Returns if the operator menu is open -- Returns if the operator menu is open

View File

@@ -90,6 +90,12 @@ function SYNC:LockAntennaSpeed( ant, data )
end ) end )
end end
function SYNC:SendUpdatedOMData( data )
self:SyncData( function( ply )
TriggerServerEvent( "wk_wars2x_sync:sendUpdatedOMData", ply, data )
end )
end
-- Requests radar data from the driver if the player has just entered a valid vehicle as a front seat passenger -- Requests radar data from the driver if the player has just entered a valid vehicle as a front seat passenger
function SYNC:SyncDataOnEnter() function SYNC:SyncDataOnEnter()
-- Make sure passenger view is allowed, also, using PLY:IsPassenger() already checks that the player's -- Make sure passenger view is allowed, also, using PLY:IsPassenger() already checks that the player's
@@ -168,3 +174,11 @@ RegisterNetEvent( "wk_wars2x_sync:receiveRadarData" )
AddEventHandler( "wk_wars2x_sync:receiveRadarData", function( data ) AddEventHandler( "wk_wars2x_sync:receiveRadarData", function( data )
RADAR:LoadDataFromDriver( data ) RADAR:LoadDataFromDriver( data )
end ) end )
RegisterNetEvent( "wk_wars2x_sync:receiveUpdatedOMData" )
AddEventHandler( "wk_wars2x_sync:receiveUpdatedOMData", function( data )
if ( PLY:IsPassenger() and RADAR:IsThereBackupData() ) then
RADAR:SetOMTableData( data )
RADAR:SendSettingUpdate()
end
end )

View File

@@ -72,3 +72,8 @@ RegisterNetEvent( "wk_wars2x_sync:sendRadarDataForPassenger" )
AddEventHandler( "wk_wars2x_sync:sendRadarDataForPassenger", function( playerFor, data ) AddEventHandler( "wk_wars2x_sync:sendRadarDataForPassenger", function( playerFor, data )
TriggerClientEvent( "wk_wars2x_sync:receiveRadarData", playerFor, data ) TriggerClientEvent( "wk_wars2x_sync:receiveRadarData", playerFor, data )
end ) end )
RegisterNetEvent( "wk_wars2x_sync:sendUpdatedOMData" )
AddEventHandler( "wk_wars2x_sync:sendUpdatedOMData", function( playerFor, data )
TriggerClientEvent( "wk_wars2x_sync:receiveUpdatedOMData", playerFor, data )
end )