mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
#SRSQUEUE, ATIS
* Added option to only transmit via SRS if there are active players
This commit is contained in:
parent
2fc7139f6b
commit
f2ed920214
@ -92,6 +92,7 @@
|
|||||||
-- @field Sound.SRS#MSRS msrs Moose SRS object.
|
-- @field Sound.SRS#MSRS msrs Moose SRS object.
|
||||||
-- @field #number dTQueueCheck Time interval to check the radio queue. Default 5 sec or 90 sec if SRS is used.
|
-- @field #number dTQueueCheck Time interval to check the radio queue. Default 5 sec or 90 sec if SRS is used.
|
||||||
-- @field #boolean ReportmBar Report mBar/hpa even if not metric, i.e. for Mirage flights
|
-- @field #boolean ReportmBar Report mBar/hpa even if not metric, i.e. for Mirage flights
|
||||||
|
-- @field #boolean TransmitOnlyWithPlayers For SRS - If true, only transmit if there are alive Players.
|
||||||
-- @extends Core.Fsm#FSM
|
-- @extends Core.Fsm#FSM
|
||||||
|
|
||||||
--- *It is a very sad thing that nowadays there is so little useless information.* - Oscar Wilde
|
--- *It is a very sad thing that nowadays there is so little useless information.* - Oscar Wilde
|
||||||
@ -346,6 +347,7 @@ ATIS = {
|
|||||||
markerid = nil,
|
markerid = nil,
|
||||||
relHumidity = nil,
|
relHumidity = nil,
|
||||||
ReportmBar = false,
|
ReportmBar = false,
|
||||||
|
TransmitOnlyWithPlayers = false,
|
||||||
}
|
}
|
||||||
|
|
||||||
--- NATO alphabet.
|
--- NATO alphabet.
|
||||||
@ -588,7 +590,7 @@ _ATIS = {}
|
|||||||
|
|
||||||
--- ATIS class version.
|
--- ATIS class version.
|
||||||
-- @field #string version
|
-- @field #string version
|
||||||
ATIS.version = "0.9.9"
|
ATIS.version = "0.9.10"
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
-- TODO list
|
-- TODO list
|
||||||
@ -780,6 +782,18 @@ function ATIS:SetTowerFrequencies( freqs )
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- For SRS - Switch to only transmit if there are players on the server.
|
||||||
|
-- @param #ATIS self
|
||||||
|
-- @param #boolean Switch If true, only send SRS if there are alive Players.
|
||||||
|
-- @return #ATIS self
|
||||||
|
function ATIS:SetTransmitOnlyWithPlayers(Switch)
|
||||||
|
self.TransmitOnlyWithPlayers = Switch
|
||||||
|
if self.msrsQ then
|
||||||
|
self.msrsQ:SetTransmitOnlyWithPlayers(Switch)
|
||||||
|
end
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Set active runway for **landing** operations. This can be used if the automatic runway determination via the wind direction gives incorrect results.
|
--- Set active runway for **landing** operations. This can be used if the automatic runway determination via the wind direction gives incorrect results.
|
||||||
-- For example, use this if there are two runways with the same directions.
|
-- For example, use this if there are two runways with the same directions.
|
||||||
-- @param #ATIS self
|
-- @param #ATIS self
|
||||||
@ -1195,6 +1209,7 @@ function ATIS:SetSRS(PathToSRS, Gender, Culture, Voice, Port, GoogleKey)
|
|||||||
self.msrs:SetLabel("ATIS")
|
self.msrs:SetLabel("ATIS")
|
||||||
self.msrs:SetGoogle(GoogleKey)
|
self.msrs:SetGoogle(GoogleKey)
|
||||||
self.msrsQ = MSRSQUEUE:New("ATIS")
|
self.msrsQ = MSRSQUEUE:New("ATIS")
|
||||||
|
self.msrsQ:SetTransmitOnlyWithPlayers(self.TransmitOnlyWithPlayers)
|
||||||
if self.dTQueueCheck<=10 then
|
if self.dTQueueCheck<=10 then
|
||||||
self:SetQueueUpdateTime(90)
|
self:SetQueueUpdateTime(90)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -882,6 +882,8 @@ MSRSQUEUE = {
|
|||||||
-- @field #boolean isplaying If true, transmission is currently playing.
|
-- @field #boolean isplaying If true, transmission is currently playing.
|
||||||
-- @field #number Tplay Mission time (abs) in seconds when the transmission should be played.
|
-- @field #number Tplay Mission time (abs) in seconds when the transmission should be played.
|
||||||
-- @field #number interval Interval in seconds before next transmission.
|
-- @field #number interval Interval in seconds before next transmission.
|
||||||
|
-- @field #boolean TransmitOnlyWithPlayers If true, only transmit if there are alive Players.
|
||||||
|
-- @field Core.Set#SET_CLIENT PlayerSet PlayerSet created when TransmitOnlyWithPlayers == true
|
||||||
|
|
||||||
--- Create a new MSRSQUEUE object for a given radio frequency/modulation.
|
--- Create a new MSRSQUEUE object for a given radio frequency/modulation.
|
||||||
-- @param #MSRSQUEUE self
|
-- @param #MSRSQUEUE self
|
||||||
@ -932,6 +934,23 @@ function MSRSQUEUE:AddTransmission(transmission)
|
|||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Switch to only transmit if there are players on the server.
|
||||||
|
-- @param #MSRSQUEUE self
|
||||||
|
-- @param #boolean Switch If true, only send SRS if there are alive Players.
|
||||||
|
-- @return #MSRSQUEUE self
|
||||||
|
function MSRSQUEUE:SetTransmitOnlyWithPlayers(Switch)
|
||||||
|
self.TransmitOnlyWithPlayers = Switch
|
||||||
|
if Switch == false or Switch==nil then
|
||||||
|
if self.PlayerSet then
|
||||||
|
self.PlayerSet:FilterStop()
|
||||||
|
end
|
||||||
|
self.PlayerSet = nil
|
||||||
|
else
|
||||||
|
self.PlayerSet = SET_CLIENT:New():FilterStart()
|
||||||
|
end
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
--- Create a new transmission and add it to the radio queue.
|
--- Create a new transmission and add it to the radio queue.
|
||||||
-- @param #MSRSQUEUE self
|
-- @param #MSRSQUEUE self
|
||||||
-- @param #string text Text to play.
|
-- @param #string text Text to play.
|
||||||
@ -947,6 +966,12 @@ end
|
|||||||
-- @return #MSRSQUEUE.Transmission Radio transmission table.
|
-- @return #MSRSQUEUE.Transmission Radio transmission table.
|
||||||
function MSRSQUEUE:NewTransmission(text, duration, msrs, tstart, interval, subgroups, subtitle, subduration, frequency, modulation)
|
function MSRSQUEUE:NewTransmission(text, duration, msrs, tstart, interval, subgroups, subtitle, subduration, frequency, modulation)
|
||||||
|
|
||||||
|
if self.TransmitOnlyWithPlayers then
|
||||||
|
if self.PlayerSet and self.PlayerSet:CountAlive() == 0 then
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Sanity checks.
|
-- Sanity checks.
|
||||||
if not text then
|
if not text then
|
||||||
self:E(self.lid.."ERROR: No text specified.")
|
self:E(self.lid.."ERROR: No text specified.")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user