11# Extension "MizEdit"
22
3- One of the main concepts of DCSServerBot is to have you use any standard mission that you built or got from the
4- community and do whatever you like with it, without the need of you changing anything in the mission itself.
5- This works well for SlotBlocking already or the CreditSystem, but you can even go further and really amend the mission
6- without touching it.
3+ One of the primary features of DCSServerBot is its ability to allow users to use any standard missions,
4+ either self-created or obtained from the community, while having complete control over them without modifying the
5+ mission itself.
6+ This flexibility applies to SlotBlocking and CreditSystem configurations, but users can also make more extensive
7+ modifications to the missions itself as desired without having to open the MissionEditor at all.
78
89Sounds like magic? Well, it kinda is.
910
1011## Concept
11- The whole concept behind MizEdit is, that your mission consists out of several files that are bundled together in a
12- zipped file that ED decided to give the ".miz" extension. One of these files, the ` mission ` -file is a large lua table
13- that holds the main information about your mission, like the theatre, the date and time, the weather, all units,
14- triggers, the majority of settings and whatnot. Another one is ` options ` , which holds parts of the configuration of
15- your mission and last but not least there is ` warehouses ` , that holds information about the dedicated airports and their
16- warehouses.<br >
17- The Mission Editor writes and changes these files to represent any change that you made to your mission.
18- So - why not do that on our own, without the need of the editor?
12+ DCS World organizes a mission as multiple files within a zipped archive with the ".miz" extension, one of which is the
13+ ** mission** file - a large Lua table containing essential information about the mission such as the theater, date and time,
14+ weather, units, triggers, settings, and more.
15+ The ** options** file stores parts of the mission configuration, while the ** warehouses** file contains details about
16+ the dedicated airports and their warehouses.
17+ By using the Mission Editor to write and modify these files, any changes made to the mission are accurately represented.
18+ However, the question is: why not accomplish this directly, without relying on the editor?
1919
2020## Presets
21- Each mission change is represented in a small data-structure in yaml. I've called these "presets", as they usually will
22- work as a fixed setting for any mission you have, like any weather preset you know already from the recent DCS versions.
21+ Each modification made to a mission is stored in a compact YAML data structure that I've named "presets".
22+ These presets typically function as consistent settings that can be applied to any mission, similar to weather presets
23+ familiar from recent DCS World versions.
2324
2425> [ !NOTE]
25- > If you want to look up the presets used in DCS, you can take a look at
26+ > If you want to look up the weather- presets used in DCS World , you can take a look at
2627> ` C:\Program Files\Eagle Dynamics\DCS World\Config\Effects\clouds.lua ` .
2728
2829### config/presets.yaml
29- As you usually want to re-use your presets, they are bundled together in a larger configuration file. Each preset has
30- a name. Presets can be chained to create a combination of presets as a separate preset.
30+ Since presets are meant for frequent use, they are organized within a larger configuration file.
31+ Each preset can be given a unique name, and multiple presets can be combined to create new presets by linking them
32+ together.
3133
3234> [ !TIP]
33- > You can create any other file named presets* .yaml to better structure your presets.
35+ > You can create any other file named " presets* .yaml" to better structure your presets.
3436> If you want to use presets from another yaml file, you can specify that in your MizEdit-Extension.
3537> You can mix several presets files by specifying them as a list (see example below).
3638
@@ -84,7 +86,8 @@ With this method, you can change the following values in your mission (to be ext
8486* miscellaneous (set any miscellaneous option)
8587* difficulty (set any difficulty option)
8688
87- I highly recommend looking at a mission or options file inside your miz-file to see the structure of these settings.
89+ > [!NOTE]
90+ > I highly recommend looking at a mission or options file inside your miz-file to see the structure of these settings.
8891
8992date has different options :
9093* date: '2022-05-31' # normal date
@@ -97,13 +100,13 @@ start_time has different options:
97100* start_time: 'morning +02:00' # relative time to one of the above-mentioned moments
98101
99102> [!NOTE]
100- > The moments are calculated based on the current theatre and date. If you change the date through MizEdit, you need to
101- > set that prior to the start_time!
103+ > The moments are calculated based on the current theater and date.
104+ > If you change the date through MizEdit, you need to set that prior to the start_time!
102105>
103106> Thanks, @davidp57 for contributing the moments-part!
104107
105108# ### b) Attaching Files
106- If you want to attach files to your mission (e.g. sounds but others like scripts, etc.), you can do it like this :
109+ If you want to attach files to your mission (e.g. sounds or others like scripts, etc.), you can do it like this :
107110` ` ` yaml
108111Sounds:
109112 files:
@@ -124,8 +127,8 @@ AddFiles:
124127` ` `
125128
126129# ### c) Fog
127- With DCS 2.9.10, Eagle Dynamics added a new fog system, which allows fog animations, based on time. You can use this
128- new feature set with the bot like so :
130+ Starting with DCS 2.9.10, Eagle Dynamics added a new fog system, which allows fog animations, based on time.
131+ You can use this new feature with the bot like so :
129132` ` ` yaml
130133auto_fog: # let DCS to the fog on its own
131134 fog:
@@ -143,7 +146,7 @@ The key is the time in seconds after which the specific thickness and visibility
143146the fog changes in-between for you.
144147
145148# ### d) DCS RealWeather
146- You can run DCS RealWeather from MizEdit now :
149+ You can run DCS RealWeather from MizEdit like so :
147150` ` ` yaml
148151realweather:
149152 RealWeather:
@@ -153,10 +156,12 @@ realweather:
153156` ` `
154157
155158# ### e) Complex Modifications
156- Sometimes, only changing the weather is not enough, and you want to change some parts in the mission that are deeply
157- nested or even dependent on another parts of your mission file. This is for instance true, if you want to change
158- frequencies, TACAN codes or similar items.
159- Therefore, I developed some SQL-like query language, where you can search and change values in your mission.
159+ In certain instances, modifying only the weather may not suffice, as there may be parts of the mission that are deeply
160+ nested or dependent on other elements within the mission file.
161+ For example, adjusting frequencies, TACAN codes, or similar items can require direct access to specific areas of the
162+ mission data.
163+ To address this issue, I developed a SQL-like query language capable of searching and modifying values in the mission
164+ file.
160165
161166> [!NOTE]
162167> As this is complex and very (!) powerful, I decided to move the documentation in a separate file [here](MODIFY.md).
@@ -192,6 +197,7 @@ b) Random choice of fixed settings
192197c) Permutations
193198` ` ` yaml
194199 MizEdit:
200+ timezone: UTC # optional - provide a timezone for the time values
195201 settings:
196202 00:00-12:00: # Any permutation out of [Spring, Summer] + [Morning, Noon] + [Slight Breeze, Rainy, Heavy Storm]
197203 - - Spring
0 commit comments