Creating Landing Zones By HDN
AILandingZone . createLandingZone name x1/z1 x2/z2 direction
- Landing Zones are created much like Strategic Areas with a bottom-left coordinate and a top-right coordinate.
- Unlike Strategic Areas, Landing Zones use real map coordinates for x2/z2 (in other words, you do not have to use xx2 = (x2 - x1) / 2 + x1 )
- Statement appears after all Strategic Area definitions (AIStrategicArea.Create)
Direction
Landing Zones require a direction from which the bots will attempt to land. These directions are hard coded as LZZMax, LZXMax, LZZMin, LZXMin. They are defined as follows:
- LZZMax - Towards Z Max - North
- LZXMax - Towards X Max - East
- LZZMin - Towards Z Zero - South
- LZXMin - Towards X Zero - West
The direction specifies on which edge of the Landing Zone box the bots will travel towards and attempt to land on(when they reach the end of the LandingCraft3 pathmap).
The Landing Zone direction can be seen in game with bot stats on as a dark green line beneath the lighter green edge of the Landing Zone box.
An Example:
- AILandingZone . createLandingZone WestLanding 816/816 898/946 LZZMin
Creates a Landing Zone called WestLanding with a box at the specified coordinates with a direction towards Z zero (west).
Attaching Landing Zones to Strategic Areas
AIStrategicArea.attachLandingZone name
- Attach a landing zone to a Strategic Area. Called when creating a Strategic Area.
- Typically placed after AIStrategicArea.AddAllowedVehicleGroup and before AIStrategicArea.AddNeighbour statements.
- Strategic Areas can have more than one Landing Zone
AIStrategicArea.addLandingZoneUnit unitName
- Allow unit to use Landing Zone (?) Must be added to a Strategic Area that has a Landing Zone attached.
- Can appear before or after AIStrategicArea.attachLandingZone statement, but only once per Strategic Area.
- unitName is LandingCraft in most (all?) of the original maps, possible to change to nother types of vehicles?
Once a Landing Zone has been attached to a Strategic Area, it appears linked in game with a green line going from the center of the Landing Zone box to the center of the Strategic Area box (assuming you have bot stats on).
An Example:
- AIStrategicArea.attachLandingZone WestLanding
- AIStrategicArea.attachLandingZone CenterLanding
- AIStrategicArea.addLandingZoneUnit LandingCraft
Notes on using Landing Craft and Landing Zones
The following files must have a specific code block encapsulating all statements:
- AIpathfinding.con
- AI/conditions.con
- AI/prerequsites.con
- AI/StrategicAreas.con
- AI/Strategies.con
The code is as follows:
if v_arg1 == host
... file contents ...
endif
additionally AI.con must have the following blocks:
if v_arg1 == host
... every statement from aiSettings.setWorldMapSize to ai.botStatisticUpdateSpeed ...
endif
run AIPathFinding.con v_arg1
run ai/StrategicAreas.con v_arg1
run ai/conditions.con v_arg1
run ai/prerequisites.con v_arg1
run ai/Strategies.con v_arg1
if v_arg1 == host
... list of strategies ...
endif
Without the v_arg1 blocks thebots will not use landing craft. The will get in landing craft, but they will not move.
Maps without landing crafts or boats can safely have these code blocks as well (all Secret Weapons maps do).
It appears this v_arg1 code block was added sometime around Secret Weapons because none of the original or Road To Rome maps have the code in their base rfa's. The code appears in later rfa revisions for the affected water based maps.
Please note that even if a map does include the above code, it will not necessarily work with landing craft until appropriate strategies are implemented for landing craft.