Range Radio Menu Hotfix

Root radio menu bug fixed when multiple ranges are defined.
Fixed crash in OnEventHit when player died.
This commit is contained in:
funkyfranky
2018-03-22 19:43:17 +01:00
parent c59ed155e6
commit 089306b36d

View File

@@ -217,6 +217,10 @@ RANGE={
eventmoose=true, eventmoose=true,
} }
--- Main radio menu.
-- @field #table MenuF10
RANGE.MenuF10={}
--- Some ID to identify who we are in output of the DCS.log file. --- Some ID to identify who we are in output of the DCS.log file.
-- @field #string id -- @field #string id
RANGE.id="RANGE | " RANGE.id="RANGE | "
@@ -716,20 +720,25 @@ function RANGE:OnEventHit(EventData)
--function RANGE:_OnHit(EventData) --function RANGE:_OnHit(EventData)
self:F({eventhit = EventData}) self:F({eventhit = EventData})
-- Debug info.
self:T3(RANGE.id.."HIT: Ini unit = "..tostring(EventData.IniUnitName))
self:T3(RANGE.id.."HIT: Ini group = "..tostring(EventData.IniGroupName))
self:T3(RANGE.id.."HIT: Tgt target = "..tostring(EventData.TgtUnitName))
-- Player info -- Player info
local _unitName = EventData.IniUnitName local _unitName = EventData.IniUnitName
local _unit, _playername = self:_GetPlayerUnitAndName(_unitName) local _unit, _playername = self:_GetPlayerUnitAndName(_unitName)
if _unit==nil or _playername==nil then
return
end
-- Unit ID
local _unitID = _unit:GetID() local _unitID = _unit:GetID()
-- Target -- Target
local target = EventData.TgtUnit local target = EventData.TgtUnit
local targetname = EventData.TgtUnitName local targetname = EventData.TgtUnitName
-- Debug info.
self:T3(RANGE.id.."HIT: Ini unit = "..tostring(EventData.IniUnitName))
self:T3(RANGE.id.."HIT: Ini group = "..tostring(EventData.IniGroupName))
self:T3(RANGE.id.."HIT: Tgt target = "..tostring(EventData.TgtUnitName))
-- Current strafe target of player. -- Current strafe target of player.
local _currentTarget = self.strafeStatus[_unitID] local _currentTarget = self.strafeStatus[_unitID]
@@ -1485,8 +1494,10 @@ function RANGE:_AddF10Commands(_unitName)
self.MenuAddedTo[_gid] = true self.MenuAddedTo[_gid] = true
-- Main F10 menu: F10/On the Range -- Main F10 menu: F10/On the Range
local _rootPath = missionCommands.addSubMenuForGroup(_gid, "On the Range") if RANGE.MenuF10[_gid] == nil then
local _rangePath = missionCommands.addSubMenuForGroup(_gid, self.rangename, _rootPath) RANGE.MenuF10[_gid]=missionCommands.addSubMenuForGroup(_gid, "On the Range")
end
local _rangePath = missionCommands.addSubMenuForGroup(_gid, self.rangename, RANGE.MenuF10[_gid])
local _statsPath = missionCommands.addSubMenuForGroup(_gid, "Statistics", _rangePath) local _statsPath = missionCommands.addSubMenuForGroup(_gid, "Statistics", _rangePath)
local _markPath = missionCommands.addSubMenuForGroup(_gid, "Mark Targets", _rangePath) local _markPath = missionCommands.addSubMenuForGroup(_gid, "Mark Targets", _rangePath)
local _settingsPath = missionCommands.addSubMenuForGroup(_gid, "My Settings", _rangePath) local _settingsPath = missionCommands.addSubMenuForGroup(_gid, "My Settings", _rangePath)