Updated RotorOps: Mission Creator Guide (markdown)

spencershepard 2022-03-21 20:24:45 -07:00
parent 55ebb30e6b
commit 549beb7069

@ -1,28 +1,81 @@
# RotorOps: Conflict mission design the easy way!
The easiest way to get started is to download one of the demo missions. Open a template in the mission editor and you can see how everything works and start creating your mission right away. Important bits are the triggers, trigger zones, and advanced waypoint actions (for AI troop drops). These missions are much more simple than you might expect, and that's the goal of this project!
# Customization
# Advanced Usage for RotorOps: Conflict
If you'd like to set up a Conflict mission from scratch or add to your existing missions, you'll need to:
1) Download this repository: https://github.com/spencershepard/RotorOps/archive/refs/heads/main.zip
2) Create a new mission with at least two trigger zones. Call one 'STAGING' and the other 'ALPHA'.
3) Put attacking ground units in the staging zone, and defending units in the conflict zones (ie 'ALPHA', 'BRAVO', etc)
2) Add 'SOUND TO COUNTRY' actions to load all of the sound effect files from the 'sounds/embedded/' folder.
3) Add 'DO SCRIPT FILE' trigger actions to load MIST, Splash Damage 2, CTLD, and RotorOps scripts.
4) Add 'DO SCRIPT' trigger action to initiate the RotorOps: Conflict game mode with the trigger zones you created.
The RotorOps mission generator can load custom templates that define the base mission, and friendly and enemy forces to be populated. These templates are simply .miz files that can be created in the DCS mission editor.
**Defensive mode: The player side can either be the aggressors or defensive. The coalition of the units you place in the Staging zone will be the aggressors. So to make the AI enemy attack players, put red units in the staging area and blue units in the other zones. This affects voiceovers and game flags. **
## Scenarios
## Sound file setup
Add 'SOUND TO COUNTRY' actions for a trigger action as in the image below. Add every sound file from the sounds/embedded folder. This is a bit of a hacky way to get the files to embed in the .miz file so that our script can use them.
A Scenario is a mission template for the generator. At its most basic, it defines the map, the conflict zones, and the friendly/enemy start points.
![](https://github.com/spencershepard/RotorOps/blob/develop/documentation/images/trigger%20sounds.PNG?raw=true)
A RotorOps Scenario is simply a .miz file in the Generator/Scenarios folder. If you add a .miz file here, it will show up in the generator.
## Script setup
Add a 'DO SCRIPT FILE' for each of the script files as in the image below.
### Changing zone locations
![](https://github.com/spencershepard/RotorOps/blob/develop/documentation/images/trigger%20load.PNG?raw=true)
The easiest way to get started with making your own scenario is to open one of the existing files, move the zones where you like, and save it as a new file. Use the existing scenario templates as a guide, and keep the zone sizes and distances reasonable.
- Put zone centers over open areas.
- Imagine the path that ground forces will need to take between zones
- Test your scenario for ground unit movement and travel time. You can use Ctrl-Z to speed up time for testing purposes.
In the same trigger, you can add another 'DO SCRIPT' action to paste the following code:
### Advanced Scenario Creation
A Scenario template can contain almost any mission asset from the DCS mission editor, including but not limited to:
- additional units
- triggers
- scripts
- spawns
- briefing text/images
Included in the RotorOps/sound directory is a large library of voiceovers for use in your missions.
With some care and creativity in your scenario mission design, you can replay it again and again with the variety provided by the mission generator.
## Imports
A breakthrough feature of mission design with RotorOps is the ability to import complex arrangements of statics and vehicles. This allows you to create reusable mission assets like bases, FARPs, objective sites, or just about anything you can imagine building in the mission editor. You can place these on any map, at your desired point, rotation and coalition!
A selection of FOBs, FARPs, and other objects are available in the Imports folder. Included are multiplayer FOBs with up to 16 helicopter spawns! A guide to the included templates is available here: [RotorOps IMPORT Assets](http://dcs-helicopters.com/wp-content/uploads/2022/03/RotorOps_IMPORT_TEMPLATES-1.pdf)
To use an import template:
1) Place a static mark flag in the scenario template mission.
2) Change the group name to 'IMPORT-filename', where the filename is a .miz file in the Generator/Imports folder.
3) Change the flag coalition to CJTF Blue/Red or UN Peacekeepers.
4) Change the flag heading and position as desired.
5) Change the flag UNIT NAME to something relevant (ie. 'North Base')
6) For multiple imports of the same template, the import object GROUP NAME should end with '-01' etc
To create a new import template:
1) Make an empty mission on Caucasus.
2) Place units/objects on the map.
3) Make one unit group name: 'ANCHOR' This will represent the point of insertion/rotation in the target mission.
4) Save the template .miz file in Generator/Imports
## Forces Templates
The friendly/enemy forces templates available in the generator are simply .miz files in the Generator/Forces folder.
A Forces template defines the groups of ground units available, AI aircraft, liveries, and loadouts.
To create your own Forces template:
1) Create an empty mission on Caucasus
2) Add ground unit groups.
3) Save the mission in this directory.
Optional:
4) Add helicopters with "CAS" main task for attack helicopters.
5) Add helicopters with "Transport" main task for transport helicopters.
6) Add planes with "CAS" main task for attack planes.
7) Add planes with "CAP" main task for fighters.
8) Configure loadouts, liveries, and skill for aircraft.
Tips:
- The mission generator will only extract blue ground units from the template when selected from the "Blue Forces" menu, and vice versa.
- Only unit types are used from ground units. Liveries or other attributes are able to be copied.
- For aircraft, group size is currently capped at 2 units per group to help prevent issues with parking. Only the first unit in the group is used as a source.
## How the script works
In a generated mission, you will find a DO SCRIPT trigger action similar to this:
```
RotorOps.stagingZone('STAGING')
RotorOps.addZone('ALPHA', 101)
@ -47,7 +100,7 @@ Note: If players are defensive, the game is won when all enemy units from the st
This can be called at any point to kick off the Conflict game, so you can move this to another trigger function if you wish. When this function runs, all ground units currently in the staging area will be sent to the first conflict zone.
**_Script loading timing: You must load the RotorOps.lua script immediately after the CTLD script. You may need to _**
**_Script loading timing: You must load the RotorOps.lua script immediately after the CTLD script.**
# Mission Editor code snippets
Copy and paste these codes snippets into your waypoint actions.
@ -62,7 +115,6 @@ local this_group = ...
RotorOps.deployTroops(8, this_group)
```
This is handy to add friendly or enemy reinforcements in combination with mission triggers. Demo missions will include at least one example of this usage. If you deploy troops into a Conflict Zone using this method, they will be controlled with the RotorOps AI.
## Zone Status Triggers
@ -77,7 +129,5 @@ If you don't want infantry to move from a rooftop, or support vehicles to move f
`noai` . This is not case sensitive, and the string is configurable in the script options as well. So you could name a group 'Ground-1noai' or 'Ground-3 NOAI' and it would prevent the script from controlling their movement.
# Options
At the beginning of the script file you will find the available dynamic and static options. The dynamic options can be changed at any time from a DO SCRIPT in the mission editor. The static options must be changed after the RotorOps.lua script has loaded, and BEFORE the startConflict() function. For example, if you want to override the default setting and turn on CTLD crates, you would type add the following line to a DO SCRIPT before startConflict()
```RotorOps.CTLD_crates = true```
At the beginning of the script file you will find the available dynamic and static options. The dynamic options can be changed from a DO SCRIPT in the mission editor at any time. The static options must be changed after the RotorOps.lua script has loaded and BEFORE the startConflict() function.