Miz mission structure
Intro
The mission file is a lua table present within a .miz file that is accessible to the scripting engine via the table env.mission. This table is almost the entirety of the contents of a given mission.
Notes
This page will not dive into excruciating detail of every possible key and value that may exist within a mission file. If you need details it is best to make a mission file on your own with whatever you are looking for, save, open the miz via favorite zip program, and then open the mission file in your favorite text editor to explore from there.
There are a number of instances where "inactive data" may exist. For example with the weather table information on static and dynamic weather may both be present if the mission was saved with either active in the past. Some value will decide which is currently active.
Many string values will either have "DictKey" or "ResKey" in the string names followed by numbers. Anything using these values falls under "localization" where the display name or files may be changed to support different speaking language users better.
Data and Samples
coalition : table : Contains all coalition specific data including bullseye, nav_points, and all units. coalitions : table : Contains a list of country ids that belong to a given coalition currentKey : number : Value used by the editor to know what index the dictkey and reskeys are on. date : table : The date the mission takes place at with Year, Month, and Day entries descriptionText : string : Mission briefing defined under the "Situation" page on the briefing panel descriptionBlueTask : string : Blue coalition task defined on the briefing panel descriptionNeutralsTask: string : Neutral coalition task defined on the briefing panel descriptionRedTask : string : Red coalition task defined on the briefing panel drawings : table : Table containing information on any drawing placed in the editor. failures : table : Only valid for single player missions. Lists failure parameters for whichever aircraft is set to player. If none are set to player it still populates. forcedOptions : table : Options that are forced by the mission and their corresponding settings. groundControl : table : Data on the number of Combined Arms slots and their respective coalitions is found here map : table : Last position of the map view the user was looking at when the mission was saved. maxDictId : number : Internal value used to keep track of what the next unit and group id to use is. pictureFileNameN : table : Neutral coalition briefing images pictureFileNameB : table : Blue coalition briefing images pictureFileNameR : table : Red coalition briefing images requiredModules : table : Table of mod names whose units are present within the mission. result : table : Conditions and actions defined by mission goals in the editor to decide if a mission is "won" start_time : number : Time in seconds since midnight for the date set when the mission starts sortie : string : Name of the mission as defined in the briefing panel. theatre : string : Name of the map the mission takes place on triggers : table : Table of trigger zones indexed numerically trig : table : Table containing every single trigger. trigRules : table : Another table containing data on triggers version : number : Value used by the mission editor to know roughly which iteration of the editor the mission was saved in. Used for compatibility warning messages if you open a newer mission in an older editor. weather : table : Table with weather data
Coalition
The coalition table will be the single largest table entry within the mission file due to it containing every single group and its tasking within the mission. For further details on that see DCS_exam_group_plane for an aircraft group.
["coalition"] = { ["blue"] = { ["bullseye"] = --- vec2 coordinate of bullseye { ["y"] = 7997.1308571432, ["x"] = 5961.7548571437, }, -- end of ["bullseye"] ["nav_points"] = { [1] = { ["type"] = "Default", ["comment"] = "", ["callsignStr"] = "ADDER", ["id"] = 165, ["properties"] = { ["vnav"] = 1, ["scale"] = 0, ["vangle"] = 0, ["angle"] = 0, ["steer"] = 2, }, -- end of ["properties"] ["y"] = 565294.38378226, ["x"] = -258679.99585824, ["callsign"] = 8, }, -- end of [1] [2] = { ["type"] = "Default", ["comment"] = "", ["callsignStr"] = "TankerWest", ["id"] = 166, ["properties"] = { ["vnav"] = 1, ["scale"] = 0, ["vangle"] = 0, ["angle"] = 0, ["steer"] = 0, }, -- end of ["properties"] ["y"] = 582950.21212368, ["x"] = -235302.37129506, }, -- end of [2] }, -- end of ["nav_points"] }, -- end of ["nav_points"] ["name"] = "blue", ["country"] = { [1] = { ["id"] = 46, -- country id ["name"] = "Sweden", ["plane"] = { ["group"] = {}, -- list of groups }, ["helicopter"] = {}, ["ship"] = {}, ["vehicle"] = {}, ["static"] = {}, }, }, }, }, },
Drawings
Triggers
Trigger zones are indexed numerically.
triggers = { zones = { [44] = { ["radius"] = 3000, ["zoneId"] = 347, ["color"] = { [1] = 1, [2] = 1, [3] = 1, [4] = 0.15, }, -- end of ["color"] ["properties"] = { [1] = { ["key"] = "lat", ["value"] = "B", }, -- end of [1] [2] = { ["key"] = "str", ["value"] = "East Esmaeil Abad", }, -- end of [2] [3] = { ["key"] = "type", ["value"] = "obj", }, -- end of [3] }, -- end of ["properties"] ["hidden"] = false, ["y"] = -282851.07616364, ["x"] = 381072.16872345, ["name"] = "OBJB20", ["type"] = 2, ["verticies"] = { [1] = { ["y"] = -298019.23760703, ["x"] = 376996.1784471, }, -- end of [1] [2] = { ["y"] = -276624.3163146, ["x"] = 367168.69201007, }, -- end of [2] [3] = { ["y"] = -269277.86743708, ["x"] = 384020.41465456, }, -- end of [3] [4] = { ["y"] = -287482.88329585, ["x"] = 396103.38978206, }, -- end of [4] }, -- end of ["verticies"] }, -- end of [44] }, },
Weather
["weather"] = { ["atmosphere_type"] = 0, ["wind"] = { ["at8000"] = { ["speed"] = 19.5852, ["dir"] = 42, }, -- end of ["at8000"] ["at2000"] = { ["speed"] = 7.2156, ["dir"] = 130, }, -- end of ["at2000"] ["atGround"] = { ["speed"] = 3.0924, ["dir"] = 129.99998663662, }, -- end of ["atGround"] }, -- end of ["wind"] ["enable_fog"] = false, ["qnh"] = 760, ["visibility"] = { ["distance"] = 80000, }, -- end of ["visibility"] ["season"] = { ["temperature"] = 15, }, -- end of ["season"] ["type_weather"] = 0, ["modifiedTime"] = true, ["cyclones"] = { [1] = { ["pressure_spread"] = 859512.46434831, ["centerZ"] = -17427.670420512, ["ellipticity"] = 1.1876490209814, ["rotation"] = 0.58150839105332, ["pressure_excess"] = -1034, ["centerX"] = 228564.94108067, }, -- end of [1] }, -- end of ["cyclones"] ["name"] = "Winter, clean sky", ["dust_density"] = 0, ["groundTurbulence"] = 1.8288, ["fog"] = { ["thickness"] = 0, ["visibility"] = 25, }, -- end of ["fog"] ["enable_dust"] = false, ["clouds"] = { ["thickness"] = 1570, ["density"] = 7, ["preset"] = "Preset7", ["base"] = 4300, ["iprecptns"] = 0, }, -- end of ["clouds"] }, -- end of ["weather"]