Zenophon veröffentlichte sein ArmA3 Co-op Mission Making Framework in den Bi-Foren.
The framework works with any map and requires no addons. It is compatible with any mod because you choose which functions execute. There is effectively no performance impact to compile the entire framework, and every function has been diligently optimized. All 150 public functions are also carefully documented in an exacting style, and many resources are provided to help you learn to use the framework. The framework is created with these goals in mind:
• Simple co-op fun for both players and mission makers
• Bottom-up design using flexible pieces that you control
• Truly random and dynamic missions without extra work for mission designers
• Procedural mission design instead of manual placement using the editor
• Eliminating large, static functions with assumptions about what you want in your mission
• Server-oriented execution to create more efficient multiplayer missions
• A simplification of locality and interacting with clients in multiplayer
• A solid, powerful, and bug-free library to use as a foundation for your own code
The framework's many functions are divided into 12 categories with a specific purpose:
1. The Data functions are the foundation of the framework, supporting both simple and complex operations on arrays and strings.
2. The Fire Support system is a tool for mission makers, not players, to create any imaginable artillery, mortar, or airstrike.
3. The Loadout functions, including a full custom loadout system, provide every option you need to easily equip both players and AI.
4. The Math functions are auxiliary functions that deal with various 2D trigonometric operations on positions and polygons.
5. The Misc functions are just that, miscellaneous. They don't fit in anywhere else, but are still useful.
6. The Object functions deal with objects, and provide numerous ways to check on and interact with players, AI, and static objects.
7. The Objective system is designed to make side missions extremely simple for mission makers with just one line of code.
8. The Orders functions provide a tested and working way to make AI do things, and some offer simple but powerful randomization.
9. The Position system generates random positions, and filters them 10 different ways, allowing infinite possibilities in a single mission.
10. The Spawning functions allow you to spawn any object, AI or static, that you need and offer both straightforward and randomized spawning.
11. The Task system is a complex system are meant to separate the mission maker completely from the issues of tasks, making any task operation simple.
12. The Trigger functions perform operations on tasks based on preset conditions and are designed to complement the Task system.
- Fixed: Zen_FindGroundPosition allowed a selected road to be outside the area, decreasing performance
- Fixed: Zen_FindRoadDirection prints out a full stack trace when no road is found
- Fixed: Zen_OrderInfantryPatrol AI pathfinding for avoiding the minimum area
- Added: Zen_OrderAircraftPatrol, Zen_OrderBoatPatrol, Zen_OrderInfantryPatrol, and Zen_OrderVehiclePatrol parameters for multiple patrol areas
- Added: Zen_OrderAircraftPatrol, Zen_OrderBoatPatrol, and Zen_OrderVehiclePatrol parameter for AI behavior
- Added: Zen_OrderVehiclePatrol parameter for road positions
- Improved: Zen_ArrayGetIndexedSlice now accepts ending indexes greater than the array size
- Improved: Zen_FindRoadDirection only prints an error if there is no road nearby when Zen_Debug_Arguments is true
- Improved: Zen_OrderVehicleMove completion condition adapts to the type of vehicle
- Improved: Framework JIP check
- Documentation: Improved for Zen_OrderInfantryMove
- Documentation: Updated for Zen_ArrayGetIndexedSlice, Zen_OrderAircraftPatrol, Zen_OrderBoatPatrol, Zen_OrderInfantryPatrol, Zen_OrderVehicleMove, and - Zen_OrderVehiclePatrol
- Documentation: Updated Notepad++ SQF language and autocompletion file with ArmA 1.50 stable commands
ArmA3 Co-op Mission Making Framework