mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
AIRBOSS v0.8.0
This commit is contained in:
parent
acd6e0f423
commit
47dd068655
@ -322,6 +322,9 @@ function SPAWN:New( SpawnTemplatePrefix )
|
|||||||
self.Grouping = nil -- No grouping.
|
self.Grouping = nil -- No grouping.
|
||||||
self.SpawnInitLivery = nil -- No special livery.
|
self.SpawnInitLivery = nil -- No special livery.
|
||||||
self.SpawnInitSkill = nil -- No special skill.
|
self.SpawnInitSkill = nil -- No special skill.
|
||||||
|
self.SpawnInitFreq = nil -- No special frequency.
|
||||||
|
self.SpawnInitModu = nil -- No special modulation.
|
||||||
|
self.SpawnInitRadio = nil -- No radio comms setting.
|
||||||
|
|
||||||
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
||||||
else
|
else
|
||||||
@ -370,6 +373,9 @@ function SPAWN:NewWithAlias( SpawnTemplatePrefix, SpawnAliasPrefix )
|
|||||||
self.Grouping = nil -- No grouping.
|
self.Grouping = nil -- No grouping.
|
||||||
self.SpawnInitLivery = nil -- No special livery.
|
self.SpawnInitLivery = nil -- No special livery.
|
||||||
self.SpawnInitSkill = nil -- No special skill.
|
self.SpawnInitSkill = nil -- No special skill.
|
||||||
|
self.SpawnInitFreq = nil -- No special frequency.
|
||||||
|
self.SpawnInitModu = nil -- No special modulation.
|
||||||
|
self.SpawnInitRadio = nil -- No radio comms setting.
|
||||||
|
|
||||||
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
||||||
else
|
else
|
||||||
@ -421,6 +427,9 @@ function SPAWN:NewFromTemplate( SpawnTemplate, SpawnTemplatePrefix, SpawnAliasPr
|
|||||||
self.Grouping = nil -- No grouping.
|
self.Grouping = nil -- No grouping.
|
||||||
self.SpawnInitLivery = nil -- No special livery.
|
self.SpawnInitLivery = nil -- No special livery.
|
||||||
self.SpawnInitSkill = nil -- No special skill.
|
self.SpawnInitSkill = nil -- No special skill.
|
||||||
|
self.SpawnInitFreq = nil -- No special frequency.
|
||||||
|
self.SpawnInitModu = nil -- No special modulation.
|
||||||
|
self.SpawnInitRadio = nil -- No radio comms setting.
|
||||||
|
|
||||||
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
self.SpawnGroups = {} -- Array containing the descriptions of each Group to be Spawned.
|
||||||
else
|
else
|
||||||
@ -597,6 +606,42 @@ function SPAWN:InitSkill( Skill )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Sets the radio comms on or off. Same as checking/unchecking the COMM box in the mission editor.
|
||||||
|
-- @param #SPAWN self
|
||||||
|
-- @param #number switch If true (or nil), enables the radio comms. If false, disables the radio for the spawned group.
|
||||||
|
-- @return #SPAWN self
|
||||||
|
function SPAWN:InitRadioCommsOnOff(switch)
|
||||||
|
self:F({switch=switch} )
|
||||||
|
self.SpawnInitRadio=switch or true
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Sets the radio frequency of the group.
|
||||||
|
-- @param #SPAWN self
|
||||||
|
-- @param #number frequency The frequency in MHz.
|
||||||
|
-- @return #SPAWN self
|
||||||
|
function SPAWN:InitRadioFrequency(frequency)
|
||||||
|
self:F({frequency=frequency} )
|
||||||
|
|
||||||
|
self.SpawnInitFreq=frequency
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Set radio modulation. Default is AM.
|
||||||
|
-- @param #SPAWN self
|
||||||
|
-- @param #string modulation Either "FM" or "AM". If no value is given, modulation is set to AM.
|
||||||
|
-- @return #SPAWN self
|
||||||
|
function SPAWN:InitRadioModulation(modulation)
|
||||||
|
self:F({modulation=modulation})
|
||||||
|
if modulation and modulation:lower()=="fm" then
|
||||||
|
self.SpawnInitModu=radio.modulation.FM
|
||||||
|
else
|
||||||
|
self.SpawnInitModu=radio.modulation.AM
|
||||||
|
end
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Randomizes the defined route of the SpawnTemplatePrefix group in the ME. This is very useful to define extra variation of the behaviour of groups.
|
--- Randomizes the defined route of the SpawnTemplatePrefix group in the ME. This is very useful to define extra variation of the behaviour of groups.
|
||||||
-- @param #SPAWN self
|
-- @param #SPAWN self
|
||||||
@ -1174,6 +1219,22 @@ function SPAWN:SpawnWithIndex( SpawnIndex )
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- Set radio comms on/off.
|
||||||
|
if self.SpawnInitRadio then
|
||||||
|
SpawnTemplate.communication=self.SpawnInitRadio
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set radio frequency.
|
||||||
|
if self.SpawnInitFreq then
|
||||||
|
SpawnTemplate.frequency=self.SpawnInitFreq
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set radio modulation.
|
||||||
|
if self.SpawnInitModu then
|
||||||
|
SpawnTemplate.modulation=self.SpawnInitModu
|
||||||
|
end
|
||||||
|
|
||||||
-- Set country, coaliton and categroy.
|
-- Set country, coaliton and categroy.
|
||||||
SpawnTemplate.CategoryID = self.SpawnInitCategory or SpawnTemplate.CategoryID
|
SpawnTemplate.CategoryID = self.SpawnInitCategory or SpawnTemplate.CategoryID
|
||||||
SpawnTemplate.CountryID = self.SpawnInitCountry or SpawnTemplate.CountryID
|
SpawnTemplate.CountryID = self.SpawnInitCountry or SpawnTemplate.CountryID
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -35,6 +35,8 @@
|
|||||||
-- @field #string TACANmode TACAN mode, i.e. "X" or "Y". Default "Y". Use only "Y" for AA TACAN stations!
|
-- @field #string TACANmode TACAN mode, i.e. "X" or "Y". Default "Y". Use only "Y" for AA TACAN stations!
|
||||||
-- @field #string TACANmorse TACAN morse code. Three letters identifying the TACAN station. Default "TKR".
|
-- @field #string TACANmorse TACAN morse code. Three letters identifying the TACAN station. Default "TKR".
|
||||||
-- @field #boolean TACANon If true, TACAN is automatically activated. If false, TACAN is disabled.
|
-- @field #boolean TACANon If true, TACAN is automatically activated. If false, TACAN is disabled.
|
||||||
|
-- @field #number RadioFreq Radio frequency in MHz of the tanker. Default 251 MHz.
|
||||||
|
-- @field #string RadioModu Radio modulation "AM" or "FM". Default "AM".
|
||||||
-- @field #number speed Tanker speed when flying pattern.
|
-- @field #number speed Tanker speed when flying pattern.
|
||||||
-- @field #number altitude Tanker orbit pattern altitude.
|
-- @field #number altitude Tanker orbit pattern altitude.
|
||||||
-- @field #number distStern Race-track distance astern. distStern is <0.
|
-- @field #number distStern Race-track distance astern. distStern is <0.
|
||||||
@ -154,6 +156,19 @@
|
|||||||
--
|
--
|
||||||
-- In order to completely disable the TACAN beacon, you can use the @{#RECOVERYTANKER.SetTACANoff}() function in your script.
|
-- In order to completely disable the TACAN beacon, you can use the @{#RECOVERYTANKER.SetTACANoff}() function in your script.
|
||||||
--
|
--
|
||||||
|
-- ## Radio
|
||||||
|
--
|
||||||
|
-- The radio frequency on optionally modulation can be set via the @{#RECOVERYTANKER.SetRadio}(*frequency*, *modulation*) function. The first parameter denotes the radio frequency the tanker uses in MHz.
|
||||||
|
-- The second parameter is *optional* and sets the modulation to either AM (default) or FM.
|
||||||
|
--
|
||||||
|
-- For example,
|
||||||
|
--
|
||||||
|
-- TexacoStennis:SetRadio(260)
|
||||||
|
--
|
||||||
|
-- will set the frequency of the tanker to 260 MHz AM.
|
||||||
|
--
|
||||||
|
-- **Note** that if this is not set, the tanker frequency will be automatically set to **251 MHz AM**.
|
||||||
|
--
|
||||||
-- ## Pattern Update
|
-- ## Pattern Update
|
||||||
--
|
--
|
||||||
-- The pattern of the tanker is updated if at least one of the two following conditions apply:
|
-- The pattern of the tanker is updated if at least one of the two following conditions apply:
|
||||||
@ -217,6 +232,8 @@ RECOVERYTANKER = {
|
|||||||
TACANmode = nil,
|
TACANmode = nil,
|
||||||
TACANmorse = nil,
|
TACANmorse = nil,
|
||||||
TACANon = nil,
|
TACANon = nil,
|
||||||
|
RadioFreq = nil,
|
||||||
|
RadioModu = nil,
|
||||||
altitude = nil,
|
altitude = nil,
|
||||||
speed = nil,
|
speed = nil,
|
||||||
distStern = nil,
|
distStern = nil,
|
||||||
@ -237,7 +254,7 @@ RECOVERYTANKER = {
|
|||||||
|
|
||||||
--- Class version.
|
--- Class version.
|
||||||
-- @field #string version
|
-- @field #string version
|
||||||
RECOVERYTANKER.version="1.0.1"
|
RECOVERYTANKER.version="1.0.2"
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
-- TODO list
|
-- TODO list
|
||||||
@ -297,6 +314,7 @@ function RECOVERYTANKER:New(carrierunit, tankergroupname)
|
|||||||
self:SetLowFuelThreshold()
|
self:SetLowFuelThreshold()
|
||||||
self:SetRespawnOnOff()
|
self:SetRespawnOnOff()
|
||||||
self:SetTACAN()
|
self:SetTACAN()
|
||||||
|
self:SetRadio()
|
||||||
self:SetPatternUpdateDistance()
|
self:SetPatternUpdateDistance()
|
||||||
self:SetPatternUpdateHeading()
|
self:SetPatternUpdateHeading()
|
||||||
self:SetPatternUpdateInterval()
|
self:SetPatternUpdateInterval()
|
||||||
@ -623,6 +641,17 @@ function RECOVERYTANKER:SetTACAN(channel, morse)
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Set radio frequency and optionally modulation of the tanker.
|
||||||
|
-- @param #RECOVERYTANKER self
|
||||||
|
-- @param #number frequency Radio frequency in MHz. Default 251 MHz.
|
||||||
|
-- @param #string modulation Radio modulation, either "AM" or "FM". Default "AM".
|
||||||
|
-- @return #RECOVERYTANKER self
|
||||||
|
function RECOVERYTANKER:SetRadio(frequency, modulation)
|
||||||
|
self.RadioFreq=frequency or 251
|
||||||
|
self.RadioModu=modulation or "AM"
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Activate debug mode. Marks of pattern on F10 map and debug messages displayed on screen.
|
--- Activate debug mode. Marks of pattern on F10 map and debug messages displayed on screen.
|
||||||
-- @param #RECOVERYTANKER self
|
-- @param #RECOVERYTANKER self
|
||||||
-- @return #RECOVERYTANKER self
|
-- @return #RECOVERYTANKER self
|
||||||
@ -692,6 +721,11 @@ function RECOVERYTANKER:onafterStart(From, Event, To)
|
|||||||
-- Spawn tanker. We need to introduce an alias in case this class is used twice. This would confuse the spawn routine.
|
-- Spawn tanker. We need to introduce an alias in case this class is used twice. This would confuse the spawn routine.
|
||||||
local Spawn=SPAWN:NewWithAlias(self.tankergroupname, tankergroupalias)
|
local Spawn=SPAWN:NewWithAlias(self.tankergroupname, tankergroupalias)
|
||||||
|
|
||||||
|
-- Set radio frequency and modulation.
|
||||||
|
Spawn:InitRadioCommsOnOff(true)
|
||||||
|
Spawn:InitRadioFrequency(self.RadioFreq)
|
||||||
|
Spawn:InitRadioModulation(self.RadioModu)
|
||||||
|
|
||||||
-- Spawn on carrier.
|
-- Spawn on carrier.
|
||||||
if self.takeoff==SPAWN.Takeoff.Air then
|
if self.takeoff==SPAWN.Takeoff.Air then
|
||||||
|
|
||||||
@ -789,8 +823,15 @@ function RECOVERYTANKER:onafterStatus(From, Event, To)
|
|||||||
MESSAGE:New(text, 10, "DEBUG"):ToAllIf(self.Debug)
|
MESSAGE:New(text, 10, "DEBUG"):ToAllIf(self.Debug)
|
||||||
self:T(self.lid..text)
|
self:T(self.lid..text)
|
||||||
|
|
||||||
-- Respawn tanker.
|
-- Set heading for respawn template.
|
||||||
self.tanker:InitHeading(self.tanker:GetHeading())
|
self.tanker:InitHeading(self.tanker:GetHeading())
|
||||||
|
|
||||||
|
-- Set radio for respawn template.
|
||||||
|
self.tanker:InitRadioCommsOnOff(true)
|
||||||
|
self.tanker:InitRadioFrequency(self.RadioFreq)
|
||||||
|
self.tanker:InitRadioModulation(self.RadioModu)
|
||||||
|
|
||||||
|
-- Respawn tanker.
|
||||||
self.tanker=self.tanker:Respawn(nil, true)
|
self.tanker=self.tanker:Respawn(nil, true)
|
||||||
|
|
||||||
-- Create tanker beacon and activate TACAN.
|
-- Create tanker beacon and activate TACAN.
|
||||||
@ -964,8 +1005,12 @@ function RECOVERYTANKER:OnEventEngineShutdown(EventData)
|
|||||||
MESSAGE:New(text, 10, "DEBUG"):ToAllIf(self.Debug)
|
MESSAGE:New(text, 10, "DEBUG"):ToAllIf(self.Debug)
|
||||||
self:T(self.lid..text)
|
self:T(self.lid..text)
|
||||||
|
|
||||||
|
-- Set radio for respawn template.
|
||||||
|
group:InitRadioCommsOnOff(true)
|
||||||
|
group:InitRadioFrequency(self.RadioFreq)
|
||||||
|
group:InitRadioModulation(self.RadioModu)
|
||||||
|
|
||||||
-- Respawn tanker.
|
-- Respawn tanker.
|
||||||
--self.tanker=group:RespawnAtCurrentAirbase()
|
|
||||||
-- Delaying respawn due to DCS bug https://github.com/FlightControl-Master/MOOSE/issues/1076
|
-- Delaying respawn due to DCS bug https://github.com/FlightControl-Master/MOOSE/issues/1076
|
||||||
SCHEDULER:New(nil , group.RespawnAtCurrentAirbase, {group}, 1)
|
SCHEDULER:New(nil , group.RespawnAtCurrentAirbase, {group}, 1)
|
||||||
|
|
||||||
|
|||||||
@ -219,50 +219,62 @@ AIRBASE.Normandy = {
|
|||||||
|
|
||||||
--- These are all airbases of the Persion Gulf Map:
|
--- These are all airbases of the Persion Gulf Map:
|
||||||
--
|
--
|
||||||
-- * AIRBASE.PersianGulf.Fujairah_Intl
|
|
||||||
-- * AIRBASE.PersianGulf.Qeshm_Island
|
|
||||||
-- * AIRBASE.PersianGulf.Sir_Abu_Nuayr
|
|
||||||
-- * AIRBASE.PersianGulf.Abu_Musa_Island_Airport
|
-- * AIRBASE.PersianGulf.Abu_Musa_Island_Airport
|
||||||
-- * AIRBASE.PersianGulf.Bandar_Abbas_Intl
|
-- * AIRBASE.PersianGulf.Bandar_Abbas_Intl
|
||||||
-- * AIRBASE.PersianGulf.Bandar_Lengeh
|
-- * AIRBASE.PersianGulf.Bandar_Lengeh
|
||||||
-- * AIRBASE.PersianGulf.Tunb_Island_AFB
|
|
||||||
-- * AIRBASE.PersianGulf.Havadarya
|
|
||||||
-- * AIRBASE.PersianGulf.Lar_Airbase
|
|
||||||
-- * AIRBASE.PersianGulf.Sirri_Island
|
|
||||||
-- * AIRBASE.PersianGulf.Tunb_Kochak
|
|
||||||
-- * AIRBASE.PersianGulf.Al_Dhafra_AB
|
-- * AIRBASE.PersianGulf.Al_Dhafra_AB
|
||||||
-- * AIRBASE.PersianGulf.Dubai_Intl
|
-- * AIRBASE.PersianGulf.Dubai_Intl
|
||||||
-- * AIRBASE.PersianGulf.Al_Maktoum_Intl
|
-- * AIRBASE.PersianGulf.Al_Maktoum_Intl
|
||||||
|
-- * AIRBASE.PersianGulf.Fujairah_Intl
|
||||||
|
-- * AIRBASE.PersianGulf.Tunb_Island_AFB
|
||||||
|
-- * AIRBASE.PersianGulf.Havadarya
|
||||||
-- * AIRBASE.PersianGulf.Khasab
|
-- * AIRBASE.PersianGulf.Khasab
|
||||||
|
-- * AIRBASE.PersianGulf.Lar_Airbase
|
||||||
-- * AIRBASE.PersianGulf.Al_Minhad_AB
|
-- * AIRBASE.PersianGulf.Al_Minhad_AB
|
||||||
|
-- * AIRBASE.PersianGulf.Qeshm_Island
|
||||||
-- * AIRBASE.PersianGulf.Sharjah_Intl
|
-- * AIRBASE.PersianGulf.Sharjah_Intl
|
||||||
-- * AIRBASE.PersianGulf.Shiraz_International_Airport
|
-- * AIRBASE.PersianGulf.Sirri_Island
|
||||||
|
-- * AIRBASE.PersianGulf.Tunb_Kochak
|
||||||
|
-- * AIRBASE.PersianGulf.Sir_Abu_Nuayr
|
||||||
-- * AIRBASE.PersianGulf.Kerman_Airport
|
-- * AIRBASE.PersianGulf.Kerman_Airport
|
||||||
-- * AIRBASE.PersianGulf.Jiroft_Airport
|
-- * AIRBASE.PersianGulf.Shiraz_International_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Sas_Al_Nakheel_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Bandar-e-Jask_airfield
|
||||||
|
-- * AIRBASE.PersianGulf.Abu_Dhabi_International_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Al-Bateen_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Kish_International_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Al_Ain_International_Airport
|
||||||
-- * AIRBASE.PersianGulf.Lavan_Island_Airport
|
-- * AIRBASE.PersianGulf.Lavan_Island_Airport
|
||||||
|
-- * AIRBASE.PersianGulf.Jiroft_Airport
|
||||||
-- @field PersianGulf
|
-- @field PersianGulf
|
||||||
AIRBASE.PersianGulf = {
|
AIRBASE.PersianGulf = {
|
||||||
["Fujairah_Intl"] = "Fujairah Intl",
|
|
||||||
["Qeshm_Island"] = "Qeshm Island",
|
|
||||||
["Sir_Abu_Nuayr"] = "Sir Abu Nuayr",
|
|
||||||
["Abu_Musa_Island_Airport"] = "Abu Musa Island Airport",
|
["Abu_Musa_Island_Airport"] = "Abu Musa Island Airport",
|
||||||
["Bandar_Abbas_Intl"] = "Bandar Abbas Intl",
|
["Bandar_Abbas_Intl"] = "Bandar Abbas Intl",
|
||||||
["Bandar_Lengeh"] = "Bandar Lengeh",
|
["Bandar_Lengeh"] = "Bandar Lengeh",
|
||||||
["Tunb_Island_AFB"] = "Tunb Island AFB",
|
|
||||||
["Havadarya"] = "Havadarya",
|
|
||||||
["Lar_Airbase"] = "Lar Airbase",
|
|
||||||
["Sirri_Island"] = "Sirri Island",
|
|
||||||
["Tunb_Kochak"] = "Tunb Kochak",
|
|
||||||
["Al_Dhafra_AB"] = "Al Dhafra AB",
|
["Al_Dhafra_AB"] = "Al Dhafra AB",
|
||||||
["Dubai_Intl"] = "Dubai Intl",
|
["Dubai_Intl"] = "Dubai Intl",
|
||||||
["Al_Maktoum_Intl"] = "Al Maktoum Intl",
|
["Al_Maktoum_Intl"] = "Al Maktoum Intl",
|
||||||
|
["Fujairah_Intl"] = "Fujairah Intl",
|
||||||
|
["Tunb_Island_AFB"] = "Tunb Island AFB",
|
||||||
|
["Havadarya"] = "Havadarya",
|
||||||
["Khasab"] = "Khasab",
|
["Khasab"] = "Khasab",
|
||||||
|
["Lar_Airbase"] = "Lar Airbase",
|
||||||
["Al_Minhad_AB"] = "Al Minhad AB",
|
["Al_Minhad_AB"] = "Al Minhad AB",
|
||||||
|
["Qeshm_Island"] = "Qeshm Island",
|
||||||
["Sharjah_Intl"] = "Sharjah Intl",
|
["Sharjah_Intl"] = "Sharjah Intl",
|
||||||
["Shiraz_International_Airport"] = "Shiraz International Airport",
|
["Sirri_Island"] = "Sirri Island",
|
||||||
|
["Tunb_Kochak"] = "Tunb Kochak",
|
||||||
|
["Sir_Abu_Nuayr"] = "Sir Abu Nuayr",
|
||||||
["Kerman_Airport"] = "Kerman Airport",
|
["Kerman_Airport"] = "Kerman Airport",
|
||||||
["Jiroft_Airport"] = "Jiroft Airport",
|
["Shiraz_International_Airport"] = "Shiraz International Airport",
|
||||||
|
["Sas_Al_Nakheel_Airport"] = "Sas Al Nakheel Airport",
|
||||||
|
["Bandar-e-Jask_airfield"] = "Bandar-e-Jask airfield",
|
||||||
|
["Abu_Dhabi_International_Airport"] = "Abu Dhabi International Airport",
|
||||||
|
["Al-Bateen_Airport"] = "Al-Bateen Airport",
|
||||||
|
["Kish_International_Airport"] = "Kish International Airport",
|
||||||
|
["Al_Ain_International_Airport"] = "Al Ain International Airport",
|
||||||
["Lavan_Island_Airport"] = "Lavan Island Airport",
|
["Lavan_Island_Airport"] = "Lavan Island Airport",
|
||||||
|
["Jiroft_Airport"] = "Jiroft Airport",
|
||||||
}
|
}
|
||||||
|
|
||||||
--- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy".
|
--- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy".
|
||||||
|
|||||||
@ -1455,6 +1455,41 @@ function GROUP:InitRandomizePositionRadius( OuterRadius, InnerRadius )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Sets the radio comms on or off when the group is respawned. Same as checking/unchecking the COMM box in the mission editor.
|
||||||
|
-- @param #GROUP self
|
||||||
|
-- @param #number switch If true (or nil), enables the radio comms. If false, disables the radio for the spawned group.
|
||||||
|
-- @return #GROUP self
|
||||||
|
function GROUP:InitRadioCommsOnOff(switch)
|
||||||
|
self:F({switch=switch} )
|
||||||
|
self.InitRespawnRadio=switch or true
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Sets the radio frequency of the group when it is respawned.
|
||||||
|
-- @param #GROUP self
|
||||||
|
-- @param #number frequency The frequency in MHz.
|
||||||
|
-- @return #GROUP self
|
||||||
|
function GROUP:InitRadioFrequency(frequency)
|
||||||
|
self:F({frequency=frequency} )
|
||||||
|
|
||||||
|
self.InitRespawnFreq=frequency
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Set radio modulation when the group is respawned. Default is AM.
|
||||||
|
-- @param #GROUP self
|
||||||
|
-- @param #string modulation Either "FM" or "AM". If no value is given, modulation is set to AM.
|
||||||
|
-- @return #GROUP self
|
||||||
|
function GROUP:InitRadioModulation(modulation)
|
||||||
|
self:F({modulation=modulation})
|
||||||
|
if modulation and modulation:lower()=="fm" then
|
||||||
|
self.InitRespawnModu=radio.modulation.FM
|
||||||
|
else
|
||||||
|
self.InitRespawnModu=radio.modulation.AM
|
||||||
|
end
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
--- Respawn the @{Wrapper.Group} at a @{Point}.
|
--- Respawn the @{Wrapper.Group} at a @{Point}.
|
||||||
-- The method will setup the new group template according the Init(Respawn) settings provided for the group.
|
-- The method will setup the new group template according the Init(Respawn) settings provided for the group.
|
||||||
@ -1477,7 +1512,7 @@ end
|
|||||||
--
|
--
|
||||||
-- @param Wrapper.Group#GROUP self
|
-- @param Wrapper.Group#GROUP self
|
||||||
-- @param #table Template (optional) The template of the Group retrieved with GROUP:GetTemplate(). If the template is not provided, the template will be retrieved of the group itself.
|
-- @param #table Template (optional) The template of the Group retrieved with GROUP:GetTemplate(). If the template is not provided, the template will be retrieved of the group itself.
|
||||||
-- @param #boolean Reset Reset positons if TRUE.
|
-- @param #boolean Reset Reset positions if TRUE.
|
||||||
-- @return Wrapper.Group#GROUP self
|
-- @return Wrapper.Group#GROUP self
|
||||||
function GROUP:Respawn( Template, Reset )
|
function GROUP:Respawn( Template, Reset )
|
||||||
|
|
||||||
@ -1606,6 +1641,17 @@ function GROUP:Respawn( Template, Reset )
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Set radio frequency and modulation.
|
||||||
|
if self.InitRespawnRadio then
|
||||||
|
Template.communication=self.InitRespawnRadio
|
||||||
|
end
|
||||||
|
if self.InitRespawnFreq then
|
||||||
|
Template.frequency=self.InitRespawnFreq
|
||||||
|
end
|
||||||
|
if self.InitRespawnModu then
|
||||||
|
Template.modulation=self.InitRespawnModu
|
||||||
|
end
|
||||||
|
|
||||||
-- Destroy old group. Dont trigger any dead/crash events since this is a respawn.
|
-- Destroy old group. Dont trigger any dead/crash events since this is a respawn.
|
||||||
self:Destroy(false)
|
self:Destroy(false)
|
||||||
|
|
||||||
@ -1715,11 +1761,22 @@ function GROUP:RespawnAtCurrentAirbase(SpawnTemplate, Takeoff, Uncontrolled) --
|
|||||||
-- Set uncontrolled state.
|
-- Set uncontrolled state.
|
||||||
SpawnTemplate.uncontrolled=Uncontrolled
|
SpawnTemplate.uncontrolled=Uncontrolled
|
||||||
|
|
||||||
|
-- Set radio frequency and modulation.
|
||||||
|
if self.InitRespawnRadio then
|
||||||
|
SpawnTemplate.communication=self.InitRespawnRadio
|
||||||
|
end
|
||||||
|
if self.InitRespawnFreq then
|
||||||
|
SpawnTemplate.frequency=self.InitRespawnFreq
|
||||||
|
end
|
||||||
|
if self.InitRespawnModu then
|
||||||
|
SpawnTemplate.modulation=self.InitRespawnModu
|
||||||
|
end
|
||||||
|
|
||||||
-- Destroy old group.
|
-- Destroy old group.
|
||||||
self:Destroy(false)
|
self:Destroy(false)
|
||||||
|
|
||||||
-- Spawn new group.
|
-- Spawn new group.
|
||||||
_DATABASE:Spawn( SpawnTemplate )
|
_DATABASE:Spawn(SpawnTemplate)
|
||||||
|
|
||||||
-- Reset events.
|
-- Reset events.
|
||||||
self:ResetEvents()
|
self:ResetEvents()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user