From 7a0f53ebf30d8f8b2ab191edb07803831dca0e84 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Fri, 14 Jun 2024 16:37:21 +0200 Subject: [PATCH 1/6] docu fix --- Moose Development/Moose/Ops/Chief.lua | 8 ++++---- Moose Development/Moose/Ops/Commander.lua | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Moose Development/Moose/Ops/Chief.lua b/Moose Development/Moose/Ops/Chief.lua index 68079daac..b5ed5647c 100644 --- a/Moose Development/Moose/Ops/Chief.lua +++ b/Moose Development/Moose/Ops/Chief.lua @@ -1463,7 +1463,7 @@ end --- Add a CAP zone. Flights will engage detected targets inside this zone. -- @param #CHIEF self -- @param Core.Zone#ZONE Zone CAP Zone. Has to be a circular zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -1479,7 +1479,7 @@ end --- Add a GCI CAP. -- @param #CHIEF self -- @param Core.Zone#ZONE Zone Zone, where the flight orbits. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -1506,7 +1506,7 @@ end --- Add an AWACS zone. -- @param #CHIEF self -- @param Core.Zone#ZONE Zone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -1533,7 +1533,7 @@ end --- Add a refuelling tanker zone. -- @param #CHIEF self -- @param Core.Zone#ZONE Zone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. diff --git a/Moose Development/Moose/Ops/Commander.lua b/Moose Development/Moose/Ops/Commander.lua index 1c649dd85..596eb5661 100644 --- a/Moose Development/Moose/Ops/Commander.lua +++ b/Moose Development/Moose/Ops/Commander.lua @@ -663,7 +663,7 @@ end --- Add a CAP zone. -- @param #COMMANDER self -- @param Core.Zone#ZONE Zone CapZone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -689,7 +689,7 @@ end --- Add a GCICAP zone. -- @param #COMMANDER self -- @param Core.Zone#ZONE Zone CapZone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -735,7 +735,7 @@ end --- Add an AWACS zone. -- @param #COMMANDER self -- @param Core.Zone#ZONE Zone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. @@ -782,7 +782,7 @@ end --- Add a refuelling tanker zone. -- @param #COMMANDER self -- @param Core.Zone#ZONE Zone Zone. --- @param #number Altitude Orbit altitude in feet. Default is 12,0000 feet. +-- @param #number Altitude Orbit altitude in feet. Default is 12,000 feet. -- @param #number Speed Orbit speed in KIAS. Default 350 kts. -- @param #number Heading Heading of race-track pattern in degrees. Default 270 (East to West). -- @param #number Leg Length of race-track in NM. Default 30 NM. From b40331b04e6a718b3c18bfef6d967572a4b2b4d4 Mon Sep 17 00:00:00 2001 From: Thomas <72444570+Applevangelist@users.noreply.github.com> Date: Sat, 15 Jun 2024 08:14:58 +0200 Subject: [PATCH 2/6] Kiowa type name fix (#2138) * Update CSAR.lua Kiowa type name * Update CTLD.lua --- Moose Development/Moose/Ops/CSAR.lua | 2 +- Moose Development/Moose/Ops/CTLD.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Moose Development/Moose/Ops/CSAR.lua b/Moose Development/Moose/Ops/CSAR.lua index 9867523e5..7b716ed5c 100644 --- a/Moose Development/Moose/Ops/CSAR.lua +++ b/Moose Development/Moose/Ops/CSAR.lua @@ -292,7 +292,7 @@ CSAR.AircraftType["AH-64D_BLK_II"] = 2 CSAR.AircraftType["Bronco-OV-10A"] = 2 CSAR.AircraftType["MH-60R"] = 10 CSAR.AircraftType["OH-6A"] = 2 -CSAR.AircraftType["OH-58D"] = 2 +CSAR.AircraftType["OH58D"] = 2 --- CSAR class version. -- @field #string version diff --git a/Moose Development/Moose/Ops/CTLD.lua b/Moose Development/Moose/Ops/CTLD.lua index da51b1e5a..037446ea4 100644 --- a/Moose Development/Moose/Ops/CTLD.lua +++ b/Moose Development/Moose/Ops/CTLD.lua @@ -1250,7 +1250,7 @@ CTLD.UnitTypeCapabilities = { ["AH-64D_BLK_II"] = {type="AH-64D_BLK_II", crates=false, troops=true, cratelimit = 0, trooplimit = 2, length = 17, cargoweightlimit = 200}, -- 2 ppl **outside** the helo ["Bronco-OV-10A"] = {type="Bronco-OV-10A", crates= false, troops=true, cratelimit = 0, trooplimit = 5, length = 13, cargoweightlimit = 1450}, ["OH-6A"] = {type="OH-6A", crates=false, troops=true, cratelimit = 0, trooplimit = 4, length = 7, cargoweightlimit = 550}, - ["OH-58D"] = {type="OH-58D", crates=false, troops=false, cratelimit = 0, trooplimit = 0, length = 14, cargoweightlimit = 400}, + ["OH58D"] = {type="OH58D", crates=false, troops=false, cratelimit = 0, trooplimit = 0, length = 14, cargoweightlimit = 400}, } --- CTLD class version. From 24b09e22f76b9344f18ddb2d93a3de85eb2ae67f Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 17 Jun 2024 16:09:01 +0200 Subject: [PATCH 3/6] Update FlightControl.lua - Added `FLIGHTCONTROL:SetRadioOnlyIfPlayers` --- Moose Development/Moose/Ops/FlightControl.lua | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/Ops/FlightControl.lua b/Moose Development/Moose/Ops/FlightControl.lua index 4fe930d59..bf37c4061 100644 --- a/Moose Development/Moose/Ops/FlightControl.lua +++ b/Moose Development/Moose/Ops/FlightControl.lua @@ -62,6 +62,8 @@ -- @field #number runwayrepairtime Time in seconds until runway will be repaired after it was destroyed. Default is 3600 sec (one hour). -- @field #boolean markerParking If `true`, occupied parking spots are marked. -- @field #boolean nosubs If `true`, SRS TTS is without subtitles. +-- @field #number Nplayers Number of human players. Updated at each StatusUpdate call. +-- @field #boolean radioOnlyIfPlayers Activate to limit transmissions only if players are active at the airbase. -- @extends Core.Fsm#FSM --- **Ground Control**: Airliner X, Good news, you are clear to taxi to the active. @@ -272,6 +274,7 @@ FLIGHTCONTROL = { holdingpatterns = {}, hpcounter = 0, nosubs = false, + Nplayers = 0, } --- Holding point. Contains holding stacks. @@ -329,7 +332,7 @@ FLIGHTCONTROL.FlightStatus={ --- FlightControl class version. -- @field #string version -FLIGHTCONTROL.version="0.7.5" +FLIGHTCONTROL.version="0.7.6" ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- TODO list @@ -571,6 +574,21 @@ function FLIGHTCONTROL:SetVerbosity(VerbosityLevel) return self end +--- Limit radio transmissions only if human players are registered at the airbase. +-- This can be used to reduce TTS messages on heavy missions. +-- @param #FLIGHTCONTROL self +-- @param #boolean Switch If `true` or `nil` no transmission if there are no players. Use `false` enable TTS with no players. +-- @return #FLIGHTCONTROL self +function FLIGHTCONTROL:SetRadioOnlyIfPlayers(Switch) + if Switch==nil or Switch==true then + self.radioOnlyIfPlayers=true + else + self.radioOnlyIfPlayers=false + end + return self +end + + --- Set subtitles to appear on SRS TTS messages. -- @param #FLIGHTCONTROL self -- @return #FLIGHTCONTROL self @@ -4082,6 +4100,15 @@ function FLIGHTCONTROL:_CheckFlights() end end + -- Count number of players + self.Nplayers=0 + for _,_flight in pairs(self.flights) do + local flight=_flight --Ops.FlightGroup#FLIGHTGROUP + if not flight.isAI then + self.Nplayers=self.Nplayers+1 + end + end + -- Check speeding. if self.speedLimitTaxi then @@ -4314,6 +4341,11 @@ end -- @param #number Delay Delay in seconds before the text is transmitted. Default 0 sec. function FLIGHTCONTROL:TransmissionTower(Text, Flight, Delay) + if self.radioOnlyIfPlayers==true and self.Nplayers==0 then + self:T(self.lid.."No players ==> skipping TOWER radio transmission") + return + end + -- Spoken text. local text=self:_GetTextForSpeech(Text) @@ -4345,6 +4377,12 @@ end -- @param #number Delay Delay in seconds before the text is transmitted. Default 0 sec. function FLIGHTCONTROL:TransmissionPilot(Text, Flight, Delay) + if self.radioOnlyIfPlayers==true and self.Nplayers==0 then + self:T(self.lid.."No players ==> skipping PILOT radio transmission") + return + end + + -- Get player data. local playerData=Flight:_GetPlayerData() From bdd9efa2cc0ab21a34a4739cb33148af056bcde4 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 17 Jun 2024 18:08:45 +0200 Subject: [PATCH 4/6] Update FlightControl.lua - Added `FLIGHTCONTROL:SetTransmitOnlyWithPlayers()` --- Moose Development/Moose/Ops/FlightControl.lua | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/Ops/FlightControl.lua b/Moose Development/Moose/Ops/FlightControl.lua index bf37c4061..2db7c3942 100644 --- a/Moose Development/Moose/Ops/FlightControl.lua +++ b/Moose Development/Moose/Ops/FlightControl.lua @@ -332,7 +332,7 @@ FLIGHTCONTROL.FlightStatus={ --- FlightControl class version. -- @field #string version -FLIGHTCONTROL.version="0.7.6" +FLIGHTCONTROL.version="0.7.7" ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- TODO list @@ -420,6 +420,9 @@ function FLIGHTCONTROL:New(AirbaseName, Frequency, Modulation, PathToSRS, Port, -- Init msrs queue. self.msrsqueue=MSRSQUEUE:New(self.alias) + -- Set that transmission is only if alive players on the server. + self:SetTransmitOnlyWithPlayers(true) + -- Init msrs bases local path = PathToSRS or MSRS.path local port = Port or MSRS.port or 5002 @@ -589,6 +592,16 @@ function FLIGHTCONTROL:SetRadioOnlyIfPlayers(Switch) end +--- Set whether to only transmit TTS messages if there are players on the server. +-- @param #FLIGHTCONTROL self +-- @param #boolean Switch If `true`, only send TTS messages if there are alive Players. If `false` or `nil`, transmission are done also if no players are on the server. +-- @return #FLIGHTCONTROL self +function FLIGHTCONTROL:SetTransmitOnlyWithPlayers(Switch) + self.msrsqueue:SetTransmitOnlyWithPlayers(Switch) + return self +end + + --- Set subtitles to appear on SRS TTS messages. -- @param #FLIGHTCONTROL self -- @return #FLIGHTCONTROL self From 3fac5ac9f0530c732e81a23c3f727c506998f7f3 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 18 Jun 2024 23:15:50 +0200 Subject: [PATCH 5/6] Update FlightGroup.lua - Fixed refueling issue --- Moose Development/Moose/Ops/FlightGroup.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/Ops/FlightGroup.lua b/Moose Development/Moose/Ops/FlightGroup.lua index e6471c2a4..dc1de53b4 100644 --- a/Moose Development/Moose/Ops/FlightGroup.lua +++ b/Moose Development/Moose/Ops/FlightGroup.lua @@ -2188,7 +2188,7 @@ function FLIGHTGROUP:onafterSpawned(From, Event, To) -- TODO: make this input. self:GetGroup():SetOption(AI.Option.Air.id.PROHIBIT_JETT, self.jettisonWeapons) self:GetGroup():SetOption(AI.Option.Air.id.PROHIBIT_AB, self.prohibitAB) -- Does not seem to work. AI still used the after burner. - self:GetGroup():SetOption(AI.Option.Air.id.RTB_ON_BINGO, false) + self:GetGroup():SetOption(AI.Option.Air.id.RTB_ON_BINGO, false) self:GetGroup():SetOption(AI.Option.Air.id.JETT_TANKS_IF_EMPTY, self.jettisonEmptyTanks) --self.group:SetOption(AI.Option.Air.id.RADAR_USING, AI.Option.Air.val.RADAR_USING.FOR_CONTINUOUS_SEARCH) @@ -2804,6 +2804,11 @@ function FLIGHTGROUP:_CheckGroupDone(delay, waittime) self:T(self.lid.."Engaging! Group NOT done...") return end + -- Check if group is going for fuel. + if self:IsGoing4Fuel() then + self:T(self.lid.."Going for FUEL! Group NOT done...") + return + end -- Number of tasks remaining. local nTasks=self:CountRemainingTasks() @@ -3419,6 +3424,9 @@ function FLIGHTGROUP:onafterRefuel(From, Event, To, Coordinate) local wp9=Coordinate:WaypointAir("BARO", COORDINATE.WaypointType.TurningPoint, COORDINATE.WaypointAction.TurningPoint, Speed, true, nil, DCSTasks, "Refuel") self:Route({wp0, wp9}, 1) + + -- Set RTB on Bingo option. Currently DCS does not execute the refueling task if RTB_ON_BINGO is set to "NO RTB ON BINGO" + self.group:SetOption(AI.Option.Air.id.RTB_ON_BINGO, true) end @@ -3432,6 +3440,9 @@ function FLIGHTGROUP:onafterRefueled(From, Event, To) -- Debug message. local text=string.format("Flight group finished refuelling") self:T(self.lid..text) + + -- Set RTB on Bingo option to "NO RTB ON BINGO" + self.group:SetOption(AI.Option.Air.id.RTB_ON_BINGO, false) -- Check if flight is done. self:_CheckGroupDone(1) From 753cbaa2b933544ccc9c0035b94d4c817b033ba8 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Thu, 20 Jun 2024 08:52:47 +0200 Subject: [PATCH 6/6] xxx --- Moose Development/Moose/Core/Point.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Moose Development/Moose/Core/Point.lua b/Moose Development/Moose/Core/Point.lua index 6db800ac8..929e368a5 100644 --- a/Moose Development/Moose/Core/Point.lua +++ b/Moose Development/Moose/Core/Point.lua @@ -2747,7 +2747,10 @@ do -- COORDINATE local sunrise=UTILS.GetSunRiseAndSet(DayOfYear, Latitude, Longitude, true, Tdiff) local sunset=UTILS.GetSunRiseAndSet(DayOfYear, Latitude, Longitude, false, Tdiff) - + + if sunrise == "N/R" then return false end + if sunrise == "N/S" then return true end + local time=UTILS.ClockToSeconds(clock) -- Check if time is between sunrise and sunset.