mirror of
https://github.com/Michatec/wk_wars2x.git
synced 2026-04-01 08:26:27 +02:00
Removed old stage code from RADAR:Main(), changed thread wait
This commit is contained in:
135
cl_radar.lua
135
cl_radar.lua
@@ -926,7 +926,7 @@ Citizen.CreateThread( function()
|
|||||||
while ( true ) do
|
while ( true ) do
|
||||||
RADAR:RunDynamicThreadWaitCheck()
|
RADAR:RunDynamicThreadWaitCheck()
|
||||||
|
|
||||||
Citizen.Wait( 2500 )
|
Citizen.Wait( 2000 )
|
||||||
end
|
end
|
||||||
end )
|
end )
|
||||||
|
|
||||||
@@ -958,98 +958,83 @@ end )
|
|||||||
function RADAR:Main()
|
function RADAR:Main()
|
||||||
-- Check to make sure the player is in the driver's seat, and also that the vehicle has a class of VC_EMERGENCY (18)
|
-- Check to make sure the player is in the driver's seat, and also that the vehicle has a class of VC_EMERGENCY (18)
|
||||||
if ( DoesEntityExist( PLY.veh ) and PLY.inDriverSeat and PLY.vehClassValid and self:CanPerformMainTask() ) then
|
if ( DoesEntityExist( PLY.veh ) and PLY.inDriverSeat and PLY.vehClassValid and self:CanPerformMainTask() ) then
|
||||||
-- local plyVehPos = GetEntityCoords( PLY.veh )
|
local data = {}
|
||||||
|
|
||||||
-- First stage of the radar - get all of the vehicles hit by the radar
|
-- Get the player's vehicle speed
|
||||||
--if ( self:GetRadarStage() == 0 ) then
|
local entSpeed = GetEntitySpeed( PLY.veh )
|
||||||
--[[if ( self:GetRayTraceState() == 0 ) then
|
self:SetPatrolSpeed( entSpeed )
|
||||||
local vehs = self:GetVehiclePool()
|
|
||||||
|
|
||||||
self:ResetCapturedVehicles()
|
if ( entSpeed == 0 ) then
|
||||||
self:ResetRayTraceState()
|
data.patrolSpeed = "¦[]"
|
||||||
self:CreateRayThreads( PLY.veh, vehs )
|
else
|
||||||
elseif ( self:GetRayTraceState() == self:GetNumOfRays() ) then
|
local speed = self:GetVehSpeedFormatted( entSpeed )
|
||||||
self:IncreaseRadarStage()]]
|
data.patrolSpeed = UTIL:FormatSpeed( speed )
|
||||||
--end
|
end
|
||||||
--elseif ( self:GetRadarStage() == 1 ) then
|
|
||||||
local data = {}
|
|
||||||
|
|
||||||
-- Get the player's vehicle speed
|
-- Only grab data to send if there have actually been vehicles captured by the radar
|
||||||
local entSpeed = GetEntitySpeed( PLY.veh )
|
if ( not UTIL:IsTableEmpty( self:GetCapturedVehicles() ) ) then
|
||||||
self:SetPatrolSpeed( entSpeed )
|
local vehsForDisplay = self:GetVehiclesForAntenna()
|
||||||
|
|
||||||
if ( entSpeed == 0 ) then
|
self:SetActiveVehicles( vehsForDisplay )
|
||||||
data.patrolSpeed = "¦[]"
|
else
|
||||||
else
|
self:SetActiveVehicles( { ["front"] = { nil, nil }, ["rear"] = { nil, nil } } )
|
||||||
local speed = self:GetVehSpeedFormatted( entSpeed )
|
end
|
||||||
data.patrolSpeed = UTIL:FormatSpeed( speed )
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Only grab data to send if there have actually been vehicles captured by the radar
|
-- Work out what has to be sent
|
||||||
if ( not UTIL:IsTableEmpty( self:GetCapturedVehicles() ) ) then
|
local av = self:GetActiveVehicles()
|
||||||
local vehsForDisplay = self:GetVehiclesForAntenna()
|
data.antennas = { ["front"] = nil, ["rear"] = nil }
|
||||||
|
|
||||||
self:SetActiveVehicles( vehsForDisplay )
|
for ant in UTIL:Values( { "front", "rear" } ) do
|
||||||
else
|
if ( self:IsAntennaTransmitting( ant ) ) then
|
||||||
self:SetActiveVehicles( { ["front"] = { nil, nil }, ["rear"] = { nil, nil } } )
|
data.antennas[ant] = {}
|
||||||
end
|
|
||||||
|
|
||||||
-- Work out what has to be sent
|
for i = 1, 2 do
|
||||||
local av = self:GetActiveVehicles()
|
data.antennas[ant][i] = { speed = "¦¦¦", dir = 0 }
|
||||||
data.antennas = { ["front"] = nil, ["rear"] = nil }
|
|
||||||
|
|
||||||
for ant in UTIL:Values( { "front", "rear" } ) do
|
if ( i == 2 and self:IsAntennaSpeedLocked( ant ) ) then
|
||||||
if ( self:IsAntennaTransmitting( ant ) ) then
|
data.antennas[ant][i].speed = self.vars.antennas[ant].lockedSpeed
|
||||||
data.antennas[ant] = {}
|
data.antennas[ant][i].dir = self.vars.antennas[ant].lockedDir
|
||||||
|
else
|
||||||
|
-- The vehicle data exists for this slot
|
||||||
|
if ( av[ant][i] ~= nil ) then
|
||||||
|
-- We already have the vehicle speed as we needed it earlier on for filtering
|
||||||
|
local uSpeed = GetEntitySpeed( av[ant][i].veh )
|
||||||
|
data.antennas[ant][i].speed = UTIL:FormatSpeed( self:GetVehSpeedFormatted( uSpeed ) )
|
||||||
|
|
||||||
for i = 1, 2 do
|
-- Work out if the vehicle is closing or away
|
||||||
data.antennas[ant][i] = { speed = "¦¦¦", dir = 0 }
|
local ownH = UTIL:Round( GetEntityHeading( PLY.veh ), 0 )
|
||||||
|
local tarH = UTIL:Round( GetEntityHeading( av[ant][i].veh ), 0 )
|
||||||
|
data.antennas[ant][i].dir = UTIL:GetEntityRelativeDirection( ownH, tarH )
|
||||||
|
|
||||||
if ( i == 2 and self:IsAntennaSpeedLocked( ant ) ) then
|
-- Set the internal antenna data as this actual dataset is valid
|
||||||
data.antennas[ant][i].speed = self.vars.antennas[ant].lockedSpeed
|
if ( i % 2 == 0 ) then
|
||||||
data.antennas[ant][i].dir = self.vars.antennas[ant].lockedDir
|
self:SetAntennaFastSpeed( ant, data.antennas[ant][i].speed )
|
||||||
else
|
self:SetAntennaFastDir( ant, data.antennas[ant][i].dir )
|
||||||
-- The vehicle data exists for this slot
|
|
||||||
if ( av[ant][i] ~= nil ) then
|
|
||||||
-- We already have the vehicle speed as we needed it earlier on for filtering
|
|
||||||
local uSpeed = GetEntitySpeed( av[ant][i].veh )
|
|
||||||
data.antennas[ant][i].speed = UTIL:FormatSpeed( self:GetVehSpeedFormatted( uSpeed ) )
|
|
||||||
|
|
||||||
-- Work out if the vehicle is closing or away
|
|
||||||
local ownH = UTIL:Round( GetEntityHeading( PLY.veh ), 0 )
|
|
||||||
local tarH = UTIL:Round( GetEntityHeading( av[ant][i].veh ), 0 )
|
|
||||||
data.antennas[ant][i].dir = UTIL:GetEntityRelativeDirection( ownH, tarH )
|
|
||||||
|
|
||||||
-- Set the internal antenna data as this actual dataset is valid
|
|
||||||
if ( i % 2 == 0 ) then
|
|
||||||
self:SetAntennaFastSpeed( ant, data.antennas[ant][i].speed )
|
|
||||||
self:SetAntennaFastDir( ant, data.antennas[ant][i].dir )
|
|
||||||
else
|
|
||||||
self:SetAntennaSpeed( ant, data.antennas[ant][i].speed )
|
|
||||||
self:SetAntennaDir( ant, data.antennas[ant][i].dir )
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
-- If the active vehicle is not valid, we reset the internal data
|
self:SetAntennaSpeed( ant, data.antennas[ant][i].speed )
|
||||||
if ( i % 2 == 0 ) then
|
self:SetAntennaDir( ant, data.antennas[ant][i].dir )
|
||||||
self:SetAntennaFastSpeed( ant, nil )
|
|
||||||
self:SetAntennaFastDir( ant, nil )
|
|
||||||
else
|
|
||||||
self:SetAntennaSpeed( ant, nil )
|
|
||||||
self:SetAntennaDir( ant, nil )
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
-- If the active vehicle is not valid, we reset the internal data
|
||||||
|
if ( i % 2 == 0 ) then
|
||||||
|
self:SetAntennaFastSpeed( ant, nil )
|
||||||
|
self:SetAntennaFastDir( ant, nil )
|
||||||
|
else
|
||||||
|
self:SetAntennaSpeed( ant, nil )
|
||||||
|
self:SetAntennaDir( ant, nil )
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Send the update to the NUI side
|
-- Send the update to the NUI side
|
||||||
SendNUIMessage( { _type = "update", speed = data.patrolSpeed, antennas = data.antennas } )
|
SendNUIMessage( { _type = "update", speed = data.patrolSpeed, antennas = data.antennas } )
|
||||||
|
|
||||||
self:ResetTempVehicleIDs()
|
self:ResetTempVehicleIDs()
|
||||||
self:ResetRadarStage()
|
self:ResetRadarStage()
|
||||||
self:ResetRayTraceState()
|
self:ResetRayTraceState()
|
||||||
--end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user