diff --git a/OPS - Awacs/AWC-100/AWC-100 Community Demo.lua b/OPS - Awacs/AWC-100/AWC-100 Community Demo.lua new file mode 100644 index 0000000000..916533030a --- /dev/null +++ b/OPS - Awacs/AWC-100/AWC-100 Community Demo.lua @@ -0,0 +1,141 @@ +------------------------------------------------------------------------- +-- AWC-100 Basic Demo +------------------------------------------------------------------------- +-- Documentation +-- +-- Ops AWACS https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Ops.AWACS.html +-- +------------------------------------------------------------------------- +-- Basic demo of AWACS functionality. You can join one of the planes +-- and switch to AM 255 to listen in. Also, check out the F10 menu. +------------------------------------------------------------------------- +-- Date: May 2022 +------------------------------------------------------------------------- + +---- These are set in ME trigger +local hereSRSPath = mySRSPath or "C:\\Program Files\\DCS-SimpleRadio-Standalone" +local hereSRSPort = mySRSPort or 5002 +local hereSRSGoogle = mySRSGKey or "C:\\Program Files\\DCS-SimpleRadio-Standalone\\yourkey.json" + +--- SETTINGS +_SETTINGS:SetLocale("en") +_SETTINGS:SetImperial() +_SETTINGS:SetPlayerMenuOff() + +-- We need an AirWing +local AwacsAW = AIRWING:New("AirForce WH-1","AirForce One") +--AwacsAW:SetReportOn() +AwacsAW:SetMarker(false) +AwacsAW:SetAirbase(AIRBASE:FindByName(AIRBASE.Caucasus.Kutaisi)) +AwacsAW:SetRespawnAfterDestroyed(900) +AwacsAW:SetTakeoffAir() +AwacsAW:__Start(2) + +-- And a couple of Squads +-- AWACS itself +local Squad_One = SQUADRON:New("Awacs One",2,"Awacs North") +Squad_One:AddMissionCapability({AUFTRAG.Type.ORBIT},100) +Squad_One:SetFuelLowRefuel(true) +Squad_One:SetFuelLowThreshold(0.2) +Squad_One:SetTurnoverTime(10,20) +AwacsAW:AddSquadron(Squad_One) +AwacsAW:NewPayload("Awacs One One",-1,{AUFTRAG.Type.ORBIT},100) + +-- Escorts +local Squad_Two = SQUADRON:New("Escorts",4,"Escorts North") +Squad_Two:AddMissionCapability({AUFTRAG.Type.ESCORT}) +Squad_Two:SetFuelLowRefuel(true) +Squad_Two:SetFuelLowThreshold(0.3) +Squad_Two:SetTurnoverTime(10,20) +Squad_Two:SetTakeoffAir() +Squad_Two:SetRadio(255,radio.modulation.AM) +AwacsAW:AddSquadron(Squad_Two) +AwacsAW:NewPayload("Escorts",-1,{AUFTRAG.Type.ESCORT},100) + +-- CAP +local Squad_Three = SQUADRON:New("CAP",10,"CAP North") +Squad_Three:AddMissionCapability({AUFTRAG.Type.ALERT5, AUFTRAG.Type.CAP, AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT},80) +Squad_Three:SetFuelLowRefuel(true) +Squad_Three:SetFuelLowThreshold(0.3) +Squad_Three:SetTurnoverTime(10,20) +Squad_Three:SetTakeoffAir() +Squad_Two:SetRadio(255,radio.modulation.AM) +AwacsAW:AddSquadron(Squad_Three) +AwacsAW:NewPayload("Aerial-1-2",-1,{AUFTRAG.Type.ALERT5,AUFTRAG.Type.CAP, AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT},100) + +-- We need a secondary AirWing for testing +local AwacsAW2 = AIRWING:New("AirForce WH-2","AirForce Two") +--AwacsAW2:SetReportOn() +AwacsAW2:SetMarker(false) +AwacsAW2:SetAirbase(AIRBASE:FindByName(AIRBASE.Caucasus.Senaki_Kolkhi)) +AwacsAW2:SetRespawnAfterDestroyed(900) +AwacsAW2:SetTakeoffAir() +AwacsAW2:__Start(2) + +-- CAP2 +local Squad_ThreeOne = SQUADRON:New("CAP2",10,"CAP West") +Squad_ThreeOne:AddMissionCapability({AUFTRAG.Type.ALERT5, AUFTRAG.Type.CAP, AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT},80) +Squad_ThreeOne:SetFuelLowRefuel(true) +Squad_ThreeOne:SetFuelLowThreshold(0.3) +Squad_ThreeOne:SetTurnoverTime(10,20) +Squad_ThreeOne:SetTakeoffAir() +Squad_Two:SetRadio(255,radio.modulation.AM) +AwacsAW2:AddSquadron(Squad_ThreeOne) +AwacsAW2:NewPayload("CAP 2-1",-1,{AUFTRAG.Type.ALERT5,AUFTRAG.Type.CAP, AUFTRAG.Type.GCICAP, AUFTRAG.Type.INTERCEPT},100) + +-- Get AWACS started +local testawacs = AWACS:New("AWACS North",AwacsAW,"blue",AIRBASE.Caucasus.Kutaisi,"Awacs Orbit",ZONE:FindByName("Rock"),"Fresno",255,radio.modulation.AM ) +testawacs.debug = false +testawacs:SetEscort(2) +testawacs:SetAwacsDetails(CALLSIGN.AWACS.Darkstar,1,30,280,88,25) + +-- Set up SRS +if hereSRSGoogle then + -- use Google + testawacs:SetSRS(hereSRSPath,"female","en-GB",hereSRSPort,"en-GB-Wavenet-F",0.9,hereSRSGoogle) +else + -- use Windows + testawacs:SetSRS(hereSRSPath,"male","en-GB",hereSRSPort,nil,0.9) +end + +-- Set details +testawacs:SetTOS(4,4) +testawacs:DrawFEZ() +testawacs:SetRejectionZone(ZONE:FindByName("Red Border"),true) +testawacs:AddCAPAirWing(AwacsAW2) +testawacs:SetAICAPDetails(CALLSIGN.F16.Rattler,4,4,300) +testawacs:SetModernEraAgressive() + +testawacs:__Start(5) + +-- Red CAP Aggressors +function GetRedCAP() + local caps = SPAWN:New("Red CAP") + :InitLimit(2,10) + :InitCleanUp(60) + :SpawnScheduled(300,0.1) + local TU22 = SPAWN:New("TU-22") + :InitLimit(1,10) + :InitCleanUp(60) + :SpawnScheduled(360,0.1) + local Fulcrum = SPAWN:New("Aerial-1") + :InitLimit(4,10) + :InitCleanUp(60) + :SpawnScheduled(420,0.1) + local Bears = SPAWN:New("Aerial-2") + :InitLimit(4,10) + :InitCleanUp(60) + :SpawnScheduled(480,0.1) +end + +local captimer = TIMER:New(GetRedCAP) +captimer:Start(600) + +-- let the tanker disappear +function DestroyTanker() + local tanker=GROUP:FindByName("Red Tanker") + tanker:Destroy(true) +end + +local tankertimer = TIMER:New(DestroyTanker) +tankertimer:Start(720) \ No newline at end of file diff --git a/OPS - Awacs/AWC-100/AWC-100 Community Demo.miz b/OPS - Awacs/AWC-100/AWC-100 Community Demo.miz new file mode 100644 index 0000000000..133b076ab4 Binary files /dev/null and b/OPS - Awacs/AWC-100/AWC-100 Community Demo.miz differ diff --git a/OPS - Awacs/AWC-100/pack.ps1 b/OPS - Awacs/AWC-100/pack.ps1 new file mode 100644 index 0000000000..caa79efcaf --- /dev/null +++ b/OPS - Awacs/AWC-100/pack.ps1 @@ -0,0 +1,6 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +cd "_unpacked" +. 7z a -r -y -tzip "..\$file.miz" * +cd .. diff --git a/OPS - Awacs/AWC-100/unpack.ps1 b/OPS - Awacs/AWC-100/unpack.ps1 new file mode 100644 index 0000000000..0206e08131 --- /dev/null +++ b/OPS - Awacs/AWC-100/unpack.ps1 @@ -0,0 +1,7 @@ +$dir = split-path -parent $MyInvocation.MyCommand.Definition +cd $dir +$file = Split-Path $dir -leaf +Remove-Item .\_unpacked -Force -Recurse +md "_unpacked" +cd "_unpacked" +. 7z x -r -y "..\$file.miz" *