Releases: FlightControl-Master/MOOSE
MOOSE Release 2.3 alpha - (EARLY ADOPTERS VERSION)
For those who want to use the latest of the latest, use the following Moose.lua files...
Note that this version of MOOSE contain prototype methods, and are bound to change.
However, when methods are changed, I will communicate that, so you can adapt your missions.
I will try to keep the changes to the minimum.
The MOOSE framework come delivered in one lua file. There are two versions of this file, but with different file sizes.
-
Moose.lua (with comments, larger file) ... For mission designers, who are developing missions and want to check upon errors appearing in the dcs.log or have a detailed code reference etc.
-
Moose_.lua (without comments, smaller file) ... For runtime environments, to facilitate quicker downloads of mission files and performance.
You can download the files in the Downloads section below.
To use, include the Moose.lua in your .miz file using a DO SCRIPT Trigger. Mission Designers need to read here for a detailed usage description. Consult the MOOSE documentation for further details on the framework.
List of changes:
- Menu optimization for A2G and DESIGNATE.
- Moved commandcenter menu to Group level. It is only generated when a Mission menu is generated.
- Removed S_EVENT_PLAYER_ENTER_UNIT events and S_EVENT_PLAYER_LEAVE_UNIT events. They don't work anyway properly in MP. No deal there.
- Added marking of task on map when also assigned.
- A BAI task won't be converted to a CAS task when a friendly airplane is nearby.
- Only the top 5 tasks will be listed in the menu to prevent a menu overflow and menus won't be synced.
- Fixed the issue in AI_BALANCER.
- Fixed the issue with autolase in designate.
- Fixed dissappearing menus in A2G tasking... It was RAT or MENU_MISSION that caused it.
- Fixed issue in BASE:ScheduleOnce and BASE:ScheduleRepeat which caused issues in Capture Coalitions.
- Fixed issue with MISSILETRAINER.
- Fixed issue in BASE with methods ScheduleOnce and ScheduleRepeat, which would allocate SchedulerObject which would confuse SCHEDULER!
- Fixes with Tracing in RAT.
- Fixes with BASE.Debug in EVENT.
- Added interactive debugging.
- Fixed menus dissapearing.
- Extended the Waypoint functions of COORDINATE with new methods for Air operations:
- function COORDINATE:WaypointAirTurningPoint( AltType, Speed )
- function COORDINATE:WaypointAirFlyOverPoint( AltType, Speed )
- function COORDINATE:WaypointAirTakeOffParkingHot( AltType, Speed )
- function COORDINATE:WaypointAirTakeOffParking( AltType, Speed )
- function COORDINATE:WaypointAirTakeOffRunway( AltType, Speed )
- function COORDINATE:WaypointAirLanding( Speed )
- Introduction of the ZONE_CAPTURE_COALITION class, which is an exciting new capability within the MOOSE framework!
- ATC_GROUND now has default speed limits per map, and default takeoff prevention speeds per map. These speed limits can be modified using the underlying methods for all airbases or for one specific airbase.
- For Caucasus: 50 km/h and 150 km/h.
- For Nevada: 50 km/h and 150 km/h.
- For Normandy: 40 km/h and 100 km/h.
- ATC_GROUND: New methods to prevent players from taking off at the runway. Players are kicked without warning:
- :SetMaximumKickSpeed() - Prevents takeoff speed limit in meters per second.
- :SetMaximumKickSpeedKmph() - Prevents takeoff speed limit in kilometers per hour.
- :SetMaximumKickSpeedMiph() - Prevents takeoff speed limit in miles per hour.
- ATC_GROUND: Updated methods to limit the speed on the airbases:
- :SetKickSpeed() - Specifies speed limit in meters per second.
- :SetKickSpeedKmph() - Specifies speed limit in kilometers per hour.
- :SetKickSpeedMiph() - Specifies speed limit in miles per hour.
- Ensure that ATC_GROUND classes in the :New() constructor return itself!
- Added new ATC_GROUND class.
- Modified :SpawnInZone(), :SpawnFromVec2(), :SpawnFromStatic(), :SpawnFromUnit() specifying an optional MinHeight and MaxHeight as a parameter, so that the mission designer can choose if he wanna use the group height set in the mission editor for spawn or a random height specified by the parameters.
- Disabled the logic of Fratricide until a DCS bug gets fixed by ED. There is no workaround possible. Units containing a player cannot be destroyed using Unit:destroy() API in multi player when the player is seated in a Unit from a Client connected PC to the Server.
- Fixed error in AI_A2A_PATROL due to a stupid error that sneaked into the logic due to a variable rename. Fixed now! (sorry). This problem stopped AI_A2A_DISPATCHER patrolling.
- By default, hit messages are disabled. They can be enabled by using SCORING:SetMessagesHit().
- Added GOAL, ZONE_GOAL, ZONE_GOAL_COALITION, ZONE_CAPTURE_COALITION classes to model capturing of Zones by a Coalition.
- Added on the ZONE class an improved search method to search for SCENERY in a ZONE. Added also methods ZONE:GetScannedScenery() and ZONE:GetScannedSceneryType() methods to inspect which Scenery has been found after a Zone:Scan()...
- Added USERFLAG class to manage user flags.
- Added USERSOUND class to manage sounds.
- Added SET_BASE:GetSetNames() to return an array of the object names of a Set. (Created dynamic lists based on mission editor groups defined).
- Added SET_BASE:GetSetObjects().
- Revised the message naming.
- Optimized the code for GetScannedCoalition.
- Markings text optimized for ZONE_CAPTURE_COALITION. Now the owning coalition is also shown.
- Added ZONE_POLYGON:NewFromGroupName() to ease the syntax.
- Renamed Functional.Spawn#SPAWN to Core.Spawn#SPAWN.
- Added method SPAWN:InitRandomizeTemplatePrefixes().
- Added Templating from a SET_GROUP object in SPAWN. Added SPAWN:InitRandomizeTemplateSet and SPAWN:InitRandomizeTemplatePrefixes().
MOOSE Release 2.2.0 - (See patches)
LATEST RELEASE OF MOOSE 2.2.0.
The new Release 2.2.0 of the MOOSE framework has a focus on bringing or extending the A2A and A2G capabilities!, and it brings a lot of fixes and optimizations.
All the available MOOSE classes come delivered in one Moose.lua file. There are two versions of this file that are functional (work), but with different file sizes:
-
Moose.lua (with comments, 2.1MB) ... For mission designers, who are developing missions and want to check upon errors appearing in the dcs.log or have a detailed code reference etc.
-
Moose_.lua (without comments, 0.8MB) ... For runtime environments, to facilitate quicker downloads of mission files and performance.
To use, include the Moose.lua in your .miz file using a DO SCRIPT Trigger. Mission Designers need to read here for a detailed usage description. Consult the MOOSE documentation for further details on the framework.
Find here a short summary of each added function block, with a link to the documentation.
1. Setup an advanced AI Air Defense System
The AI_A2A_DISPATCHER is a new class, that brings a GCICAP capability to be used by mission designers. It is very versatile, introduces squadrons located at specific airbases.
The GCICAP is not a one to one conceptual copy of the existing GCICAP script, a lot of new stuff has been added, lots of improvements have been made, and more flexibility has now become possible to tweak the behaviour.
Per squadron defined, specific options can be set:
- Execute Control Air Patrol (CAP) at defined zones.
- Execute Ground Control Intercept (GCI) towards intruders.
- Define the defense overhead, meaning, the amount of defending planes to be spawned based on the attackers counted.
- Define the grouping of the defenders, group per 1, 2, 3, 4.
- Define the border zones
- Define the take-off methods.
- Define the landing methods.
- Resource management.
- Airborne Refuel management of CAP planes.
A derived class from AI_A2A_DISPATCHER is AI_A2A_GCICAP, which brings a more end-user friendly implementation, where noob users can configure easily a defense system and visually place the squadrons on the defending airbases and define the zones. A lot is defaulted.
2. Dispatch INTERCEPT, ENGAGE, SWEEP tasks to online players
The TASK_A2A_DISPATCHER defines tasks for human players to engage upon in order to accomplish a larger mission, and is the human counterpart of the AI_A2A_DISPATCHER.
The system provides a true dynamic environment for mission designers and players to define exciting missions.
The system uses the DETECTION_ class suite to detect targets, which are reported to a COMMANDCENTER. The COMMANDCENTER is then collecting and grouping the detections and planning or assigning tasks to individual players who are logged onto the server. A complete menu system is defined that allows players to interact with the tasking system: enquire the briefing, enquire reports on the different tasks, enquire status and engage/abort tasks...
The TASK_A2A_DISPATCHER works together with the SCORING class to setup exciting scoring schemes to allow mission designers to accomplish individual scores on a score board.
3. Dispatch CAS, BAI and SEAD tasks to online players
The TASK_A2A_DISPATCHER is built on the overall TASKING system, which also the TASK_A2G_DISPATCHER is using. As a result, the TASK_A2G_DISPATCHER has also been improved, especially the menu system and the overall coordination of the difeerent tasks.
4. Settings and Options management for online players
The SETTINGS class is a new capability within MOOSE that allows to define various settings for different moose classes, and are kept persistent per server for players. The current settings that are modeled are for A2G and A2A formats used during communications, like BR, LL, MGRS, BULLS, BRAA ... Additionally, an imperial and metric measure system has been setup.
So players can use this menu to configure their own preferred settings, and automatically the system will use the right communication format during routing, briefings etc.
On top, COMMANDCENTERS will have menus to setup the default settings for a server.
The system is automatically included within the MOOSE system and these menus will be automatically available when you design missions using MOOSE.
5. Keep airbases clean from clutter and debris
This class has been a while in MOOSE, but has now been completely revised and improved. Use the the class to keep your airbases clean and to guarantee airbase operations (airbases stop operations if a plane crashes on the runway, or if any missile or bomb is dropped on the runway).
6. Let online players Transport Infantry to various locations
The release 2.1 of MOOSE introduced the TASK_CARGO_TRANSPORT capability. The system has been heavily debugged and more functionality has been added, like automatic respawing of cargo when it is destroyed in the field, or when a carrier crashed when the cargo was loaded in the carrier etc. The menu system to transport cargo has been optimized, and the overall workings have been improved and bugs have been resolved.
7. Setup Random Air Traffic, make use of the airspace!
The new RAT class, which implements Random Air Traffic, has been added, and is a development of FunkyFranky... (Frank)... He has done a magnificent job and I really encourage you all to try this out. I will let Frank introduce further the RAT class in a separate post!
8. Reduction of moose.lua file size!
Based on a great idea of Shadowze, an optimization has been done to reduce the moose.lua file size from 2.1 MB to 0.8 MB. This results in faster mission loading, faster performance.
We hope that Release 2.2.0.pre of MOOSE will even more increase the fun level for DCS fans while using the MOOSE framework.
Thanks to all those who have helped and contributed!
Thanks,
FC and FunkyFranky