Jump to content

MOOSE - Mission Object Oriented Scripting Framework


Recommended Posts

Ok. Cool.

 

Next question.

Are these CAP near each respective air base?

What templates is each squadron flying?

 

Just created trigger zones above each field called blue cap 1, blue cap 2, red cap 1, red cap 2,

 

Templates are called f-16c, f-15c, mig-29s, su-27.

 

 

Current state (note i changed from ZONE_POLYGON to just ZONE.)

A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "blue ewr" }, { } ) 
A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "red ewr" }, { } )

A2A_GCICAP_Blue:SetSquadronCap( "blue sq 1", ZONE:New( "blue cap 1", GROUP:FindByName( "blue cap 1" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Blue:SetSquadronCap( "blue sq 2", ZONE:New( "blue cap 2", GROUP:FindByName( "blue cap 2" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Red:SetSquadronCap( "red sq 1", ZONE:New( "red cap 1", GROUP:FindByName( "red cap 1" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Red:SetSquadronCap( "red sq 2", ZONE:New( "red cap 2", GROUP:FindByName( "red cap 2" ) ), 4000, 10000, 700, 900, 800, 1100 )

A2A_GCICAP_Red:SetTacticalDisplay( true )

 

Realised i dont need this part when using trigger zone... ?

GROUP:FindByName( "blue cap 1" )

And that i might need A2A_GCICAP_Blue:SetSquadron... Learning slowly.


Edited by Rivvern

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

For learning and testing purpose i started a new simple mission to get things going without getting things complicated.

 

 

 

BLUE

Batumi, blue sq 1, blue cap 1

Kobuleti, blue sq 2, blue cap 2

 

RED

Sukhumi-Babushara, red sq 1, red cap 1

Gudauta, red sq 2, red cap 2

 

Use AI_A2A_GCICAP for blue and red.

 

Step 1. Color Batumi and Kobuleti blue.

Step 2. Color Sukhumi and Gudauta red.

Step 3. Place blue groups defining your blue EWR. Each group starts with "BLUE EWR".

Step 4. Place red groups defining your red EWR. Each group starts with "RED EWR".

Step 5. Place blue airplane templates (late activated) with a chosen name above each airbase. Each template starts with "BLUE PLANE".

Step 6. Place red airplane templates (late activated) with a chosen name above each airbase. Each template starts with "RED PLANE".

Step 7. Create a zone using a blue helicopter, late activated, using its route points. Place the helo near Batumi. Name the group "blue cap 1".

Step 8. Create a zone using a blue helicopter, late activated, using its route points. Place the helo near Kobuleti. Name the group "blue cap 2".

Step 9. Create a zone using a red helicopter, late activated, using its route points. Place the helo near Sukhumi. Name the group "red cap 1".

Step 10. Create a zone using a red helicopter, late activated, using its route points. Place the helo near Gudauta. Name the group "red cap 2".

 

 

Now your lua code could look like:

 

BLUE_A2A_GCICAP = AI_A2A_GCICAP:New( "BLUE EWR", "BLUE PLANE", { "blue cap 1", "blue cap 2" , 2 )

 

RED_A2A_GCICAP = AI_A2A_GCICAP:New( "RED EWR", "RED PLANE", { "red cap 1", "red cap 2" , 2 )


Edited by FlightControl

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Just created trigger zones above each field called blue cap 1, blue cap 2, red cap 1, red cap 2,

 

Templates are called f-16c, f-15c, mig-29s, su-27.

 

 

Current state (note i changed from ZONE_POLYGON to just ZONE.)

A2A_GCICAP_Blue = AI_A2A_GCICAP:New( { "blue ewr" }, { } ) 
A2A_GCICAP_Red = AI_A2A_GCICAP:New( { "red ewr" }, { } )

A2A_GCICAP_Blue:SetSquadronCap( "blue sq 1", ZONE:New( "blue cap 1", GROUP:FindByName( "blue cap 1" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Blue:SetSquadronCap( "blue sq 2", ZONE:New( "blue cap 2", GROUP:FindByName( "blue cap 2" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Red:SetSquadronCap( "red sq 1", ZONE:New( "red cap 1", GROUP:FindByName( "red cap 1" ) ), 4000, 10000, 700, 900, 800, 1100 )
A2A_GCICAP_Red:SetSquadronCap( "red sq 2", ZONE:New( "red cap 2", GROUP:FindByName( "red cap 2" ) ), 4000, 10000, 700, 900, 800, 1100 )

A2A_GCICAP_Red:SetTacticalDisplay( true )

 

Realised i dont need this part when using trigger zone... ?

GROUP:FindByName( "blue cap 1" )

 

Excellent on the ZONE!!!

Next time you can try moving zones... ZONE_UNIT... ZONE_GROUP...

 

Realised i dont need this part when using trigger zone... ?

GROUP:FindByName( "blue cap 1" )

 

Indeed. ZONE is for trigger zones and you don't need a GROUP there...

 

And that i might need A2A_GCICAP_Blue:SetSquadron... Learning slowly

 

Yep!

 

If you learn to use the methods, you will have much more flexibility.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Use AI_A2A_GCICAP for blue and red.

 

Step 1. Color Batumi and Kobuleti blue.

Step 2. Color Sukhumi and Gudauta red.

Step 3. Place blue groups defining your blue EWR. Each group starts with "BLUE EWR".

Step 4. Place red groups defining your red EWR. Each group starts with "RED EWR".

Step 5. Place blue airplane templates (late activated) with a chosen name above each airbase. Each template starts with "BLUE PLANE".

Step 6. Place red airplane templates (late activated) with a chosen name above each airbase. Each template starts with "RED PLANE".

Step 7. Create a zone using a blue helicopter, late activated, using its route points. Place the helo near Batumi. Name the group "blue cap 1".

Step 8. Create a zone using a blue helicopter, late activated, using its route points. Place the helo near Kobuleti. Name the group "blue cap 2".

Step 9. Create a zone using a red helicopter, late activated, using its route points. Place the helo near Sukhumi. Name the group "red cap 1".

Step 10. Create a zone using a red helicopter, late activated, using its route points. Place the helo near Gudauta. Name the group "red cap 1".

 

 

Now your lua code could look like:

 

BLUE_A2A_GCICAP = AI_A2A_GCICAP:New( "BLUE EWR", "BLUE PLANE", { "blue cap 1", "blue cap 2" , 2 )

 

RED_A2A_GCICAP = AI_A2A_GCICAP:New( "RED EWR", "RED PLANE", { "red cap 1", "red cap 2" , 2 )

 

Thats an easy guide. Got that working! Thanks.

 

But going back to squadrons. I have succeeded in getting squadrons for each airfield each with cap zones. Now i lack GCI. Which is the best way to achieve this?

 

BLUE_A2A_GCICAP = AI_A2A_GCICAP:New( { "blue ewr" }, { } ) 
RED_A2A_GCICAP = AI_A2A_GCICAP:New( { "red ewr" }, { } )

BLUE_A2A_GCICAP:SetBorderZone( {"blue border"} )
RED_A2A_GCICAP:SetBorderZone( {"red border"} )

BLUE_A2A_GCICAP:SetSquadron("blue sq 1", "Batumi", "f-16c", 40)
BLUE_A2A_GCICAP:SetSquadron("blue sq 2", "Kobuleti", "f-15c", 40)
RED_A2A_GCICAP:SetSquadron("red sq 1", "Sukhumi-Babushara", "mig-29s", 40)
RED_A2A_GCICAP:SetSquadron("red sq 2", "Gudauta", "su-27", 40)

BLUE_A2A_GCICAP:SetSquadronCap( "blue sq 1", ZONE:New( "blue cap 1" ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronCap( "blue sq 2", ZONE:New( "blue cap 2" ), 4000, 10000, 700, 900, 800, 1100 )
RED_A2A_GCICAP:SetSquadronCap( "red sq 1", ZONE:New( "red cap 1" ), 4000, 10000, 700, 900, 800, 1100 )
RED_A2A_GCICAP:SetSquadronCap( "red sq 2", ZONE:New( "red cap 2" ), 4000, 10000, 700, 900, 800, 1100 )

RED_A2A_GCICAP:SetTacticalDisplay( true )

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

Thats an easy guide. Got that working! Thanks.

 

But going back to squadrons. I have succeeded in getting squadrons for each airfield each with cap zones. Now i lack GCI. Which is the best way to achieve this?

 

SetSquadronGci( SquadronName, MinSpeed, MaxSpeed )

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Thank you for your help. Learned a lot this evening. But i wonder if there are any way to debug the EWR network? Sometimes it feels like they arent spotting the enemy.

 

This is what i came up with. If you spot any issues give me a shout.

--Setting up the objects
BLUE_A2A_GCICAP = AI_A2A_GCICAP:New( { "blue ewr" }, { } ) 
RED_A2A_GCICAP = AI_A2A_GCICAP:New( { "red ewr" }, { } )

--Setting up the borders
BLUE_A2A_GCICAP:SetBorderZone( ZONE_POLYGON:New( "blue border", GROUP:FindByName( "blue border" ) ) )
RED_A2A_GCICAP:SetBorderZone( ZONE_POLYGON:New( "red border", GROUP:FindByName( "red border" ) ) )

--Setting up the blue squadrons
BLUE_A2A_GCICAP:SetSquadron("blue sq 1", "Batumi", "f-16c", 40)
BLUE_A2A_GCICAP:SetSquadron("blue sq 2", "Kobuleti", "f-15c", 40)
BLUE_A2A_GCICAP:SetSquadronGci( "blue sq 1", 900, 1200  )
BLUE_A2A_GCICAP:SetSquadronGci( "blue sq 2", 900, 1200  )
BLUE_A2A_GCICAP:SetSquadronCap( "blue sq 1", ZONE:New( "blue cap 1" ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronCapInterval( "blue sq 1", 4, 30, 60, 1 )
BLUE_A2A_GCICAP:SetSquadronCap( "blue sq 2", ZONE:New( "blue cap 2" ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronCapInterval( "blue sq 2", 4, 30, 60, 1 )
BLUE_A2A_GCICAP:SetSquadronGrouping( "blue sq 1", 2 )
BLUE_A2A_GCICAP:SetSquadronGrouping( "blue sq 2", 2 )
--BLUE_A2A_GCICAP:SetSquadronTakeoffFromParkingCold( "blue sq 1" )
--BLUE_A2A_GCICAP:SetSquadronTakeoffFromParkingCold( "blue sq 2" )
--BLUE_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("blue sq 1")
--BLUE_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("blue sq 2")

--Setting up the red squadrons
RED_A2A_GCICAP:SetSquadron("red sq 1", "Sukhumi-Babushara", "mig-29s", 40)
RED_A2A_GCICAP:SetSquadron("red sq 2", "Gudauta", "su-27", 40)
RED_A2A_GCICAP:SetSquadronGci( "red sq 1", 900, 1200  )
RED_A2A_GCICAP:SetSquadronGci( "red sq 2", 900, 1200  )
RED_A2A_GCICAP:SetSquadronCap( "red sq 1", ZONE:New( "red cap 1" ), 4000, 10000, 700, 900, 800, 1100 )
RED_A2A_GCICAP:SetSquadronCapInterval( "red sq 1", 4, 30, 60, 1 )
RED_A2A_GCICAP:SetSquadronCap( "red sq 2", ZONE:New( "red cap 2" ), 4000, 10000, 700, 900, 800, 1100 )
RED_A2A_GCICAP:SetSquadronCapInterval( "red sq 2", 4, 30, 60, 1 )
RED_A2A_GCICAP:SetSquadronGrouping( "red sq 1", 2 )
RED_A2A_GCICAP:SetSquadronGrouping( "red sq 2", 2 )
--RED_A2A_GCICAP:SetSquadronTakeoffFromParkingCold( "red sq 1" )
--RED_A2A_GCICAP:SetSquadronTakeoffFromParkingCold( "red sq 2" )
--RED_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("red sq 1")
--RED_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("red sq 2")

--Enabling the Tactical Displays
BLUE_A2A_GCICAP:SetTacticalDisplay( true )
RED_A2A_GCICAP:SetTacticalDisplay( true )

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

Thank you for your help. Learned a lot this evening. But i wonder if there are any way to debug the EWR network? Sometimes it feels like they arent spotting the enemy.

 

You code is fine.

It can be due to hidden defects (the devil is in the details) that the dispatcher doesn't cover yet 100% with a good defense system.

 

The trick to debug is the tactical displays.

 

--Enabling the Tactical Displays
BLUE_A2A_GCICAP:SetTacticalDisplay( true )
RED_A2A_GCICAP:SetTacticalDisplay( true )

 

Made this system exactly to debug:

- What attacking target areas are detected.

- What attacking units are in each target area.

- What defending groups are airborne?

- What units are in each defending group?

- What is each defending group doing in which area?

 

Cv7Zxu.jpg

 

When you see a tactical display with only the information on the attacking target area and its units, but no defenders are engaged, then that is a problem.

 

So, by observing this panel and checking any inconsistencies, or even logical bugs, please raise them here.

 

This is exactly why I haven't released to production yet, because I want people to use it and see if it satisfies their needs.

 

Note that other people are also using this system today, and have come up with new requirements (like race track stuff etc), like Sierra99 and 132nd Neck.


Edited by FlightControl

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Quick start guide

 

In order to get a "grasp" of the GCICAP module, based on the experience and questions I got from Rivvern yesterday, I made the following Quick Start Guide. It does not contain any lua coding, but just raises a number of questions and provides answers to those to get the "concept in the brain" on how the new GCICAP is working and how to use it...

 

http://flightcontrol-master.github.io/MOOSE/Documentation/AI_A2A_Dispatcher.html

 

QUICK START GUIDE

There are basically two classes available to model an A2A defense system.

AI_A2A_DISPATCHER is the main A2A defense class that models the A2A defense system. AI_A2A_GCICAP derives or inherits from AI_A2A_DISPATCHER and is a more noob user friendly class, but is less flexible.

Before you start using the AI_A2A_DISPATCHER or AI_A2A_GCICAP ask youself the following questions:

0. Do I need AI_A2A_DISPATCHER or do I need AI_A2A_GCICAP?

AI_A2A_GCICAP, automates a lot of the below questions using the mission editor and requires minimal lua scripting. But the AI_A2A_GCICAP provides less flexibility and a lot of options are defaulted. With AI_A2A_DISPATCHER you can setup a much more fine grained A2A defense mechanism, but some more (easy) lua scripting is required.

1. Which Coalition am I modeling an A2A defense system for? blue or red?

 

One AI_A2A_DISPATCHER object can create a defense system for one coalition, which is blue or red. If you want to create a mutual defense system, for both blue and red, then you need to create two AI_A2A_DISPATCHER objects, each governing their defense system.

2. Which type of EWR will I setup? Grouping based per AREA, per TYPE or per UNIT? (Later others will follow).

The MOOSE framework leverages the Detection classes to perform the EWR detection. Several types of Detection classes exist, and the most common characteristics of these classes is that they:

 

  • Perform detections from multiple FACs as one co-operating entity.
  • Communicate with a Head Quarters, which consolidates each detection.
  • Groups detections based on a method (per area, per type or per unit).
  • Communicates detections.

3. Which EWR units will be used as part of the detection system? Only Ground or also Airborne?

Typically EWR networks are setup using 55G6 EWR, 1L13 EWR, Hawk sr and Patriot str ground based radar units. These radars have different ranges and 55G6 EWR and 1L13 EWR radars are Eastern Bloc units (eg Russia, Ukraine, Georgia) while the Hawk and Patriot radars are Western (eg US). Additionally, ANY other radar capable unit can be part of the EWR network! Also AWACS airborne units, planes, helicopters can help to detect targets, as long as they have radar. The position of these units is very important as they need to provide enough coverage to pick up enemy aircraft as they approach so that CAP and GCI flights can be tasked to intercept them.

4. Is a border required?

 

Is this a cold car or a hot war situation? In case of a cold war situation, a border can be set that will only trigger defenses if the border is crossed by enemy units.

5. What maximum range needs to be checked to allow defenses to engage any attacker?

A good functioning defense will have a "maximum range" evaluated to the enemy when CAP will be engaged or GCI will be spawned.

6. Which Airbases, Carrier Ships, Farps will take part in the defense system for the Coalition?

 

Carefully plan which airbases will take part in the coalition. Color each airbase in the color of the coalition.

7. Which Squadrons will I create and which name will I give each Squadron?

 

The defense system works with Squadrons. Each Squadron must be given a unique name, that forms the key to the defense system. Several options and activities can be set per Squadron.

8. Where will the Squadrons be located? On Airbases? On Carrier Ships? On Farps?

 

Squadrons are placed as the "home base" on an airfield, carrier or farp. Carefully plan where each Squadron will be located as part of the defense system.

9. Which plane models will I assign for each Squadron? Do I need one plane model or more plane models per squadron?

 

Per Squadron, one or multiple plane models can be allocated as Templates. These are late activated groups with one airplane or helicopter that start with a specific name, called the template prefix. The A2A defense system will select from the given templates a random template to spawn a new plane (group).

10. Which payloads, skills and skins will these plane models have?

 

Per Squadron, even if you have one plane model, you can still allocate multiple templates of one plane model, each having different payloads, skills and skins. The A2A defense system will select from the given templates a random template to spawn a new plane (group).

11. For each Squadron, which will perform CAP?

 

Per Squadron, evaluate which Squadrons will perform CAP. Not all Squadrons need to perform CAP.

12. For each Squadron doing CAP, in which ZONE(s) will the CAP be performed?

 

Per CAP, evaluate where the CAP will be performed, in other words, define the zone. Near the border or a bit further away?

13. For each Squadron doing CAP, which zone types will I create?

 

Per CAP zone, evaluate whether you want:

 

  • simple trigger zones
  • polygon zones
  • moving zones

Depending on the type of zone selected, a different Zone object needs to be created from a ZONE_ class.

14. For each Squadron doing CAP, what are the time intervals and CAP amounts to be performed?

 

For each CAP:

 

  • How many CAP you want to have airborne at the same time?
  • How frequent you want the defense mechanism to check whether to start a new CAP?

15. For each Squadron, which will perform GCI?

 

For each Squadron, evaluate which Squadrons will perform GCI? Not all Squadrons need to perform GCI.

16. For each Squadron, which takeoff method will I use?

 

For each Squadron, evaluate which takeoff method will be used:

 

  • Straight from the air (default)
  • From the runway
  • From a parking spot with running engines
  • From a parking spot with cold engines

17. For each Squadron, which landing method will I use?

 

For each Squadron, evaluate which landing method will be used:

 

  • Near the airbase when returning (default)
  • After landing on the runway
  • After engine shutdown after landing

18. For each Squadron, which overhead will I use?

 

For each Squadron, depending on the airplane type (modern, old) and payload, which overhead is required to provide any defense? In other words, if X attacker airplanes are detected, how many Y defense airplanes need to be spawned per squadron? The Y is dependent on the type of airplane (era), payload, fuel levels, skills etc. The overhead is a factor that will calculate dynamically how many Y defenses will be required based on X attackers detected.

19. For each Squadron, which grouping will I use?

 

When multiple targets are detected, how will defense airplanes be grouped when multiple defense airplanes are spawned for multiple attackers? Per one, two, three, four?

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Tried setting up a Squadron on a carrier. But it seems like it cannot find the name "CVN-70 Carl Vinson". Maybe it doesn't work or maybe it got another name?

 

--blue vf-84 cap | F-14A @ CVN-70
BLUE_A2A_GCICAP:SetSquadron("blue vf-84 cap", "CVN-70 Carl Vinson", "blue vf-84 cap", 40)
BLUE_A2A_GCICAP:SetSquadronCapInterval( "blue vf-84 cap", 4, 30, 60, 1 )
BLUE_A2A_GCICAP:SetSquadronCap( "blue vf-84 cap", ZONE_POLYGON:New( "blue vf-84 capzone", GROUP:FindByName( "blue vf-84 capzone" ) ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronGrouping( "blue vf-84 cap", 2 )
--BLUE_A2A_GCICAP:SetSquadronTakeoffFromRunway( "blue vf-84 cap" )
--BLUE_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("blue vf-84 cap")

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

Tried setting up a Squadron on a carrier. But it seems like it cannot find the name "CVN-70 Carl Vinson". Maybe it doesn't work or maybe it got another name?

 

--blue vf-84 cap | F-14A @ CVN-70
BLUE_A2A_GCICAP:SetSquadron("blue vf-84 cap", "CVN-70 Carl Vinson", "blue vf-84 cap", 40)
BLUE_A2A_GCICAP:SetSquadronCapInterval( "blue vf-84 cap", 4, 30, 60, 1 )
BLUE_A2A_GCICAP:SetSquadronCap( "blue vf-84 cap", ZONE_POLYGON:New( "blue vf-84 capzone", GROUP:FindByName( "blue vf-84 capzone" ) ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronGrouping( "blue vf-84 cap", 2 )
--BLUE_A2A_GCICAP:SetSquadronTakeoffFromRunway( "blue vf-84 cap" )
--BLUE_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("blue vf-84 cap")

 

Check the DCS.log file.

When moose starts, it logs all airbases.

What name does it show there?

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Thanks! Got it!

14713.690 INFO    SCRIPTING:   8732(  8176)/E:            DATABASE00003._RegisterAirbases({[1]="Register Airbase:",[2]="Unit #179",})

 

Ha yes, the airbase carrier ship is a unit, not a group eh!

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

New (important) updates on release 2.2.0 pre release

 

https://github.com/FlightControl-Master/MOOSE/releases

 

 

  • New targets for the same A2G task are now reported and are assigned to the task automatically.
  • AG2 tasking is now optimized. When a task is assigned to a group, new targets detected will be added to the targets. When new targets detected results in a task type change (f.e. BAI -> SEAD), the assigned task BAI will be cancelled. And the new task SEAD is planned. Players can then engage on the new SEAD task.
  • Designate message (cannot mark) is removed. No more message spamming.
  • Designate menus are refreshed instead of removed and rebuilt. This results in a much more smooth menu creation.

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Update thursday

 

Update thursday :-)

 

Based on a request from Stonehouse, the default management of the AI_A2A_DISPATCHER has been improved. Now defaults can be set for ALL squadrons, but still for each squadron specific behaviour can be overridden from the defaults.

 

The following functions have been added and documentation has been updated.

 

 

  • Added default behaviour functions for AI_A2A_DISPATCHER:
    • function AI_A2A_DISPATCHER:SetDefaultTakeoff( Takeoff )
    • function AI_A2A_DISPATCHER:SetDefaultTakeoffFromParkingCold()
    • function AI_A2A_DISPATCHER:SetDefaultTakeoffFromParkingHot()
    • function AI_A2A_DISPATCHER:SetDefaultTakeoffFromRunway()
    • function AI_A2A_DISPATCHER:SetDefaultTakeoffInAir()
    • function AI_A2A_DISPATCHER:SetDefaultLanding( Landing )
    • function AI_A2A_DISPATCHER:SetDefaultLandingAtEngineShutdown()
    • function AI_A2A_DISPATCHER:SetDefaultLandingAtRunway()
    • function AI_A2A_DISPATCHER:SetDefaultLandingNearAirbase()
    • function AI_A2A_DISPATCHER:SetDefaultGrouping( Grouping )
    • function AI_A2A_DISPATCHER:SetDefaultOverhead( Overhead )

     

On top a couple of other fixes are implemented:

 

 

 

  • Fixed an issue in MENU_GROUP_COMMAND where changing menu parameters weren't populated into the menu when the menu had to be refreshed. It was just skipped and that was wrong.
  • Fixed reports to be shown in ESCORT class. SETTINGS now also are working in ESCORT reports. MGRS, LL, BR, metric, imperial are now supported.

8UAFJY.jpg

 

 

qGnboJ.jpg

  • Like 1

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Going to try and get this working, used to use CGICAP before mist got broke

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Going to try and get this working, used to use CGICAP before mist got broke

 

Yeah. Give it a shot. I worked hard also to get the documentation better with examples and pictures this morning. Like a step to step guide.

 

http://flightcontrol-master.github.io/MOOSE/Documentation/AI_A2A_Dispatcher.html

 

Any question you can drop here. There are no stupid questions.

There is this "border" you need to cross, I know.

 

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

First I should create a list of requirements I want this to do?

 

Top level objective , create a training area on a mission for A2A pilots to practice against spawned red AI enemy aircraft

 

It must be able to have enough red aircraft in the air at once to keep the pilots happy with victims to attack (up to 12 blue pilots against AI)

 

I would like 2 red aircraft per flight launched

 

I would like to use Mig-21 Mig-25 Su-27 template aircraft (can it select these randomly?)

 

I would like 3 cap zones active, Iam trying to create a training mission so that Red enemy aircraft are performing cap in 3 zones from 3 different airports

 

Airports to spawn from

 

Gelendzhik

 

Novorossiysk

 

Krasnodor-Center

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

I'll give it a try.......been looking at your framework for some time now

 

Emilio and others,

 

Those who don't have programming experience or don't like to code, I think there is a misunderstanding. The system is more powerful, and therefore, you'll need to learn a few things, but only a few.

 

The module you need to use is the AI_A2A_GCICAP.

There is hardly any coding required to use this module.

And gradually new things can be added.

 

Don't start building a full blown mission from scratch and then expect all to work from step 1. Start small, try out, and then increment. Using this approach you'll have it working in no time.

 

The following video series is providing guidance and proof.

You can get a working A2A defense system after watching Tutorial 1.

The tutorials are step by step walks how to setup the mission editor and

how to link the components defined in the mission editor with the "script".

 

I am not going to publish this as a "demo mission". I want you to go through the steps because only then you learn.

 

Each tutorial increases a new concept or capability.

 

 

The code that is explained in tutorial 1 is:

 

GCICAP_Red = AI_A2A_GCICAP:New( "EWR Red", "Squadron Red" )

 

This statement provides you with a full fledged working A2A defense system.

Not difficult eh. It is explained in the video what each of these symbols mean.

 

Tutorial 2 introduces borders.

Tutorial 3 introduces CAP.

Tutorial 4 introduces grouping of targets.

Tutorial 5 introduces takeoff and landing methods by default.

 

Further tutorials will follow this or next week.

 

IMPORTANT:

 

Ensure you download the Moose.lua file from this location:

 

https://github.com/FlightControl-Master/MOOSE/releases

 

The latest Moose.lua need to be grabbed is from the latest release (which is currently 2.2.0.pre).

 

 

 

Let me know how this helped.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

This testing the A2A GCICAP, I found an issue in 2.1.1, when aircraft are spawning at the airbase from the runway or in a hot or cold start.

Sometimes the aircraft route has been set, but it seems that 2.1.1 does not keep the route in its controller somehow. It does work in 1.5.6.

As a result, planes return immediately after they've taken off.

So I need to find the root cause of this.

 

It does work however when planes spawn straight in the air, which is the default setting by the way.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

An idea is to have a template mission set up with all the GCICAP options in a lua file, but commented out. Would make it easier for people not interested in learning how to create scripts.

The bad thing is that you dont learn how to do the research yourself and find it in the instructions.

 

Anyway, this would have helped me, knowing what i could use in the mission.

Like below but cleaned up and generalised.

 

 

--Setting up the objects
--BLUE_A2A_GCICAP = AI_A2A_GCICAP:New( { "blue ewr", "MAGIC" }, { } ) 
--RED_A2A_GCICAP = AI_A2A_GCICAP:New( { "red ewr" }, { } )

--Setting up the borders
--BLUE_A2A_GCICAP:SetBorderZone( ZONE_POLYGON:New( "blue border", GROUP:FindByName( "blue border" ) ) )
--RED_A2A_GCICAP:SetBorderZone( ZONE_POLYGON:New( "red border", GROUP:FindByName( "red border" ) ) )

--Setting up the blue squadrons
--blue 390th cap | F-15C @ Vaziani
--BLUE_A2A_GCICAP:SetSquadron("blue 390th cap", "Vaziani", "blue 390th cap", 40)
--BLUE_A2A_GCICAP:SetSquadronCapInterval( "blue 390th cap", 4, 30, 60, 1 )
--BLUE_A2A_GCICAP:SetSquadronCap( "blue 390th cap", ZONE_POLYGON:New( "blue 390th capzone", GROUP:FindByName( "blue 390th capzone" ) ), 4000, 10000, 700, 900, 800, 1100 )
--BLUE_A2A_GCICAP:SetSquadronGrouping( "blue 390th cap", 2 )
--BLUE_A2A_GCICAP:SetSquadronTakeoffFromRunway( "blue 390th cap" )
--BLUE_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("blue 390th cap")

--Setting up the red squadrons
--red 426th cap | MiG-29S @ Beslan
--RED_A2A_GCICAP:SetSquadron("red 426th cap", "Beslan", "red 426th cap", 40)
--RED_A2A_GCICAP:SetSquadronCapInterval( "red 426th cap", 4, 30, 60, 1 )
--RED_A2A_GCICAP:SetSquadronCap( "red 426th cap", ZONE_POLYGON:New( "red 426th capzone", GROUP:FindByName( "red 426th capzone" ) ), 4000, 10000, 700, 900, 800, 1100 )
--RED_A2A_GCICAP:SetSquadronGrouping( "red 426th cap", 2 )
--RED_A2A_GCICAP:SetSquadronTakeoffFromRunway( "red 426th cap" )
--RED_A2A_GCICAP:SetSquadronLandingAtEngineShutdown("red 426th cap")

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

An idea is to have a template mission set up with all the GCICAP options in a lua file, but commented out. Would make it easier for people not interested in learning how to create scripts.

The bad thing is that you dont learn how to do the research yourself and find it in the instructions.

 

 

Agreed Rivvern. I already did this for AI_A2A_DISPATCHER in the past.

 

Caucasus Template

 

Nevada Template

 

Normandy Template

 

 

But at that time there were very limited results.

This thing was not made in one day :-)

 

Maybe I need to create the same templates for the AI_A2A_GCICAP module may produce better results. I'll work next week on these templates and improve.

 

 

And I agree with you that if people just use the templates, they won't have a clue what is going on when the module works... I truly think people should take time and look to these tutorials if they wanna have an understanding about the mechanisms. It is not only about syntax and lua, but also how the things works and what it can do (for the moment). right?

 

Fc.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I just wanted to say a big thank you for taking the time to create MOOSE and

also for taking the time to create tutorials for use newbs to learn from

 

Tutorial #1, gave me enough to get what I wanted done


Edited by Johnny_Rico

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

First I should create a list of requirements I want this to do?

Top level objective , create a training area on a mission for A2A pilots to practice against spawned red AI enemy aircraft

It must be able to have enough red aircraft in the air at once to keep the pilots happy with victims to attack (up to 12 blue pilots against AI)

 

Hi! Johnny is it?

 

Your training objective can be done, easily.

 

 

 

It must be able to have enough red aircraft in the air at once to keep the pilots happy with victims to attack (up to 12 blue pilots against AI)

 

I would like 2 red aircraft per flight launched

 

Okay: For the 2 aircraft per flight, you need to use the SetSquadronGrouping method.

 

I would like to use Mig-21 Mig-25 Su-27 template aircraft (can it select these randomly?)

 

Can be easily done. You can define multiple templates for a squadron and the system will select one randomly.

 

I would like 3 cap zones active, Iam trying to create a training mission so that Red enemy aircraft are performing cap in 3 zones from 3 different airports

 

Airports to spawn from

 

Gelendzhik

 

Novorossiysk

 

Krasnodor-Center

 

 

OK. Can be easily setup.

 

 

I think the requirement is a fit with the current AI_A2A_GCICAP module.

I am not going to make the mission for you, I want you to take time and learn how to create a mission. There are step by step

made how to do this. It takes you between 15 minutes and 30 minutes to flick through the explanations.

 

But here are some additional guidelines:

 

Step 1. Select Gelendzhik, Novorossiysk, Krasnodor-Center. Color each airbase red coalition.

Step 2. Think which EWR unit and where to place the EWR. EWR units can be ground or airborne. EWR should be of the red coalition.

Step 3. The airplane templates should be place above the red airbases. So you need to copy these to each airbase. But that is also handy. You can select per airbase a different skin and payload. You can place multiple plane templates are multiple airbases or different types, skins, wayload, etc.

Step 4. Create your scrip.

 

 

Assuming that you have:

- The EWR name prefix set to EWR Red

- The TEMPLATE name prefixes set to Mig-21, Mig-25, Su-27

 

You can now define your GCICAP object like:

 

GCICAP_Red = AI_A2A_GCICAP:New( "EWR Red", { "Mig-21", "Mig-25", "Su-27" } )

 

Note the brackets {}!!!! The New method accepts for the EWR and TEMPLATE prefixes also a list of strings! (I still need to make a video tutorial on that).

 

That's it.

 

We'll talk about the grouping later.

 

Ensure you watch video tutorial 1.


Edited by FlightControl

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...