Module AIBalancer
This module contains the AIBALANCER class.
1) AIBalancer#AIBALANCER class, extends Base#BASE
The AIBalancer#AIBALANCER class controls the dynamic spawning of AI GROUPS depending on a SETCLIENT. There will be as many AI GROUPS spawned as there at CLIENTS in SETCLIENT not spawned.
1.1) AIBALANCER construction method:
Create a new AIBALANCER object with the AIBALANCER.New method:
- AIBALANCER.New: Creates a new AIBALANCER object.
1.2) AIBALANCER returns AI to Airbases:
You can configure to have the AI to return to:
- AIBALANCER.ReturnToHomeAirbase: Returns the AI to the home Airbase#AIRBASE.
- AIBALANCER.ReturnToNearestAirbases: Returns the AI to the nearest friendly Airbase#AIRBASE.
1.3) AIBALANCER allows AI to patrol specific zones:
Use AIBalancer#AIBALANCER.SetPatrolZone() to specify a zone where the AI needs to patrol.
CREDITS
Dutch_Baron (James) Who you can search on the Eagle Dynamics Forums. Working together with James has resulted in the creation of the AIBALANCER class. James has shared his ideas on balancing AI with air units, and together we made a first design which you can use now :-)
SNAFU Had a couple of mails with the guys to validate, if the same concept in the GCI/CAP script could be reworked within MOOSE. None of the script code has been used however within the new AIBALANCER moose class.
Global(s)
| AIBALANCER |
Type AIBALANCER
| AIBALANCER.AIGroups | |
| AIBALANCER.ClassName | |
| AIBALANCER:New(SetClient, SpawnAI) |
Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names. |
| AIBALANCER.PatrolZone | |
| AIBALANCER.PatrolZones | |
| AIBALANCER.ReturnAirbaseSet | |
| AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange) |
Returns the AI to the home Airbase#AIRBASE. |
| AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet) |
Returns the AI to the nearest friendly Airbase#AIRBASE. |
| AIBALANCER.ReturnTresholdRange | |
| AIBALANCER.SetClient | |
| AIBALANCER:SetPatrolZone(PatrolZone) |
Let the AI patrol a Zone with a given Speed range and Altitude range. |
| AIBALANCER.SpawnAI | |
| AIBALANCER.ToHomeAirbase | |
| AIBALANCER.ToNearestAirbase | |
| AIBALANCER:_ClientAliveMonitorScheduler() |
Global(s)
Type AIBalancer
Type AIBALANCER
AIBALANCER class
Field(s)
- #string AIBALANCER.ClassName
- AIBALANCER:New(SetClient, SpawnAI)
-
Creates a new AIBALANCER object, building a set of units belonging to a coalitions, categories, countries, types or with defined prefix names.
Parameters
-
SetClient: A SET_CLIENT object that will contain the CLIENT objects to be monitored if they are alive or not (joined by a player). -
SpawnAI: A SPAWN object that will spawn the AI units required, balancing the SetClient.
Return value
#AIBALANCER: self
-
- AIBALANCER:ReturnToHomeAirbase(ReturnTresholdRange)
-
Returns the AI to the home Airbase#AIRBASE.
Parameter
-
DCSTypes#Distance ReturnTresholdRange: If there is an enemy Client#CLIENT within the ReturnTresholdRange given in meters, the AI will not return to the nearest Airbase#AIRBASE.
-
- AIBALANCER:ReturnToNearestAirbases(ReturnTresholdRange, ReturnAirbaseSet)
-
Returns the AI to the nearest friendly Airbase#AIRBASE.
Parameters
-
DCSTypes#Distance ReturnTresholdRange: If there is an enemy Client#CLIENT within the ReturnTresholdRange given in meters, the AI will not return to the nearest Airbase#AIRBASE. -
Set#SET_AIRBASE ReturnAirbaseSet: The SET of Set#SET_AIRBASEs to evaluate where to return to.
-
- AIBALANCER:SetPatrolZone(PatrolZone)
-
Let the AI patrol a Zone with a given Speed range and Altitude range.
Parameter
-
PatrolZone#PATROLZONE PatrolZone: The PatrolZone where the AI needs to patrol.
Return value
PatrolZone#PATROLZONE: self
-
- #boolean AIBALANCER.ToHomeAirbase
- #boolean AIBALANCER.ToNearestAirbase