mirror of
https://github.com/FlightControl-Master/MOOSE_MISSIONS.git
synced 2026-08-22 06:44:43 +00:00
Merge pull request #22 from FlightControl-Master/Applevangelist-MOP-1
Add files via upload
This commit is contained in:
+86
-86
@@ -1,86 +1,86 @@
|
|||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
-- MOP-100 - MARKEROPS_BASE - Basic Demo
|
-- MOP-100 - MARKEROPS_BASE - Basic Demo
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
-- Documentation
|
-- Documentation
|
||||||
--
|
--
|
||||||
-- MARKEROPS_BASE: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.MarkerOps_Base.html
|
-- MARKEROPS_BASE: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.MarkerOps_Base.html
|
||||||
--
|
--
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
-- On the F10, call a tanker to start from the carrier. It will fly to
|
-- On the radio menu, call a tanker to start from the carrier. It will fly to
|
||||||
-- an initial zone. Set a marker on the F10 map with keyword "TankerDemo".
|
-- an initial zone. Set a marker on the F10 map with keyword "TankerDemo".
|
||||||
-- The Tanker will fly there. Set a marker on the F10 map with keywords
|
-- The Tanker will fly there. Set a marker on the F10 map with keywords
|
||||||
-- "TankerDemo RTB". The tanke will RTB to the carrier.
|
-- "TankerDemo RTB". The tanker will RTB to the carrier.
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
-- Date: May 2021
|
-- Date: May 2021
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
-- globals
|
-- globals
|
||||||
mytanker = nil
|
mytanker = nil
|
||||||
tankergroup = nil
|
tankergroup = nil
|
||||||
TankerAuftrag = nil
|
TankerAuftrag = nil
|
||||||
|
|
||||||
function menucalltanker()
|
function menucalltanker()
|
||||||
|
|
||||||
if not mytanker then
|
if not mytanker then
|
||||||
-- new MARKEROPS_BASE object
|
-- new MARKEROPS_BASE object
|
||||||
mytanker = MARKEROPS_BASE:New("TankerDemo",{"RTB"}) -- Core.MarkerOps_Base#MARKEROPS_BASE
|
mytanker = MARKEROPS_BASE:New("TankerDemo",{"RTB"}) -- Core.MarkerOps_Base#MARKEROPS_BASE
|
||||||
-- start FlightGroup
|
-- start FlightGroup
|
||||||
tankergroup = FLIGHTGROUP:New("Tanker")
|
tankergroup = FLIGHTGROUP:New("Tanker")
|
||||||
tankergroup:SetHomebase(AIRBASE:FindByName("Truman"))
|
tankergroup:SetHomebase(AIRBASE:FindByName("Truman"))
|
||||||
tankergroup:SetDefaultRadio(245,"AM",false)
|
tankergroup:SetDefaultRadio(245,"AM",false)
|
||||||
tankergroup:SetDespawnAfterLanding()
|
tankergroup:SetDespawnAfterLanding()
|
||||||
tankergroup:SwitchTACAN(45, "TKR", 1, "X")
|
tankergroup:SwitchTACAN(45, "TKR", 1, "X")
|
||||||
tankergroup:SetDefaultCallsign(CALLSIGN.Tanker.Texaco,1)
|
tankergroup:SetDefaultCallsign(CALLSIGN.Tanker.Texaco,1)
|
||||||
-- Mission
|
-- Mission
|
||||||
local InitialHold = ZONE:New("Initial Hold"):GetCoordinate()
|
local InitialHold = ZONE:New("Initial Hold"):GetCoordinate()
|
||||||
TankerAuftrag = AUFTRAG:NewTANKER(InitialHold,18000,UTILS.KnotsToAltKIAS(220,18000),90,20,0)
|
TankerAuftrag = AUFTRAG:NewTANKER(InitialHold,18000,UTILS.KnotsToAltKIAS(220,18000),90,20,0)
|
||||||
TankerAuftrag:SetMissionRange(500)
|
TankerAuftrag:SetMissionRange(500)
|
||||||
tankergroup:AddMission(TankerAuftrag)
|
tankergroup:AddMission(TankerAuftrag)
|
||||||
else
|
else
|
||||||
local status = tankergroup:GetState()
|
local status = tankergroup:GetState()
|
||||||
local m = MESSAGE:New(string.format("Tanker %s ops in status: %s", mytanker.Tag, status),10,"Info",true):ToAll()
|
local m = MESSAGE:New(string.format("Tanker %s ops in status: %s", mytanker.Tag, status),10,"Info",true):ToAll()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Handler function
|
-- Handler function
|
||||||
local function Handler(Keywords,Coord)
|
local function Handler(Keywords,Coord)
|
||||||
|
|
||||||
local MustRTB = false
|
local MustRTB = false
|
||||||
for _,_word in pairs (Keywords) do
|
for _,_word in pairs (Keywords) do
|
||||||
if string.lower(_word) == "rtb" then
|
if string.lower(_word) == "rtb" then
|
||||||
MustRTB = true
|
MustRTB = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- cancel current Auftrag
|
-- cancel current Auftrag
|
||||||
TankerAuftrag:Cancel()
|
TankerAuftrag:Cancel()
|
||||||
|
|
||||||
-- check if we need to RTB
|
-- check if we need to RTB
|
||||||
if MustRTB then
|
if MustRTB then
|
||||||
tankergroup:RTB(AIRBASE:FindByName("Truman"))
|
tankergroup:RTB(AIRBASE:FindByName("Truman"))
|
||||||
else
|
else
|
||||||
-- no, fly to coordinate of marker
|
-- no, fly to coordinate of marker
|
||||||
local auftrag = AUFTRAG:NewTANKER(Coord,18000,UTILS.KnotsToAltKIAS(220,18000),90,20,0)
|
local auftrag = AUFTRAG:NewTANKER(Coord,18000,UTILS.KnotsToAltKIAS(220,18000),90,20,0)
|
||||||
auftrag:SetMissionRange(500)
|
auftrag:SetMissionRange(500)
|
||||||
tankergroup:AddMission(auftrag)
|
tankergroup:AddMission(auftrag)
|
||||||
TankerAuftrag = auftrag
|
TankerAuftrag = auftrag
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Event functions
|
-- Event functions
|
||||||
function mytanker:OnAfterMarkAdded(From,Event,To,Text,Keywords,Coord)
|
function mytanker:OnAfterMarkAdded(From,Event,To,Text,Keywords,Coord)
|
||||||
local m = MESSAGE:New(string.format("Tanker %s Mark Added.", self.Tag),10,"Info",true):ToAll()
|
local m = MESSAGE:New(string.format("Tanker %s Mark Added.", self.Tag),10,"Info",true):ToAll()
|
||||||
Handler(Keywords,Coord)
|
Handler(Keywords,Coord)
|
||||||
end
|
end
|
||||||
|
|
||||||
function mytanker:OnAfterMarkChanged(From,Event,To,Text,Keywords,Coord)
|
function mytanker:OnAfterMarkChanged(From,Event,To,Text,Keywords,Coord)
|
||||||
local m = MESSAGE:New(string.format("Tanker %s Mark Changed.", self.Tag),10,"Info",true):ToAll()
|
local m = MESSAGE:New(string.format("Tanker %s Mark Changed.", self.Tag),10,"Info",true):ToAll()
|
||||||
Handler(Keywords,Coord)
|
Handler(Keywords,Coord)
|
||||||
end
|
end
|
||||||
|
|
||||||
function mytanker:OnAfterMarkDeleted(From,Event,To)
|
function mytanker:OnAfterMarkDeleted(From,Event,To)
|
||||||
local m = MESSAGE:New(string.format("Tanker %s Mark Deleted.", self.Tag),10,"Info",true):ToAll()
|
local m = MESSAGE:New(string.format("Tanker %s Mark Deleted.", self.Tag),10,"Info",true):ToAll()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
MenuTop = MENU_COALITION:New( coalition.side.BLUE,"Call Tanker")
|
MenuTop = MENU_COALITION:New( coalition.side.BLUE,"Call Tanker")
|
||||||
MenuTanker = MENU_COALITION_COMMAND:New(coalition.side.BLUE,"Start Tanker",MenuTop,menucalltanker)
|
MenuTanker = MENU_COALITION_COMMAND:New(coalition.side.BLUE,"Start Tanker",MenuTop,menucalltanker)
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user