First fixes

This commit is contained in:
FlightControl_Master 2017-09-08 10:19:48 +02:00
parent 9dc68fb665
commit 6959f50777
2 changed files with 12 additions and 7 deletions

View File

@ -1239,9 +1239,11 @@ do -- DETECTION_BASE
DetectedItem.FriendliesNearBy = nil
if DetectedUnit then
-- We need to ensure that the DetectedUnit is alive!
if DetectedUnit and DetectedUnit:IsAlive() then
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnit:GetCoordinate()
local DetectedUnitCoord = DetectedUnit:GetCoordinate()
local InterceptCoord = ReportGroupData.InterceptCoord or DetectedUnitCoord
local SphereSearch = {
id = world.VolumeType.SPHERE,
@ -1336,9 +1338,7 @@ do -- DETECTION_BASE
DetectedItem.FriendliesNearBy = DetectedItem.FriendliesNearBy or {}
DetectedItem.FriendliesNearBy[PlayerUnitName] = PlayerUnit
local CenterCoord = DetectedUnit:GetCoordinate()
local Distance = CenterCoord:Get2DDistance( PlayerUnit:GetCoordinate() )
local Distance = DetectedUnitCoord:Get2DDistance( PlayerUnit:GetCoordinate() )
DetectedItem.FriendliesDistance = DetectedItem.FriendliesDistance or {}
DetectedItem.FriendliesDistance[Distance] = PlayerUnit

View File

@ -368,14 +368,19 @@ function CONTROLLABLE:SetTask( DCSTask, WaitTime )
if DCSControllable then
local DCSControllableName = self:GetName()
-- When a controllable SPAWNs, it takes about a second to get the controllable in the simulator. Setting tasks to unspawned controllables provides unexpected results.
-- Therefore we schedule the functions to set the mission and options for the Controllable.
-- Controller.setTask( Controller, DCSTask )
local function SetTask( Controller, DCSTask )
local Controller = self:_GetController()
Controller:setTask( DCSTask )
if self and self:IsAlive() then
local Controller = self:_GetController()
Controller:setTask( DCSTask )
else
error( DCSControllableName .. " is not alive anymore. Cannot set DCSTask " .. DCSTask )
end
end
if not WaitTime or WaitTime == 0 then