Difference between revisions of "Multiplayer mission creation"

From War Thunder Wiki
Jump to: navigation, search
m (Added two images)
m
 
(81 intermediate revisions by 8 users not shown)
Line 3: Line 3:
 
= How to create a basic multiplayer mission =
 
= How to create a basic multiplayer mission =
  
:1. Run mission editor (missioned.cmd in WarThunderCDK folder).[[File:Multiplayer Mission Properties.jpg|thumb]]
+
[[File:Multiplayer Mission Properties.jpg|250px|thumb|right]]
 +
 
 +
:1. Run mission editor (missioned.cmd in WarThunderCDK folder).
 
:2. Select a map in '''Select binary dump file''' window by pressing '''...''' tab (all map files are stored here: '''WarThunder\levels''')
 
:2. Select a map in '''Select binary dump file''' window by pressing '''...''' tab (all map files are stored here: '''WarThunder\levels''')
 
::''Note: You can edit a mission without loaded map, location in scene viewer is just a preview.''
 
::''Note: You can edit a mission without loaded map, location in scene viewer is just a preview.''
Line 9: Line 11:
  
 
::*Choose the side toolbar '''Mission Settings -> mission'''
 
::*Choose the side toolbar '''Mission Settings -> mission'''
::*Choose a name for your mission in '''name''' tab
 
::''Note: You can't use capital letters and there should be no spaces''
 
 
::*Choose a name for your mission that will be displayed for other players in '''locName''' tab
 
::*Choose a name for your mission that will be displayed for other players in '''locName''' tab
 
::''Note: You can use space there and for example write down '''[Multiplayer Mission] Test'''''
 
::''Note: You can use space there and for example write down '''[Multiplayer Mission] Test'''''
Line 17: Line 17:
 
::*Choose a location map in '''level''' tab
 
::*Choose a location map in '''level''' tab
 
::*Choose time of a day and weather in '''Weather params''' tab
 
::*Choose time of a day and weather in '''Weather params''' tab
 +
::''Not needed since you can do that in custom battle settings''
 
::*If you want to make it a free for all mode (everyone vs everyone without teams) then go to '''Game type params''' and enable '''gt_ffa''' and '''gt_ffa_deathmatch''' options
 
::*If you want to make it a free for all mode (everyone vs everyone without teams) then go to '''Game type params''' and enable '''gt_ffa''' and '''gt_ffa_deathmatch''' options
 
::*Change the number of tickets in '''scoreLimit''' which you can find in '''Versus params''' tab
 
::*Change the number of tickets in '''scoreLimit''' which you can find in '''Versus params''' tab
::''Note: by default it's set to 500''
+
::''Note: by default it is set to 500''
 
::*Change the number of tickets that are lost after someone dies in '''deathPenaltyMul''' which you can find in '''Versus params''' tab
 
::*Change the number of tickets that are lost after someone dies in '''deathPenaltyMul''' which you can find in '''Versus params''' tab
::''Note: by default it's set to 1 so it will remove 100 tickets from one of teams every time someone dies, if for example you set it to 0.1 then the game will remove 10 tickets when someone dies''
+
::''Note: by default it is set to 1 so it will remove 100 tickets from one of teams every time someone dies, if for example you set it to 0.1 then the game will remove 10 tickets when someone dies''
 +
 
 +
==='''Optional if you want to make it work with CSV files'''===
 +
 
 +
::*Save your mission somewhere as a .blk file
 +
::*Open it in notepad
 +
::*Under ''mission{'' add this line:
 +
name:t="basic_multiplayer_mission"
 +
::''Note: You can't use capital letters and there should be no spaces''
 +
 
 +
==='''Important notes'''===
 +
 
 +
:*It is not possible to use '''imports''' function in multiplayer missions
 +
:*There's a size limit for multiplayer missions and it is set to 512 KB, so if you are planning to add lots of [[Triggers|triggers]] try to optimize them as much as it is possible, using [[Variables|variables]] for that is a really good idea, also don't forget about '''useForTriggerFiltered''' option which makes it possible for actions to select only a few units that meet '''conditions''' (it is the best to use '''squad''' unit which consist of many units in it), this option is available in many actions.
 +
:*If you are planning to change properties of selected player units (for example to repair selected units if they enter one of previously added areas) it is a really good idea to create a '''squad''' unit, put there all player units (all t1_player, t2_player units) and call it '''all_players_squad'''.
 +
:*It is possible to use [[CSV files for missions|CSV files]] in multiplayer missions but every player needs to download them before joining to the custom battle with a custom multiplayer mission if they want to see objectives, hints and other messages.
 +
:*It is possible to use custom weather settings in multiplayer mission (like '''forceSkiesInitialRandomSeed''') but you need to make sure that mission weather matches custom battle weather type (so for example in both it is set to '''blind''' or '''good''').
 +
:*Players are able to spawn in multiplayer missions 30 seconds after the start.
 +
:*All triggers in multiplayer mission are starting to work 30 seconds after the start of mission, unless its '''Event''' is set to '''initMission'''.
 +
:*Do not enable or disable all available "Game type parameters", only those that you want should be enabled and even when they are unchecked it can cause issues which will make the mission unplayable, it is the best to leave them disabled (if you pressed them then just press ''[...]'' button and then select ''Remove'').
 +
:*The other function that can prevent the mission from launching is ''units_include'', it should always be disabled and if it is not then just remove it by using ''[...]'' button.
 +
:*Only up to 512 units (structures, tankModels etc.) can be added in multiplayer missions and there can be up to 1500 objectGroups units.
 +
 
 +
:* You can find more information about the Mission Editor '''[[Instructions for Using the Mission Editor|here]]''' and more information about triggers '''[[Triggers|here]]'''
  
 
== Creating slots for players ==
 
== Creating slots for players ==
 +
The first and the most important thing that is needed to make the mission work is to make it possible for players to join to the battle. You can do that by adding "slots", multiplayer mission needs to have at least two of them to be playable.
  
:[[File:Unit Creation Icon.jpg|thumb|Unit creation icon]]1. Create a new unit by pressing '''Create unit''' icon and place it somewhere (you can control the map view by pressing '''SPACE''').
+
:[[File:Unit Creation Icon.jpg|250px|thumb|right|Unit creation icon]]1. Create a new unit by pressing '''Create unit''' icon and place it somewhere (you can control the map view by pressing '''SPACE''').
:[[File:Unit Properties Icon.jpg|thumb|Unit properties icon]]2. Open it's properties (by for example pressing '''P''').
+
:[[File:Unit Properties Icon.jpg|250px|thumb|right|Unit properties icon]]2. Open its properties (by for example pressing '''P''').
  
 
::*Change the '''Name:''' to '''t1_player01'''
 
::*Change the '''Name:''' to '''t1_player01'''
::*Switch it's '''type''' to '''armada'''
+
::*Switch its '''type''' to '''armada'''
 
::*Find a '''dummy''' unit in '''Class''' tab and select it
 
::*Find a '''dummy''' unit in '''Class''' tab and select it
 +
::''Note: It will work for all unit types, planes, tanks, ships and helicopters''
  
:[[File:Copying Units.jpg|thumb]]3. Copy '''t1_player01''' unit.
+
:[[File:Copying Units.jpg|250px|thumb|right]]3. Copy '''t1_player01''' unit.
::''Note: You will need it to create player slots for the mission, so it's preferable to create 16 of them, the game supports up to 32 players per team''
+
::''Note: You will need it to create player slots for the mission, so it is preferable to create 16 of them, the game supports up to 32 players per team''
  
 
::*Select the unit
 
::*Select the unit
Line 42: Line 68:
 
::*Press '''Ok''', now you should see lots of copies of this unit named '''t1_player02, t1_player03, t1_player04 etc.'''
 
::*Press '''Ok''', now you should see lots of copies of this unit named '''t1_player02, t1_player03, t1_player04 etc.'''
  
:[[File:Copying Units 2.jpg|thumb]]4. Create the same amount of '''t2_player''' units by copying '''t1_player''' units.
+
:[[File:Copying Units 2.jpg|250px|thumb|right]]4. Create the same amount of '''t2_player''' units by copying '''t1_player''' units.
  
 
::*In Unit copying window change '''Name of clone(s):''' to '''t2_player01'''
 
::*In Unit copying window change '''Name of clone(s):''' to '''t2_player01'''
Line 58: Line 84:
  
 
== Creating respawn zones for players ==
 
== Creating respawn zones for players ==
 +
The second thing that you need to do is to make it possible for players to spawn in your mission, both teams need to have at least one spawn zone per team, but it is the best to add at least ten areas which will be added to the ''Squad'' unit to avoid some issues like players spawning in each other.
 +
It is recommended to use at least one ''Squad'' unit with areas for spawn zones per unit type, so for example one for planes, one for tanks and then another set for the other team, so four ''Squads'' in total and 10+ spawn zone areas per squad.
  
 
=== Setting up a trigger for respawn action ===
 
=== Setting up a trigger for respawn action ===
  
:1. Choose the side toolbar '''Triggers / Missions Obj. Navigat'''[[File:Trigger properties icon.jpg|thumb|Trigger properties icon]]
+
:1. Choose the side toolbar '''Triggers / Missions Obj. Navigat'''[[File:Trigger properties icon.jpg|250px|thumb|right|Trigger properties icon]]
 
:2. Press the '''Trigger''' button to create a new trigger
 
:2. Press the '''Trigger''' button to create a new trigger
:3. Press the '''Properties and Trigger/MissionObj info''' icon which you can find on top toolbar to show the tab with trigger properties.
+
:3. Press the '''Properties and Trigger/MissionObj info''' icon which you can find on the top toolbar to show the tab with trigger properties.
:4. Select your new trigger and change it's '''Name''' to for example '''respawn'''.[[File:Creating Respawn Zones.jpg|thumb]]
+
:4. Select your new trigger and change its '''Name''' to for example '''respawn'''.[[File:Creating Respawn Zones.jpg|250px|thumb|right]]
 
:5. Make sure that '''Enabled''' is switched on.
 
:5. Make sure that '''Enabled''' is switched on.
 
:6. Change the '''Events''' type to initMission.
 
:6. Change the '''Events''' type to initMission.
 
::''Note: You need to do it this way because otherwise you will need to wait at least 30 second after launching the mission to be able to select one of available spawn zones''
 
::''Note: You need to do it this way because otherwise you will need to wait at least 30 second after launching the mission to be able to select one of available spawn zones''
 
::*In lower part of this toolbar select '''periodicEvent {time=1.00}''' in the '''Elements:''' window
 
::*In lower part of this toolbar select '''periodicEvent {time=1.00}''' in the '''Elements:''' window
::*Select '''Elements''' button on the bottom and press '''periodicEvent'''  
+
::*Select '''Elements''' button on the bottom and press '''periodicEvent'''
 
::''Note: (if nothing happens then select one of folders in the '''Elements:''' window and then switch back to '''periodicEvent {time=1.00}''')''
 
::''Note: (if nothing happens then select one of folders in the '''Elements:''' window and then switch back to '''periodicEvent {time=1.00}''')''
 
::*A new window should appear, select '''initMission''' there and press '''Ok''' or double click on '''initMission'''
 
::*A new window should appear, select '''initMission''' there and press '''Ok''' or double click on '''initMission'''
Line 75: Line 103:
 
=== Adding air spawns for aeroplanes and ground spawns for ground units ===
 
=== Adding air spawns for aeroplanes and ground spawns for ground units ===
  
:1. Create areas for respawn action.[[File:Area Creation Icons.jpg|thumb|Area creation icons]]
+
:1. Create areas for respawn action.[[File:Area Creation Icons.jpg|250px|thumb|right|Area creation icons]]
::*Press one of area creation icons on the top toolbar  
+
::*Press one of area creation icons on the top toolbar
 
::*Press the ground on the map view in the place where you want to put your respawn area
 
::*Press the ground on the map view in the place where you want to put your respawn area
 
:::*press only if you selected the first icon ('''Point''')
 
:::*press only if you selected the first icon ('''Point''')
:::*press and drag (you change it's size by doing that) if you selected other icons ('''Sphere''', '''Cylinder''' or '''Box''')
+
:::*press and drag (you change its size by doing that) if you selected other icons ('''Sphere''', '''Cylinder''' or '''Box''')
 
:2. Change properties of your area.
 
:2. Change properties of your area.
::*Change '''Name:''' to '''t1_spawnarea_01'''  
+
::*Change '''Name:''' to '''t1_spawnarea_01'''
 
::*Make at least 10 areas that are named '''t1_spawnarea_01''', '''t1_spawnarea_02''', '''t1_spawnarea_03''' etc.
 
::*Make at least 10 areas that are named '''t1_spawnarea_01''', '''t1_spawnarea_02''', '''t1_spawnarea_03''' etc.
 
::*copy all created '''t1_spawnarea''' areas and call them '''t2_spawnarea_01''', '''t2_spawnarea_01''', '''t2_spawnarea_01''' etc (you need them for both teams)
 
::*copy all created '''t1_spawnarea''' areas and call them '''t2_spawnarea_01''', '''t2_spawnarea_01''', '''t2_spawnarea_01''' etc (you need them for both teams)
Line 96: Line 124:
 
::*Change the '''loc_name''' (name of that spawn zone which will be visible in game, you can use spaces and capital letters) or leave it be if you want the game to set default respawn names (Respawn #1, #2 etc.)
 
::*Change the '''loc_name''' (name of that spawn zone which will be visible in game, you can use spaces and capital letters) or leave it be if you want the game to set default respawn names (Respawn #1, #2 etc.)
 
::*Press a wide '''team''' tab, a new selectable tab should appear, press it and select '''A'''
 
::*Press a wide '''team''' tab, a new selectable tab should appear, press it and select '''A'''
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission ('''air''' for airplanes, '''tank''' for ground units, '''ship''' for boats and ships)  
+
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission ('''air''' for airplanes, '''tank''' for ground units, '''ship''' for boats and ships)
 +
::''Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area''
 
:5. Copy existing '''missionMarkAsRespawnPoint''' action to make respawn zones for the second team.
 
:5. Copy existing '''missionMarkAsRespawnPoint''' action to make respawn zones for the second team.
 
::*Below the '''Elements:''' window, there should be a '''copy''' tab, select '''missionMarkAsRespawnPoint''' action and then press this '''copy''' tab
 
::*Below the '''Elements:''' window, there should be a '''copy''' tab, select '''missionMarkAsRespawnPoint''' action and then press this '''copy''' tab
Line 103: Line 132:
 
::*Now you should see two the same actions in the '''Elements:''' window, select the second one
 
::*Now you should see two the same actions in the '''Elements:''' window, select the second one
 
::*Change all '''target''' areas to those that are meant to be for the second team (B / T2)
 
::*Change all '''target''' areas to those that are meant to be for the second team (B / T2)
::*Switch the '''team''' tab to '''B'''  
+
::*Switch the '''team''' tab to '''B'''
 
::''Note: You can speed up changing '''target'''s by creating an '''area_squad''' unit and then putting all '''t2_spawnarea''' areas there, then selecting this squad in the '''missionMarkAsRespawnPoint''' action properties''
 
::''Note: You can speed up changing '''target'''s by creating an '''area_squad''' unit and then putting all '''t2_spawnarea''' areas there, then selecting this squad in the '''missionMarkAsRespawnPoint''' action properties''
  
 +
'''Notes:'''
 +
:* If you have any problems with the direction of spawn zones (for example when you rotated the area but it still spawns you in the same direction) then enable '''isStrictSpawn''' and '''resetStrictSpawnIndex''' options in '''missionMarkAsRespawnPoint''' action.
  
=== Adding airfield spawn for airplanes ===
+
=== Adding airfield or carrier spawn for airplanes ===
  
 
:1. Create an airfield unit.
 
:1. Create an airfield unit.
::* Select '''Create unit''' icon on the top toolbar [[File:Unit Creation Icon.jpg|thumb|Unit creation icon]]
+
::* Select '''Create unit''' icon on the top toolbar [[File:Unit Creation Icon.jpg|250px|thumb|right|Unit creation icon]]
 
::* Select created unit
 
::* Select created unit
::* Open it's properties (by for example pressing '''P''')[[File:Unit Properties Icon.jpg|thumb|Unit properties icon]]
+
::* Open its properties (by for example pressing '''P''')[[File:Unit Properties Icon.jpg|250px|thumb|right|Unit properties icon]]
::* Change it's '''Name:''' to '''airfield_01'''
+
::* Change its '''Name:''' to '''airfield_01'''
::* Change it's '''type''' to objectGroups[[File:Airfield Properties.jpg|thumb]]
+
::* Change its '''type''' to objectGroups[[File:Airfield Properties.jpg|250px|thumb|right]]
 
::* Select one of available airfields in '''Class''' tab
 
::* Select one of available airfields in '''Class''' tab
 
::''Note: all names of airfields start with '''dynaf_'''''
 
::''Note: all names of airfields start with '''dynaf_'''''
::* Change it's '''army''' to 1  
+
::* Change its '''army''' to 1
::''Note: depends for which team you want to make it, remember that 1 = A team, 2 = B team'''
+
::''Note: depends for which team you want to make it, remember that 1 = A team, 2 = B team''
 
:2. Add a respawn action.
 
:2. Add a respawn action.
 
::*Press the '''Action''' button in the trigger properties toolbar
 
::*Press the '''Action''' button in the trigger properties toolbar
Line 131: Line 162:
 
::*Select '''Object''' and set it to '''airfield_01'''
 
::*Select '''Object''' and set it to '''airfield_01'''
 
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air)
 
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air)
 +
::''Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area''
 +
 +
The same method works also for the carriers.
 +
 +
=== Adding airfield spawn for airplanes on a normal terrain ===
 +
 +
[[File:Airfield.JPG|300px|thumb|right|Custom airfield]]
 +
 +
:1. Create areas for your airfield
 +
::*Create new sphere areas.
 +
::*One at the airfield start, set its name to '''airfield_01_start'''
 +
::*One at the airfield end, set its name to '''airfield_01_end'''
 +
::*Add several areas for spawn zones, set their names to '''airfield_01_spawn_01''', '''airfield_01_spawn_02''' etc.
 +
:2. Add the airfield
 +
::*Add a new action called '''addAirfield'''
 +
::*Set the '''runwayStart''' as '''airfield_01_start'''
 +
::*Set the '''runwayEnd''' as '''airfield_01_end'''
 +
::*Add all spawn zones to '''spawnPoint'''
 +
::*Make the airfield visible on the map by enabling '''visibleOnHud''' option
 +
::''Note: It is important to set the runwayWidth value to something high, at least 100, so there are no issues with the spawn direction, also it is the best to put all spawn areas withing the airfield's starting zone, so the airfield_01_start in this case and that will require to set its size to 300-500 depending on the amount of spawn areas that it will be covering''
 +
:3. Add the airfield to '''missionMarkAsRespawnPoint''' action.
 +
::*Add a new '''missionMarkAsRespawnPoint''' action and select it
 +
::*Set the '''airfield_01_start''' as the '''target'''
 +
::*Change the '''loc_name''' (name of that spawn zone which will be visible in game
 +
::*Select '''isAirfield'''
 +
::*Press a wide '''team''' tab, a new selectable tab should appear, press it and select '''A''' if you want the A team to respawn there, or '''B''' if you want it be for the B team
 +
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air)
 +
::''Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area''
 +
 +
=== Creating moving spawns ===
  
 +
Spawns can be assigned to units and that makes it possible to spawn next to them as long as they are alive.
 +
 +
:1. Create an unit (tank, ship or airplane).
 +
:2. Place it somewhere and give it waypoints so it does not stay at the same place.
 +
:3. Add a new action called '''missionMarkAsRespawnPoint'''.
 +
::*Set the '''target''' as the unit (tank, ship or airplane)
 +
::*Set the '''loc_name''' to for example '''Moving spawn''' so players will know about it
 +
::*Enable '''isUnit''' option
 +
::*Press a wide '''team''' tab, a new selectable tab should appear, press it and select '''A''' if you want the A team to respawn there, or '''B''' if you want it be for the B team
 +
::*At the '''backupZone''', it needs to be placed in safe place, it will be used in a situation when the unit is not alive anymore
 +
::*Set the '''offset''', it will make spawned units appear in a certain distance from the unit that is used as a spawn point
 +
::*Press a wide '''tags''' tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission
 +
 +
 +
'''Notes:'''
 +
:* If you are planning to create an airfield spawn zone by using '''addAirfield''' action (which allows to add spawn zones manually) and you decide to set the '''Event''' of that trigger to '''initMission''' then remember to always put '''missionMarkAsRespawnPoint''' after these '''addAirfield''' action, not before them and if you want to put '''missionMarkAsRespawnPoint''' in other trigger then make sure to disable it and then add a '''triggerEnable''' action pointing at that trigger from the trigger with '''addAirfield''' action, otherwise there might be issues with spawn zones and there's a chance that you won't be able to spawn your plane.
  
 
== Creating capture zones ==
 
== Creating capture zones ==
 +
This step of making a multiplayer mission is optional, but since capture zones can be used as a main objective of the mission and they are really easy to make it is not a bad idea to make one, it will also give the AI units some tasks, otherwise they would just stay at spawn zones.
  
::1. Create a new area and call it '''capture_zone_01'''.
+
:1. Create a new area and call it '''capture_zone_01'''.
::2. Create a new trigger.
+
:2. Create a new trigger.
::3. Add a new action called '''missionMarkAsCaptureZone'''.
+
:3. Add a new action called '''missionMarkAsCaptureZone'''.
 
::*Assign your new area to '''target''' (you should be able select '''capture_zone_01''')
 
::*Assign your new area to '''target''' (you should be able select '''capture_zone_01''')
 
::*Set to '''which''' army it should be assigned by default (after launching your mission, 0 - neutral, 1 - A, 2 - B)
 
::*Set to '''which''' army it should be assigned by default (after launching your mission, 0 - neutral, 1 - A, 2 - B)
Line 144: Line 222:
 
::*Set '''canCapturebyGM''' if you want to make it capturable by ground units
 
::*Set '''canCapturebyGM''' if you want to make it capturable by ground units
 
::*Set '''onlyPlayersCanCapture''' if you want it to be capturable only by players
 
::*Set '''onlyPlayersCanCapture''' if you want it to be capturable only by players
::*Set '''CaptureNoPenalty''' if you want to disable ticket drain when it's captured by one of teams  
+
::*Set '''CaptureNoPenalty''' if you want to disable ticket drain when it is captured by one of teams
 
::*Add '''tags''' to select which unit types are allowed to capture this zone
 
::*Add '''tags''' to select which unit types are allowed to capture this zone
 
::''Note: you can adjust how fast it drains tickets in '''missionSetProperties''' action, there are two '''ctaCaptureZone''' options which control that''
 
::''Note: you can adjust how fast it drains tickets in '''missionSetProperties''' action, there are two '''ctaCaptureZone''' options which control that''
  
 
+
== Saving the mission ==
 
+
Now when everything is finished the mission should be saved and uploaded to a file hosting service, it is not hard to find one of them and if there are any issues you can always upload your mission on [http://live.warthunder.com/feed/ live.warthunder.com].
''Note: You can find more informations about the Mission Editor '''[[Instructions for Using the Mission Editor|here]]''' and more informations about triggers here '''[[Triggers|here]]''' ''
 
 
 
== Saving your mission ==
 
  
 
:1. On the most top bar select '''Mission Editor'''
 
:1. On the most top bar select '''Mission Editor'''
 
:2. Press '''Save mission (Ctrl+M)'''
 
:2. Press '''Save mission (Ctrl+M)'''
:3. Select where you want to save your mission and set its name, remember to save it as '''.blk''' file
+
:3. Select where you want to save the mission and set its name, remember to save it as a '''.blk''' file
  
 
That's all, now all you need to do is to upload your mission somewhere or on [http://live.warthunder.com/feed/ live.warthunder.com] site, but don't forget to add a proper image and description for your mission. You will find more details [[How to launch a custom mission in the game|here]].
 
That's all, now all you need to do is to upload your mission somewhere or on [http://live.warthunder.com/feed/ live.warthunder.com] site, but don't forget to add a proper image and description for your mission. You will find more details [[How to launch a custom mission in the game|here]].
  
:''Note: any hosting service will do as long as the link ends with '''.blk''' and don't forget to delete '''https://''' part of that link, otherwise the game won't be able to read it unless it's a live.warthunder.com link'' 
+
Remember that after every mission update on live.warthunder.com it generates a new download link which needs to be copied to the game.
  
 
= Options and functions available in multiplayer missions =
 
= Options and functions available in multiplayer missions =
  
=== Versus mode parameters ===
+
== Versus mode parameters ==
 +
Main options and functions used in multiplayer missions.
  
:* scoreLimit: Total amount of tickets in MP mission (by default it's set to 500)
+
{| class="wikitable" style="width: 100%;"
:* timeLimit: Time limit in MP mission (by default it's set to 30 minutes)
+
|+
:* deathPenaltyMul: Sets the multiplier of removed tickets after someone dies (by default it's set to 1.0 = 100 tickets per death)
+
! style="width: 20%;" |Option
:* postfix: Adds a gamemode name before the mission name
+
! style="width: 80%;" |Description
:* ctaCaptureZoneEqualPenaltyMult: Sets the multiplier of tickets drain when both teams have captured the same amount of zones (when each team have at least 1 zone captured, both team will lose tickets with this mul)
+
|-
:* ctaCaptureZoneDiffPenaltyExp: When one team have on N more captured zones - enemy tickets will decrease faster. Mul calc as (if zones_num_t1 < zones_num_t2): (zones_num_t2 - zones_num_t1) ^ ctaCaptureZoneDiffPenaltyExp
+
| scoreLimit
:* useAlternativeMapCoord: If checked will use alternative map coordinates
+
| Total amount of tickets in MP mission (by default it is set to 500)
:* useKillStreaks: Unknown
+
|-
:* allowedKillStreaks: Unknown
+
| timeLimit
:* randomSpawnTeams: Unknown
+
| Time limit in MP mission (by default it is set to 30 minutes)
:* remapAiTankModels: Unknown
+
|-
:* isBotsAllowed: Disables or enables bots
+
| deathPenaltyMul
:* battleAreaColorPreset: Select the color type of the battle area
+
| Sets the multiplier of removed tickets after someone dies (by default it is set to 1.0 = 100 tickets per death)
:* ingnoreInvulnerableTimer: Disable or enable a spawn protection (making the player not able to be damaged)
+
|-
:* allowedUnitTypes: Select which unit types are allowed in your mission
+
| postfix
:* useCustomSuperArtillery: Enable or disable custom artillery type for use in tanks and ships
+
| <div class="mw-collapsible mw-collapsed" style="width:100%">Adds a gamemode name before the mission name<div class="mw-collapsible-content">
:* customSuperArtillery: Sets the custom artillery type
+
''Note: There's a missionNamePostfix condition which lets you check the mission postfix''
<div class="mw-collapsible mw-collapsed" style="width:25%">Available custom artillery types:<div class="mw-collapsible-content">
 
:* structures/streakartillery_203mm_r100m
 
:* structures/streakartillery_203mm_r150m
 
:* structures/streakartillery_203mm_r150m
 
:* structures/streakartillery_203mm_r200m
 
:* structures/ussr_152mm_d1
 
:* structures/ussr_122mm_m30_smoke
 
:* structures/ussr_152mm_ml20
 
:* structures/ussr_152mm_ml20_large
 
:* structures/ussr_203mm_b4
 
:* structures/ussr_quest_large_art
 
:* structures/germ_3x280mm_sk_c34
 
 
</div></div>
 
</div></div>
 +
|-
 +
| ctaCaptureZoneEqualPenaltyMult
 +
| Sets the multiplier of tickets drain when both teams have captured the same amount of zones (when each team have at least 1 zone captured, both team will lose tickets with this mul)
 +
|-
 +
| ctaCaptureZoneDiffPenaltyExp
 +
| When one team have on N more captured zones - enemy tickets will decrease faster. Mul calc as (if zones_num_t1 < zones_num_t2):(zones_num_t2 - zones_num_t1) ^ ctaCaptureZoneDiffPenaltyExp
 +
|-
 +
| useAlternativeMapCoord
 +
| If checked will use alternative map coordinates
 +
|-
 +
| useKillStreaks
 +
| Unknown
 +
|-
 +
| allowedKillStreaks
 +
| Unknown
 +
|-
 +
| nameKillStreaks:t=""
 +
| <div class="mw-collapsible mw-collapsed" style="width:100%">Adds killstreak system from Arcade Battles (spawning in airplanes or helicopters after getting required amount of kills), you need to add this line manually by editing the mission blk file<div class="mw-collapsible-content">
 +
'''Available killstreak presets:'''
  
:* missionType: Lets you select a mission type which you will be able to select in game (you need to set it up by adding proper actions and conditions)
+
* killStreaksAircraftOrHelicopter
:* maxRespawns: Set the number of available respawns
+
* killStreaks_survival_event_aircraftOrHelicopter
:* allowEmptyTeams: Lets you play alone in multiplayer missions
+
</div></div>
:* missionCostMul:
+
|-
:* respawnTimeMultiplier:
+
| randomSpawnTeams
:* useSpawnScore:
+
| Unknown
:* country_axis:
+
|-
:* country_allies:
+
| remapAiTankModels
:* mission:
+
| Unknown
:* groundKillWpBudget
+
|-
::* max_players:
+
| isBotsAllowed
::* max_total_budget:
+
| Disables or enables bots
::* min_total_budget:
+
|-
::* min_total_budget_multiplier:
+
| battleAreaColorPreset
::* supposed_personal_part_of_total_budget_for_one_player:
+
| Select the color type of the battle area
::* min_mul_for_personal_price:
+
|-
 +
| ingnoreInvulnerableTimer
 +
| Disable or enable a spawn protection (making the player not able to be damaged)
 +
|-
 +
| allowedUnitTypes
 +
| Select which unit types are allowed in your mission
 +
|-
 +
| useCustomSuperArtillery
 +
| <div class="mw-collapsible mw-collapsed" style="width:100%">Enable or disable custom artillery type for use in tanks and ships<div class="mw-collapsible-content">
 +
''Note: You can also enable or disable it by using '''missionCustomArtillery''' action''
 +
</div></div>
 +
|-
 +
| customSuperArtillery
 +
| <div class="mw-collapsible mw-collapsed" style="width:100%">Sets the custom artillery type<div class="mw-collapsible-content">
 +
'''Available custom artillery types:'''
  
=== Game type parameters ===
+
* structures/streakartillery_203mm_r100m
 +
* structures/streakartillery_203mm_r150m
 +
* structures/streakartillery_203mm_r150m
 +
* structures/streakartillery_203mm_r200m
 +
* structures/ussr_152mm_d1
 +
* structures/ussr_122mm_m30_smoke
 +
* structures/ussr_152mm_ml20
 +
* structures/ussr_152mm_ml20_large
 +
* structures/ussr_203mm_b4
 +
* structures/ussr_quest_large_art
 +
* <strike>structures/germ_3x280mm_sk_c34</strike> (At the moment, using this type will break the game and not let you spawn on the ground)
 +
</div></div>
 +
|-
 +
| missionType
 +
| Lets you select a mission type which you will be able to select in game (you need to set it up by adding proper actions and conditions)
 +
|-
 +
| maxRespawns
 +
| Set the number of available respawns
 +
|-
 +
| allowEmptyTeams
 +
| Lets you play alone in multiplayer missions
 +
|-
 +
| missionCostMul
 +
| Unknown
 +
|-
 +
| respawnTimeMultiplier
 +
| Sets a multiplier of how long it will take to respawn (respawn counter)
 +
|-
 +
| useSpawnScore
 +
| Enables Spawn Points system (for more details check '''Enabling Spawn Points system''' category)
 +
|-
 +
| country_allies
 +
| Set a country for the first team
 +
|-
 +
| country_axis
 +
| Set a country for the second team
 +
|-
 +
| mission
 +
| Makes it possible to set different mission settings like tickets amount for different gamemodes (AB, RB, SB)
 +
|-
 +
| groundKillWpBudget
 +
| <div class="mw-collapsible mw-collapsed" style="width:100%">Unknown<div class="mw-collapsible-content">
 +
* max_players: Unknown
 +
* max_total_budget: Unknown
 +
* min_total_budget: Unknown
 +
* min_total_budget_multiplier: Unknown
 +
* supposed_personal_part_of_total_budget_for_one_player:Unknown
 +
* min_mul_for_personal_price: Unknown
 +
</div></div>
 +
|-
 +
| disableDrag
 +
| Disabled drag for all weapons, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| disableGravity
 +
| Disables gravity for all weapons, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| hideDamageFromPlayer
 +
| Hides the vehicle or plane's icon that shows taken damage, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| useDeathmatchHUD
 +
| Replaces the default bar at the top of screen with a [[:File:Kills_and_time_counter.jpeg|kill and time counter]], needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| killOutOfBattleAreaUnit
 +
| Makes it so selected unit spawns when the player is out of battle area and then destroys player's unit, needs to be added manually to the mission file (it's a text parameter, so you have to add :t="" with unit's name after its name, you have to add that unit to your mission)
 +
|-
 +
| killLimit
 +
| Adds a kill limit (it's an integer parameter, so you have to add :i= with the number after its name)
 +
|-
 +
| timeLimit
 +
| Adds a time limit, needs to be added manually to the mission file (it's an integer parameter, so you have to add :i= with the number after its name)
 +
|-
 +
| timeLimitRound
 +
| Adds a time limit per round, needs to be added manually to the mission file (it's an integer parameter, so you have to add :i= with the number after its name)
 +
|-
 +
| noRespawns
 +
| Disables or enables respawns (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| colorTeamA
 +
| Replaces existing team A color with the custom RGBA color (to make it work you have to add :c= with a color numbers, for example colorTeamA:c=242, 139, 67, 255)
 +
|-
 +
| colorTeamB
 +
| Replaces existing team B color with the custom RGBA color (to make it work you have to add :c= with a color numbers, for example colorTeamB:c=23, 157, 152, 255)
 +
|-
 +
| ignoreInvulnerableTimer
 +
| Disables invulnerability after respawns (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| moveCloudsHole
 +
| Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| rendinstMaxHeight
 +
| Placeholder (it's a real parameter, so you have to add :r= after its name and some numbers)
 +
|-
 +
| checkFriendlyFireAlsoFromAircrafts
 +
| Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| hudUseModernMarkers
 +
| Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
 +
|-
 +
| isTankGunnerCameraFromSightForced
 +
| Forces the option "Camera from tank gunner sight" to be enabled for everyone
 +
|-
 +
| allowSinglePlayerInFfa
 +
| Unknown
 +
|-
 +
|}
  
:* gt_mp_tickets: Enables or disables tickets functionality (can be used in SP missions)
+
== Game type parameters ==
:* gt_mp_capture: Enables or disables capture zones (by using '''missionMarkAsCaptureZone''' action, can be used in SP missions)
+
Various gamemode types or functionalities that can be disabled or enabled.
:* gt_mp_solo: Unknown
 
:* gt_cooperative: Parameter used for creating cooperative missions
 
:* gt_reload_explosives: Unknown
 
:* gt_ffa: If enabled, will change the mission into a free for all mode (everyone vs everyone without teams)
 
:* gt_race: If enabled, will change the mission into a race mode (it's the best to use it with '''beginRaceMode''' action)
 
:* gt_football: If enabled, will change the mission into a football mode (to make it work you need to use options from the '''football params''' tab and copy these two lines under the '''mission{''' block: isPhysPredictionEnabled:b=yes isPreciseCollisionDetectionEnabled:b=yes )
 
:* gt_last_man_standing: If enabled, will change the mission into a battle royale mode (to make it work you need to use '''missionSetBattleRoyaleArea''' action)
 
:* gt_mp_score: Unknown
 
:* gt_versus: Disables or enables it's multiplayer functionality
 
  
 +
{| class="wikitable" style="width: 100%;"
 +
|+
 +
! style="width: 20%;" |Option
 +
! style="width: 80%;" |Description
 +
|-
 +
| gt_mp_tickets
 +
| Enables or disables tickets functionality (can be used in SP missions)
 +
|-
 +
| gt_mp_capture
 +
| Enables or disables capture zones (by using '''missionMarkAsCaptureZone''' action, can be used in SP missions)
 +
|-
 +
| gt_mp_solo
 +
| Unknown
 +
|-
 +
| gt_cooperative
 +
| Parameter used for creating cooperative missions
 +
|-
 +
| gt_reload_explosives
 +
| Unknown
 +
|-
 +
| gt_ffa
 +
| If enabled, will change the mission into a free for all mode (everyone vs everyone without teams)
 +
|-
 +
| gt_race
 +
| If enabled, will change the mission into a race mode (it is the best to use it with '''beginRaceMode''' action)
 +
|-
 +
| gt_football
 +
| If enabled, will change the mission into a football mode (to make it work you need to use options from the '''football params''' tab and copy these two lines under the '''mission{''' block: isPhysPredictionEnabled:b=yes isPreciseCollisionDetectionEnabled:b=yes )
 +
|-
 +
| gt_last_man_standing
 +
| If enabled, will change the mission into a battle royale mode (to make it work you need to use '''missionSetBattleRoyaleArea''' action)
 +
|-
 +
| gt_mp_score
 +
| Shows the score on top of screen (killed player units, deaths, your place in team etc.) and hides the tickets bar
 +
|-
 +
| gt_versus
 +
| Disables or enables its multiplayer functionality
 +
|-
 +
|}
  
=== Enabling Spawn Points system ===
+
If you want to make a simple team deathmatch mission leave all these options disabled (not unchecked) and if you already enabled them then press the button with three dots and disable them manually.
  
:Spawn Points system is a feature that can allow you add an additional spawn requirement, the need of gaining Spawn Points by completing various mission objectives or destroying units controlled by players. In Realistic Battles for Ground Forces they are needed if you want to spawn in another vehicle after you loose your current one, better vehicles require more Spawn Points and every time you die it will increase Spawn Points requirements. In Enduring Confrontation game mode you need Spawn Points to spawn in better airplanes, right after joining to battle you get 200 SP which allows you to spawn in airplanes with the lowest Battle Rating in bracket of that battle (for example 5.0 in 5.0-6.3 battle) and in a vehicle that has higher BR by 0.3. This section will explain how to make this system work in the custom multiplayer missions.
+
== Enabling Spawn Points system ==
  
::1. Go to '''Mission Settings -> Versus params''' and enable '''useSpawnScore'''
+
Spawn Points system is a feature that can allow you add an additional spawn requirement, the need of gaining Spawn Points by capturing zones or destroying units controlled by players or AI. In Realistic Battles for Ground Forces they are needed if you want to spawn in another vehicle after you lose your current one, better vehicles require more Spawn Points and every time you die it will increase Spawn Points requirements. In Enduring Confrontation game mode you need Spawn Points to spawn in better airplanes, right after joining to battle you get 200 SP which allows you to spawn in airplanes with the lowest Battle Rating in bracket of that battle (for example 5.0 in 5.0-6.3 battle) and in a vehicle that has higher BR by 0.3. This section will explain how to make this system work in the custom multiplayer missions.
::2. If you haven't saved the mission yet then do it now
+
[[File:Screenshot of a Spawn Points system.jpg|250px|thumb|right]]
::3. Open the blk mission file in Notepad
+
 
::4. Scroll down to the '''mission{''' block
+
:1. Go to '''Mission Settings:> Versus params''' and enable '''useSpawnScore'''
::[[File:Screenshot of a Spawn Points system.jpg|thumb]]5. Paste all that code below to your .blk file under the '''mission{''' block so it looks like on the screenshot to the right
+
:2. If you haven't saved the mission yet then do it now
 +
:3. Open the blk mission file in Notepad
 +
:4. Scroll down to the '''mission{''' block
 +
:5. Paste all that code below to your .blk file under the '''mission{''' block so it looks like on the screenshot to the right
 +
 
 +
'''Note: Spawn Points can also be controlled during the mission by using the playerAddRoundScore action'''
  
 
  customSpawnScore{
 
  customSpawnScore{
Line 243: Line 479:
 
   br_diff_mul_Air:r=0.0
 
   br_diff_mul_Air:r=0.0
 
   br_diff_mul_Tank:r=0.0
 
   br_diff_mul_Tank:r=0.0
 +
  br_diff_mul_Ship:r=0.0
 
   max_br_diff:r=0.0
 
   max_br_diff:r=0.0
 
   spawn_pow:r=0.0
 
   spawn_pow:r=0.0
 +
  spawnCostMulForFighterWithBombs:r=0.0
 
   // If you want to add multipliers for specific vehicles units or types then add them here and remove '''"//"'''
 
   // If you want to add multipliers for specific vehicles units or types then add them here and remove '''"//"'''
 
  }
 
  }
  
::6. Save the file, reload the mission in the Mission Editor  
+
:6. Save the file, reload the mission in the Mission Editor
:::''Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines''
+
::''Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines''
 +
 
  
:: Explanation of what Spawn Points system lines do:
 
::: ''Note: Setting them to 0.0 will disable selected features (the one with the number set to 0.0)''
 
  
:::* base_respawn_points_coef - Sets a default Spawn Points amount, for example if you set it to '''1''' then you will need '''1 SP''' to spawn in vehicles
+
: Explanation of what Spawn Points system lines do:
::: ''Note: If you set it to 1 you will be give every vehicle an exact Spawn Points value, so if you set it to 700.0 then you will need '''700 SP''' in game to spawn in it''
+
:''Note: Setting them to 0.0 will disable selected features (the one with the number set to 0.0)''
:::* br_diff_mul_Air - Sets a multiplier of Spawn Points for airplanes which depends on what BR do they have (the higher BR the higher needed SP amount)
 
:::* br_diff_mul_Tank - Sets a multiplier of Spawn Points for tank which depends on what BR do they have (the higher BR the higher needed SP amount)
 
:::* max_br_diff - Increases a difference of Spawn Points between units with different Battle Rating
 
:::* spawn_pow - Increases Spawn Points requirements after every death
 
  
 +
:{| class="wikitable" style="width: 90%;"
 +
|+
 +
! style="width: 20%;" |Option
 +
! style="width: 70%;" |Description
 +
|-
 +
| base_respawn_points_coef
 +
| <div class="mw-collapsible mw-collapsed" style="width:100%">Sets a default Spawn Points amount, for example if you set it to '''1''' then you will need '''1 SP''' to spawn in vehicles<div class="mw-collapsible-content">
 +
''Note: If you set it to 1 you will give every vehicle an exact Spawn Points value, so if you set it to 700.0 then you will need '''700 SP''' in game to spawn in it''
 +
</div></div>
 +
|-
 +
| br_diff_mul_Air
 +
| Sets a multiplier of Spawn Points for airplanes which depends on what BR do they have (the higher BR the higher needed SP amount)
 +
|-
 +
| br_diff_mul_Tank
 +
| Sets a multiplier of Spawn Points for tanks which depends on what BR do they have (the higher BR the higher needed SP amount)
 +
|-
 +
| br_diff_mul_Ship
 +
| Sets a multiplier of Spawn Points for ships which depends on what BR do they have (the higher BR the higher needed SP amount)
 +
|-
 +
| max_br_diff
 +
| Increases a difference of Spawn Points between units with different Battle Rating
 +
|-
 +
| spawn_pow
 +
| Increases Spawn Points requirements after every death
 +
|-
 +
| spawnCostMulForFighterWithBombs
 +
| Sets a multiplier of Spawn Points for airplanes with loaded bombs or other weapons
 +
|-
 +
| spawnCostMulForHelicopterWithATGM
 +
| Sets a multiplier of Spawn Points for helicopters with loaded ATGMs
 +
|-
 +
| maxRespawnPointsMul
 +
| Unknown
 +
|-
 +
|}
 +
: You can also set a multiplier for every single vehicle or group of them (sorting by their type)
  
  
::: You can also set a multiplier for every single vehicle or group of them (sorting by their type)
 
  
<div class="mw-collapsible mw-collapsed" style="width:40%">Available Spawn Point names for specific unit types:<div class="mw-collapsible-content">
+
<div class="mw-collapsible mw-collapsed" style="width:40%">'''Available Spawn Point names for specific unit types:'''<div class="mw-collapsible-content">
  exp_fighter:r=0.0
+
{| class="wikitable" style="width: 100%;"
  exp_bomber:r=0.0
+
|+
  exp_assault:r=0.0
+
! style="width: 20%;" |Option
  exp_tank:r=0.0
+
! style="width: 80%;" |Description
  exp_heavy_tank:r=0.0
+
|-
  exp_tank_destroyer:r=0.0
+
| exp_bomber
  exp_SPAA:r=0.0
+
| Bomber
  exp_ship:r=0.0
+
|-
  exp_torpedo_boat:r=0.0
+
| exp_fighter
  exp_gun_boat:r=0.0
+
| Fighter
  exp_torpedo_gun_boat:r=0.0
+
|-
  exp_submarine_chaser:r=0.0
+
| exp_assault
  exp_naval_ferry_barge:r=0.0
+
| Attacker
 +
|-
 +
| exp_tank
 +
| Light / Medium tank / MBT
 +
|-
 +
| exp_heavy_tank
 +
| Heavy tank
 +
|-
 +
| exp_tank_destroyer
 +
| Tank destroyer
 +
|-
 +
| exp_SPAA
 +
| SPAAG
 +
|-
 +
| exp_helicopter
 +
| Helicopter
 +
|-
 +
| exp_ship
 +
| Boat / Cargo ship
 +
|-
 +
| exp_destroyer
 +
| Destroyer
 +
|-
 +
| exp_cruiser
 +
| Light cruiser / Heavy cruiser / Battleship
 +
|-
 +
| exp_gun_boat
 +
| Gunboat
 +
|-
 +
| exp_cv_ship
 +
| Aircraft carrier
 +
|-
 +
| exp_torpedo_boat
 +
| Torpedo boat
 +
|-
 +
| exp_torpedo_gun_boat
 +
| Torpedo gunboat / Frigate
 +
|-
 +
|}
 
</div></div>
 
</div></div>
 +
<br>
 +
: To add a multiplier for a specific vehicle you need to add its name and then add ''':r=0.0''' (with any number set by you) to it, you can find the list of all vehicles [[CDK_Reference#Units|here]].
 +
:: Example:
 +
:: '''bf-109g-14:r=1.5'''
  
::: To add a multiplier for a specific vehicle you need to add it's name and then add ''':r=0.0''' (with any number set by you) to it, you can find the list of all vehicles [https://wiki.warthunder.com/CDK_Reference#Units here].
 
::: Example:
 
::::''bf-109g-14:r=1.5''
 
  
<div class="mw-collapsible mw-collapsed" style="width:40%">Here's an example of entire block:<div class="mw-collapsible-content">
+
<div class="mw-collapsible mw-collapsed" style="width:40%">'''Here's an example block:'''<div class="mw-collapsible-content">
 
  customSpawnScore{
 
  customSpawnScore{
 
   base_respawn_points_coef:i=1
 
   base_respawn_points_coef:i=1
Line 315: Line 622:
 
</div></div>
 
</div></div>
  
=== Limiting amount and type of units available for respawn ===
+
== Limiting amount and type of units available for respawn ==
  
:This script allows you to set a specific number of available respawns for specific vehicles or types of them, you can limit how many times can one team respawn or how many times can players use a specific vehicle.
+
This script allows you to set a specific number of available respawns for specific vehicles or types of them, you can limit how many times can one team respawn or how many times can players use a specific vehicle.
  
:To make this script work:
+
To make this script work:
::1. If you haven't saved the mission yet then do it now
 
::2. Open the blk mission file in Notepad
 
::3. Scroll down to the '''mission{''' block
 
::[[File:Screenshot of a Shared Pool script.jpg|thumb]]4. Paste all that code below to your .blk file under the '''mission{''' block so it looks like on the screenshot to the right
 
  
customRules{
+
:1. If you haven't saved the mission yet then do it now
  name:t="sharedPool"{
+
:2. Open the blk mission file in Notepad
  teams{
+
:3. Scroll down to the '''mission{''' block
    teamA{
+
:4. Paste all that code below to your .blk file under the '''mission{''' block so it looks like on the screenshot to the right [[File:Screenshot of a Shared Pool script.jpg|250px|thumb|right]]
    playerMaxSpawns:i=5 // 5 spawns per player
+
 
    spawnLimit:i=100 // 100 spawns for team
+
<pre>
      limitedUnits{
+
    customRules{
      }
+
      name:t="sharedPool"
      unlimitedUnits{
+
 
      }
+
      teams{
    }
+
        teamA{
    teamB{
+
          playerMaxSpawns:i=8
    playerMaxSpawns:i=5
+
          spawnLimit:i=60
    spawnLimit:i=100
+
 
      limitedUnits{
+
          limitedTags{
      }
+
          }
      unlimitedUnits{
+
 
 +
          limitedActiveClasses{
 +
          }
 +
 
 +
          limitedClasses{
 +
          }
 +
 
 +
          limitedUnits{
 +
          }
 +
 
 +
          unlimitedUnits{
 +
          }
 +
        }
 +
 
 +
        teamB{
 +
          playerMaxSpawns:i=8
 +
          spawnLimit:i=60
 +
 
 +
          limitedTags{
 +
          }
 +
 
 +
          limitedClasses{
 +
          }
 +
 
 +
          limitedActiveClasses{
 +
          }
 +
 
 +
          limitedUnits{
 +
          }
 +
 
 +
          unlimitedUnits{
 +
          }
 +
        }
 
       }
 
       }
 
     }
 
     }
  }
+
</pre>
  }
 
}
 
  
::5. Save the file, reload the mission in the Mission Editor  
+
:5. Save the file, reload the mission in the Mission Editor
:::''Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines''
+
::''Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines''
  
:: Explanation of what Shared Pool script lines do:
+
: Explanation of what Shared Pool script lines do:
:::* teamA - Under this block you put all units that you want to restrict for the '''A''' or '''1''' team
+
:{| class="wikitable" style="width: 90%;"
:::* teamB - Under this block you put all units that you want to restrict for the '''B''' or '''2''' team
+
|+
:::* spawnLimit - Sets a maximum amount of respawn for team
+
! style="width: 20%;" |Option
:::* playerMaxSpawns - Sets a maximum amount of respawns per player
+
! style="width: 70%;" |Description
:::* limitedUnits - You put there all vehicles types or specific ones and add ''':i=''' with a number, it will set a spawn amount limit for that specific unit
+
|-
:::* unlimitedUnits - You can set if you want to make amount of specific units unlimited
+
| teamA
 
+
| Under this block you put all units that you want to restrict for the '''A''' or '''1''' team
::: To set amount of respawns for a specific vehicle you need to add it's name and then add ''':i=1''' (with any number set by you) to it, you can find the list of all vehicles [https://wiki.warthunder.com/CDK_Reference#Units here].
+
|-
::: Example:  
+
| teamB
::::''bf-109g-14:i=1''
+
| Under this block you put all units that you want to restrict for the '''B''' or '''2''' team
 
+
|-
<div class="mw-collapsible mw-collapsed" style="width:40%">Here's an example block:<div class="mw-collapsible-content">
+
| spawnLimit
 +
| Sets a maximum amount of respawn for team
 +
|-
 +
| playerMaxSpawns
 +
| Sets a maximum amount of respawns per player
 +
|-
 +
| limitedUnits
 +
| You can put there all vehicles types or specific ones and add ''':i=''' with a number, it will set a spawn amount limit for that specific unit
 +
|-
 +
| unlimitedUnits
 +
| You can set if you want to make amount of specific units unlimited ('':b=yes'' or '':b=no'' needs to be added after the unit's name)
 +
|-
 +
| limitedTags
 +
| Used to set the vehicle limit based on its tag
 +
|-
 +
| limitedClasses
 +
| Used to set the vehicle limit based on its unit class
 +
|-
 +
| limitedActiveClasses
 +
| Used to set the vehicle limit based on its unit class, makes it possible to limit the amount of specifc unit type being active at the same time, so for example after spawning three heavy tanks it will not be possible to spawn more until one of them is destroyed
 +
|-
 +
|}
 +
To set amount of respawns for a specific vehicle you need to add its name and then add ''':i=1''' (with any number set by you) to it, you can find the list of all vehicles [[CDK_Reference#Units|here]].
 +
<br>Example:
 +
bf-109g-14:i=1
 +
Classes and tags have higher priority than '''limitedUnits''' and '''unlimitedUnits''', so for example if you set the '''limitedTags''' to '''air:i=10''' and '''unlimitedUnits''' to '''f-5e:b=yes''' then after 10 spawns it will not be possible to spawn the F-5E anymore.
 +
It is not possible to run the mission with '''limitedTags''' or '''limitedClasses''' only, there need to be at least one unit in '''limitedUnits''' or '''unlimitedUnits'''.
 +
<br><br>
 +
<div class="mw-collapsible mw-collapsed" style="width:40%">'''Full list of all tags:'''<div class="mw-collapsible-content">
 +
{| class="wikitable" style="width: 100%;"
 +
|+
 +
! style="width: 20%;" |Option
 +
! style="width: 80%;" |Description
 +
|-
 +
| air
 +
| Aviation
 +
|-
 +
| type_bomber
 +
| Bomber
 +
|-
 +
| type_fighter
 +
| Fighter
 +
|-
 +
| type_assault
 +
| Attacker
 +
|-
 +
| type_interceptor
 +
| Interceptor
 +
|-
 +
| type_aa_fighter
 +
|
 +
|-
 +
| type_light_bomber
 +
| Light bomber
 +
|-
 +
| type_frontline_bomber
 +
| Frontline bomber
 +
|-
 +
| type_longrange_bomber
 +
| Long range bomber
 +
|-
 +
| bomberview
 +
| Has access to the bomber view
 +
|-
 +
| type_hydroplane
 +
| Hydroplane
 +
|-
 +
| carrier_take_off
 +
| Can takeoff from carriers
 +
|-
 +
| airfield_take_off
 +
| Can takeoff from airfields
 +
|-
 +
| none_can_spawn
 +
|
 +
|-
 +
| helicopter
 +
| Helicopters
 +
|-
 +
| type_attack_helicopter
 +
| Attack helicopter
 +
|-
 +
| type_utility_helicopter
 +
| Utility Helicopter
 +
|-
 +
| tank
 +
| Ground vehicles
 +
|-
 +
| type_heavy_tank
 +
| Heavy tank
 +
|-
 +
| type_medium_tank
 +
| Medium tank
 +
|-
 +
| type_light_tank
 +
| Light tank
 +
|-
 +
| type_tank_destroyer
 +
| Tank destroyer
 +
|-
 +
| type_spaa
 +
| SPAAG
 +
|-
 +
| type_missile_tank
 +
|
 +
|-
 +
| has_proximityFuse_rocket
 +
|
 +
|-
 +
| artillery
 +
| Artillery
 +
|-
 +
| aaa
 +
| AAA
 +
|-
 +
| ship
 +
| Ships
 +
|-
 +
| boat
 +
| Boat
 +
|-
 +
| type_gun_boat
 +
| Gunboat
 +
|-
 +
| type_destroyer
 +
| Destroyer
 +
|-
 +
| type_light_cruiser
 +
| Light cruiser
 +
|-
 +
| type_heavy_cruiser
 +
| Heavy cruiser
 +
|-
 +
| type_battlecruiser
 +
| Battlecruiser
 +
|-
 +
| type_battleship
 +
| Battleship
 +
|-
 +
| walker
 +
| Walker
 +
|-
 +
| country_japan
 +
| Japanese
 +
|-
 +
| country_germany
 +
| German
 +
|-
 +
| country_usa
 +
| USA
 +
|-
 +
| country_britain
 +
| Britain
 +
|-
 +
| country_australia
 +
| Australian
 +
|-
 +
| country_ussr
 +
| USSR
 +
|-
 +
| country_france
 +
| French
 +
|-
 +
| country_italy
 +
| Italian
 +
|-
 +
| country_china
 +
| Chinese
 +
|-
 +
|}
 +
</div></div>
 +
<div class="mw-collapsible mw-collapsed" style="width:40%">'''Full list of all classes:'''<div class="mw-collapsible-content">
 +
{| class="wikitable" style="width: 100%;"
 +
|+
 +
! style="width: 20%;" |Option
 +
! style="width: 80%;" |Description
 +
|-
 +
| exp_bomber
 +
| Bomber
 +
|-
 +
| exp_fighter
 +
| Fighter
 +
|-
 +
| exp_assault
 +
| Attacker
 +
|-
 +
| exp_tank
 +
| Light / Medium tank / MBT
 +
|-
 +
| exp_heavy_tank
 +
| Heavy tank
 +
|-
 +
| exp_tank_destroyer
 +
| Tank destroyer
 +
|-
 +
| exp_SPAA
 +
| SPAAG
 +
|-
 +
| exp_helicopter
 +
| Helicopter
 +
|-
 +
| exp_ship
 +
| Boat / Cargo ship
 +
|-
 +
| exp_destroyer
 +
| Destroyer
 +
|-
 +
| exp_cruiser
 +
| Light cruiser / Heavy cruiser / Battleship
 +
|-
 +
| exp_gun_boat
 +
| Gunboat
 +
|-
 +
| exp_cv_ship
 +
| Aircraft carrier
 +
|-
 +
| exp_torpedo_boat
 +
| Torpedo boat
 +
|-
 +
| exp_torpedo_gun_boat
 +
| Torpedo gunboat / Frigate
 +
|-
 +
|}
 +
</div></div>
 +
<br>
 +
<div class="mw-collapsible mw-collapsed" style="width:40%">'''An example block:'''<div class="mw-collapsible-content">
 
  customRules{
 
  customRules{
 
   name:t="sharedPool"
 
   name:t="sharedPool"
+
 
 
   teams{
 
   teams{
 
     teamA{
 
     teamA{
Line 426: Line 984:
 
</div></div>
 
</div></div>
  
[[Category:War Thunder CDK]]  
+
== Enabling custom difficulty ==
[[Category:Custom_missions]]
+
 
 +
Custom difficulty is the same feature that is available in game when you create a custom battle, you can see it on the top of window and it is called '''Difficulty'''. The only difference between it and the mission version is that you can add and customize more options in the mission file.
 +
 
 +
To make this script work:
 +
 
 +
:1. If you haven't saved the mission yet then do it now
 +
:2. Open the blk mission file in Notepad
 +
:3. Scroll down to the '''mission{''' block
 +
:4. Check if you have this line there '''difficulty:t=''', if no then add this '''difficulty:t=""''', if yes then replace everything after ''':t="''' with ''''"arcade"''', '''"realistic"''', or '''"hardcore"''', depending which one is the closest to the one that will be used
 +
:5. Make sure that '''openDiffLevels''' is disabled (unchecked) in '''Mission Settings -> mission -> Common params''' (or just add it manually by pasting this line '''openDiffLevels:b=no''')
 +
:6. Paste all that code below to your .blk file under the '''mission{''' block so it looks like on the screenshot to the right
 +
[[File:Custom difficulty settings in the Mission Editor.jpg|250px|thumb|right]]
 +
''Important note: All values after ''':i=''' can be set to 0, 1 or 2, all values after ''':b=''' can be set to '''no''' or '''yes'''''
 +
 
 +
netDifficultyBlk{
 +
    baseDifficulty:i=1
 +
    engineControl:i=1
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=1
 +
    seeker:i=1
 +
    radarAssist:b=yes
 +
    rwr:i=1
 +
    noArcadeBoost:i=1
 +
    limitViews:i=0
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=2
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=1
 +
    hudMapAircraftMarkers:i=2
 +
    hudMapGroundMarkers:i=2
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=yes
 +
    hudDamageModel:i=1
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=yes
 +
    noRespawns:b=no
 +
    respDifficulty:i=1
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=yes
 +
    distDetection:i=1
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=1
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=1
 +
    damageModel:i=1
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=no
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=yes
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=yes
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=no
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=no
 +
}
 +
 
 +
 
 +
Explanation of what all these lines do:
 +
 
 +
{| class="wikitable" style="width: 100%;"
 +
|+
 +
! style="width: 20%;" |Option
 +
! style="width: 80%;" |Description
 +
|-
 +
| baseDifficulty
 +
| Enables basic properties for selected difficulty (0 - AB, 1 - RB, 2 - SB)
 +
|-
 +
| engineControl
 +
| Engine Control
 +
|-
 +
| respDifficulty
 +
| Respawn time multiplier set (0 - easy, 1 - medium, 2 - hard)
 +
|-
 +
| realGunnery
 +
| Realistic Gunnery
 +
|-
 +
| realDamageModels
 +
| realDamageModels (Allows you to toggle between realistic and simplified damage models)
 +
|-
 +
| stallsAndSpins
 +
| Stalls
 +
|-
 +
| redOuts
 +
| Redouts / Blackouts
 +
|-
 +
| mortalPilots
 +
| Mortal pilots
 +
|-
 +
| manualTrimming
 +
| Manual trimming
 +
|-
 +
| torqueAndGyro
 +
| Torque effect
 +
|-
 +
| limitedBombsMissiles
 +
| Limited bombs and missiles
 +
|-
 +
| noArcadeBoost
 +
| Disable arcade boost
 +
|-
 +
| limitViews
 +
| Changes available camera positions (third person camera view, first person camera view) and other options (1 - first person + third person + virtual views, 2 - first person + virtual views or 3 - first person only + disables third person artillery view)
 +
|-
 +
| flutter
 +
| Flutter effect
 +
|-
 +
| limitedBombsMissiles
 +
| Unknown
 +
|-
 +
| radarAssist
 +
| Unknown
 +
|-
 +
| sensor
 +
| Controls the radar and its simplifications (0 - the most simplified, disabled ground clutter, disabled multipath effect, cannot detect or lock friendly units, 1 - normal, but with some simplifications to multipath effect, 2 - the most realistic, every simplification is disabled)
 +
|-
 +
| seeker
 +
| Controls the SARH and ARH missiles and their simplifications (0 - the most simplified, 1 - normal, 2 - the most realistic, every simplification is disabled, at this moment the 1 and 2 are the same)
 +
|-
 +
| rwr
 +
| Changes how the RWR works, 0 - simplified, shows everything (all bands and targets), 1 - normal, radar bands are working properly (so RWR that cannot see the J band will not be able to see it during the battle), but shows all the targets (so even those that are not included in the RWR's list of targets), 2 - fully realistic, bands are being shows like in the "1", but it shows only those targets that are only on the RWR's list.
 +
|-
 +
| hudAimPrediction
 +
| [HUD] aim prediction (Enable/disable aim prediction)
 +
|-
 +
| hudShowSpeedVector
 +
| [HUD] speed vector (Enable/disable speed vector)
 +
|-
 +
| hudMarkers
 +
| [HUD] units names and distances (Enable/disable displaying of unit names and distances to them)
 +
|-
 +
| hudMarkerArrows
 +
| [HUD] marker arrows (Enable/disable display of arrows near the edges of the screen, pointing at targets)
 +
|-
 +
| hudAircraftMarkersMaxDist
 +
| Markers rendering distance (airplane/ship/tank / near - 900/20000/3000, normal - 2000/?/?, far - 10000/?/?, maximum - no limit)
 +
|-
 +
| hudIndicators
 +
| [HUD] indicators (Enable/disable indicators of throttle, speed, altitude, etc. in the upper left corner of the screen)
 +
|-
 +
| hudShowTankDistance
 +
| [HUD] units distances for tanks (Enable/disable displaying of distances to units for tanks)
 +
|-
 +
| hudMapAircraftMarkers
 +
| [HUD] aircraft markers on map (Enable/disable aircraft indication on Tactical map)
 +
|-
 +
| hudMapGroundMarkers
 +
| [HUD] vehicles markers on map (Enable/disable vehicles indication on Tactical map)
 +
|-
 +
| hudTankMapAircraftMarkers
 +
| [HUD] aircraft markers on tank map (Enable/disable aircraft indication on Tactical map for tanks)
 +
|-
 +
| hudTankMapGroundMarkers
 +
| [HUD] vehicles markers on tank map (Enable/disable vehicles indication on Tactical map for tanks)
 +
|-
 +
| hudMarkersBlink
 +
| [HUD] mission target blink
 +
|-
 +
| hudRadar
 +
| [HUD] radar (Enable/disable radar)
 +
|-
 +
| hudDamageModel
 +
| [HUD] damaged model indicators (Enable/disable damage model indicator)
 +
|-
 +
| hudDamageIndicator
 +
| [HUD] damage indicators (Enable/disable damage indicator)
 +
|-
 +
| hudTankDamageLog
 +
| Unknown
 +
|-
 +
| hudLargeAwardMessages
 +
| [HUD] large award messages (Enable/disable large award messages)
 +
|-
 +
| hudWarnings
 +
| [HUD] onscreen warnings (Enable/disable onscreen warnings)
 +
|-
 +
| hudOutline
 +
| Unknown
 +
|-
 +
| noRespawns
 +
| Respawns (Enable/disable respawns of players)
 +
|-
 +
| aircraftHelpers
 +
| Aircraft helpers (Helps to control the plane by adapting the speed in different situations)
 +
|-
 +
| collectiveDetection
 +
| [HUD] Shared vision (Allows to see markers of enemies within your teammates' search angle.)
 +
|-
 +
| distDetection
 +
| Changes the distance of spotting units (0 - near, 1 - normal, 2 - far)
 +
|-
 +
| allowControlHelpers
 +
| Allow control helpers
 +
|-
 +
| forceInstructor
 +
| Force virtual instructor
 +
|-
 +
| playerTurretDeviation
 +
| Changes the way how aiming works in turrets and properties of targeting the gun both vertically and horizontally at the same time (speed)
 +
|-
 +
| boostersFuel
 +
| Unknown
 +
|-
 +
| ctaCaptureMul
 +
| Changes the time required to capture zones (1, 2, 3, at this moment it is the same for every mode)
 +
|-
 +
| damageModel
 +
| Changes main damage properties like allowing broken barrel to shot, simulating battery, bomb damage scale against airplanes etc. (0 - AB, 1 - RB, 2 - SB)
 +
|-
 +
| hudTankRangefinder
 +
| Change how the rangefinder works(1 - like in AB, always visible, 2 - like in RB, activated by pressing a button, also introduces a measuring error and takes some time to check the distance, 3 - works like in '''2''')
 +
|-
 +
| hudSendSquareTimeInterval
 +
| Unknown
 +
|-
 +
| hudSendSquareNumPlayers
 +
| Unknown
 +
|-
 +
| hudSendSquareTimeFromStart
 +
| Unknown
 +
|-
 +
| noviceDM
 +
| Enable/disable simplified damage model which makes other units easier to destroy
 +
|-
 +
| crewHealingOnlyOnCaptureZone
 +
| Makes it possible to heal unconscious crew members on capture zones
 +
|-
 +
| showBombSight
 +
| Enable/disable the bomb sight marker on the ground
 +
|-
 +
| showRadarGunSight
 +
| Unknown
 +
|-
 +
| checkTreesForIndicators
 +
| Unknown
 +
|-
 +
| visibleNotTraceableIndicators
 +
| Unknown
 +
|-
 +
| showShipBulletTimer
 +
| Enable/disable ship cannons impact time on target
 +
|-
 +
| drawShipBulletFallIndicator
 +
| Enable/disable ship cannons drop path when close to the impact area
 +
|-
 +
| enableLeaveKills
 +
| Enable/disable giving the kill to the nearest player after bailing out
 +
|-
 +
| airToAirMissileDetection
 +
| Enable/disable message on the screen when someone fires an AAM at you
 +
|-
 +
| nightVisionInTPS
 +
| Enable/disable night or thermal vision in third person view
 +
|-
 +
| aircraftFriendlyFireForBanOnly
 +
| Disables friendly fire
 +
|-
 +
| hudDetectAlly
 +
| Unknown
 +
|-
 +
| keepDeadTankOnMap
 +
| Makes destroyed tanks not disappear when player respawns
 +
|-
 +
| keepDeadShipOnMap
 +
| Makes destroyed ships not disappear when player respawns
 +
|-
 +
| hudSendSquare
 +
| Unknown
 +
|-
 +
| ignoreReplenishment
 +
| Disables friendly fire
 +
|-
 +
| hudShowEnemyDamageLog
 +
| Unknown
 +
|-
 +
| hudSpawnShotMarkers
 +
| Unknown
 +
|-
 +
| bombAssaultFuseTimeOverride
 +
| Sets the fuse time to 2 seconds, then makes it so it can't be changed on the respawn screen
 +
|-
 +
| hudPip
 +
| Unknown
 +
|-
 +
| rocketSpotting
 +
| Enables or disables missile indicator over its model when it is launched by the other plane
 +
|-
 +
| airToAirMissileDetection
 +
| Enables or disables missile text indicator and sound (it still will be played when the plane or helicopter is equipped with a missile approach warning system) when it is launched be the enemy plane
 +
|-
 +
|}
 +
 
 +
<div class="mw-collapsible mw-collapsed" style="width:40%">'''Here are settings used in AB, RB and SB gamemodes:'''<div class="mw-collapsible-content">
 +
 
 +
'''Arcade Battles'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=0
 +
    engineControl:i=0
 +
    realGunnery:i=0
 +
    realDamageModels:b=no
 +
    stallsAndSpins:b=no
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=no
 +
    limitedBombsMissiles:b=no
 +
    radarAssist:b=yes
 +
    sensor:i=0
 +
    seeker:i=0
 +
    rwr:i=0
 +
    noArcadeBoost:i=0
 +
    limitViews:i=0
 +
    hudAimPrediction:b=yes
 +
    hudMarkers:i=2
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=yes
 +
    hudTankRangefinder:i=0
 +
    hudMapAircraftMarkers:i=2
 +
    hudMapGroundMarkers:i=2
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=yes
 +
    hudDamageModel:i=0
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=yes
 +
    noRespawns:b=no
 +
    respDifficulty:i=0
 +
    aircraftHelpers:b=yes
 +
    collectiveDetection:b=yes
 +
    distDetection:i=2
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=yes
 +
    ctaCaptureMul:i=0
 +
    damageModel:i=0
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=no
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=no
 +
    showBombSight:b=yes
 +
    showRadarGunSight:b=yes
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=yes
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=yes
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=yes
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=yes
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=yes
 +
    opticalAgmArcadeControl:b=yes
 +
}
 +
 
 +
 
 +
'''Realistic Battles'''
 +
  netDifficultyBlk{
 +
    baseDifficulty:i=1
 +
    engineControl:i=1
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=1
 +
    seeker:i=1
 +
    radarAssist:b=yes
 +
    rwr:i=1
 +
    noArcadeBoost:i=1
 +
    limitViews:i=0
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=2
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=1
 +
    hudMapAircraftMarkers:i=2
 +
    hudMapGroundMarkers:i=2
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=yes
 +
    hudDamageModel:i=1
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=yes
 +
    noRespawns:b=no
 +
    respDifficulty:i=1
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=yes
 +
    distDetection:i=1
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=1
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=1
 +
    damageModel:i=1
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=no
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=yes
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=yes
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=no
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=no
 +
}
 +
 
 +
'''Simulator Battles'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=2
 +
    engineControl:i=2
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=yes
 +
    torqueAndGyro:b=yes
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=2
 +
    seeker:i=2
 +
    radarAssist:b=no
 +
    rwr:i=2
 +
    noArcadeBoost:i=1
 +
    limitViews:i=2
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=3
 +
    hudMarkerArrows:b=no
 +
    hudAircraftMarkersMaxDist:i=0
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=2
 +
    hudMapAircraftMarkers:i=1
 +
    hudMapGroundMarkers:i=2
 +
    hudMarkersBlink:b=no
 +
    hudRadar:b=no
 +
    hudDamageModel:i=0
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=no
 +
    noRespawns:b=no
 +
    respDifficulty:i=2
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=yes
 +
    distDetection:i=0
 +
    allowControlHelpers:i=3
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=2
 +
    damageModel:i=2
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=no
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=no
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    airToAirMissileDetection:b=no
 +
    rocketSpotting:b=no
 +
    nightVisionInTPS:b=no
 +
    hudDetectAlly:b=yes
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=no
 +
}
 +
 
 +
 
 +
'''RB for Ground Battles'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=1
 +
    engineControl:i=1
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=1
 +
    seeker:i=1
 +
    radarAssist:b=yes
 +
    rwr:i=1
 +
    noArcadeBoost:i=1
 +
    limitViews:i=0
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=1
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=1
 +
    hudMapAircraftMarkers:i=1
 +
    hudMapGroundMarkers:i=1
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=no
 +
    hudDamageModel:i=1
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=yes
 +
    noRespawns:b=no
 +
    respDifficulty:i=1
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=yes
 +
    distDetection:i=1
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=1
 +
    damageModel:i=1
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=yes
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=no
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=yes
 +
    shipSupportPlanes:b=no
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=no
 +
    setDifficulty:i=1
 +
 
 +
 
 +
'''SB for Ground Battles'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=2
 +
    engineControl:i=2
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=yes
 +
    torqueAndGyro:b=yes
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=2
 +
    seeker:i=2
 +
    radarAssist:b=no
 +
    rwr:i=2
 +
    noArcadeBoost:i=1
 +
    limitViews:i=2
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=0
 +
    hudMarkerArrows:b=no
 +
    hudAircraftMarkersMaxDist:i=0
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=2
 +
    hudMapAircraftMarkers:i=1
 +
    hudMapGroundMarkers:i=0
 +
    hudMarkersBlink:b=no
 +
    hudRadar:b=no
 +
    hudDamageModel:i=0
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=no
 +
    noRespawns:b=no
 +
    respDifficulty:i=2
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=yes
 +
    distDetection:i=0
 +
    allowControlHelpers:i=3
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=2
 +
    damageModel:i=2
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=yes
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=no
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    airToAirMissileDetection:b=no
 +
    rocketSpotting:b=no
 +
    nightVisionInTPS:b=no
 +
    hudDetectAlly:b=yes
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=no
 +
    checkActivityByPlayerDamage:b=no
 +
    shipGunsRearm:b=no
 +
    setDifficulty:i=2
 +
}
 +
 
 +
 
 +
'''AB for Naval Forces'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=0
 +
    engineControl:i=0
 +
    realGunnery:i=0
 +
    realDamageModels:b=no
 +
    stallsAndSpins:b=no
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=no
 +
    limitedBombsMissiles:b=no
 +
    radarAssist:b=yes
 +
    sensor:i=0
 +
    seeker:i=0
 +
    rwr:i=0
 +
    noArcadeBoost:i=0
 +
    limitViews:i=0
 +
    hudAimPrediction:b=yes
 +
    hudMarkers:i=2
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=yes
 +
    hudTankRangefinder:i=0
 +
    hudMapAircraftMarkers:i=2
 +
    hudMapGroundMarkers:i=2
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=yes
 +
    hudDamageModel:i=0
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=yes
 +
    noRespawns:b=no
 +
    respDifficulty:i=0
 +
    aircraftHelpers:b=yes
 +
    collectiveDetection:b=no
 +
    distDetection:i=2
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=yes
 +
    ctaCaptureMul:i=0
 +
    damageModel:i=0
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=no
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=no
 +
    showBombSight:b=yes
 +
    showRadarGunSight:b=yes
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=yes
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=yes
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=yes
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=no
 +
    shipSupportPlanes:b=yes
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=yes
 +
    shipGunsRearm:b=yes
 +
    opticalAgmArcadeControl:b=yes
 +
    setDifficulty:i=0
 +
}
 +
 
 +
 
 +
'''RB for Naval Forces'''
 +
netDifficultyBlk{
 +
    baseDifficulty:i=1
 +
    engineControl:i=1
 +
    realGunnery:i=1
 +
    realDamageModels:b=yes
 +
    stallsAndSpins:b=yes
 +
    redOuts:b=yes
 +
    mortalPilots:b=yes
 +
    manualTrimming:b=no
 +
    torqueAndGyro:b=no
 +
    flutter:b=yes
 +
    limitedBombsMissiles:b=yes
 +
    sensor:i=1
 +
    seeker:i=1
 +
    radarAssist:b=yes
 +
    rwr:i=1
 +
    noArcadeBoost:i=1
 +
    limitViews:i=0
 +
    hudAimPrediction:b=no
 +
    hudMarkers:i=1
 +
    hudMarkerArrows:b=yes
 +
    hudAircraftMarkersMaxDist:i=3
 +
    hudIndicators:b=yes
 +
    hudShowTankDistance:b=no
 +
    hudTankRangefinder:i=1
 +
    hudMapAircraftMarkers:i=1
 +
    hudMapGroundMarkers:i=1
 +
    hudMarkersBlink:b=yes
 +
    hudRadar:b=no
 +
    hudDamageModel:i=1
 +
    hudDamageIndicator:b=yes
 +
    hudLargeAwardMessages:b=yes
 +
    hudWarnings:b=no
 +
    noRespawns:b=no
 +
    respDifficulty:i=1
 +
    aircraftHelpers:b=no
 +
    collectiveDetection:b=no
 +
    distDetection:i=1
 +
    allowControlHelpers:i=0
 +
    forceInstructor:b=no
 +
    playerTurretDeviation:i=0
 +
    hudOutline:b=no
 +
    ctaCaptureMul:i=1
 +
    damageModel:i=1
 +
    hudSpawnShotMarkers:b=no
 +
    hudShowEnemyDamageLog:b=yes
 +
    bombAssaultFuseTimeOverride:b=yes
 +
    noviceDM:b=no
 +
    crewHealingOnlyOnCaptureZone:b=yes
 +
    showBombSight:b=no
 +
    showRadarGunSight:b=no
 +
    visibleNotTraceableIndicators:b=yes
 +
    checkTreesForIndicators:b=no
 +
    drawShipBulletFallIndicator:b=no
 +
    showShipBulletTimer:b=yes
 +
    ignoreReplenishment:b=no
 +
    aircraftFriendlyFireForBanOnly:b=no
 +
    enableLeaveKills:b=yes
 +
    rocketSpotting:b=no
 +
    airToAirMissileDetection:b=no
 +
    nightVisionInTPS:b=yes
 +
    hudDetectAlly:b=no
 +
    keepDeadTankOnMap:b=yes
 +
    keepDeadShipOnMap:b=yes
 +
    hudSendSquare:b=no
 +
    hudShowAttentionMarkForAircraft:b=yes
 +
    shipSupportPlanes:b=no
 +
    lightDM:b=no
 +
    checkActivityByPlayerDamage:b=yes
 +
    shipGunsRearm:b=no
 +
    setDifficulty:i=1
 +
}
 +
</div></div>
 +
 
 +
== Enabling Aurora Borealis ==
 +
It is possible to enable Aurora Borealis for custom missions by manualy editing the .blk file of your custom mission.
 +
 
 +
:1. Finish your mission completely and make sure the sky is functioning properly and how you want it. It is important that you edit the file last or else the CDK will overwrite your edits
 +
:2. Open the .blk mission file in Notepad
 +
:3. Scroll down to the '''mission{''' block
 +
:4. Add the code bellow under the  '''stars{''' block, if you already have the '''customWeather{''' block add only the '''aurora_borealis{''' block within it.
 +
 
 +
    customWeather{
 +
      aurora_borealis{
 +
        enabled:b=yes
 +
        top_height:r=15.0
 +
        top_color:p3=0.1, 0.1, 1.4
 +
        bottom_height:r=2.0
 +
        bottom_color:p3=0.1, 1.3, 0.1
 +
        brightness:r=2.74
 +
        speed:r=0.01
 +
        luminance:r=15.0
 +
        ripples_scale:r=15.3
 +
        ripples_speed:r=0.03
 +
        ripples_strength:r=0.14
 +
      }
 +
    }
 +
 
 +
An example '''mission{''' block of a multiplayer '''Night''' mission on the Arctic map set to the correct longitude and latitude of the supposed real life location of the map.
 +
 
 +
  mission{
 +
    type:t="domination"
 +
    level:t="levels/avg_arctic.bin"
 +
    environment:t="Night"
 +
    weather:t="clear"
 +
    locName:t=""
 +
    locDesc:t=""
 +
    scoreLimit:i=50000
 +
    deathPenaltyMul:r=0
 +
    allowEmptyTeams:b=yes
 +
    showTacticalMapCellSize:b=yes
 +
    stars{
 +
      latitude:r=80
 +
      longitude:r=47
 +
      year:i=2025
 +
      month:i=12
 +
      day:i=15
 +
      localTime:r=0.1
 +
    }
 +
    customWeather{
 +
      aurora_borealis{
 +
        enabled:b=yes
 +
        top_height:r=15.0
 +
        top_color:p3=0.1, 0.1, 1.4
 +
        bottom_height:r=2.0
 +
        bottom_color:p3=0.1, 1.3, 0.1
 +
        brightness:r=2.74
 +
        speed:r=0.01
 +
        luminance:r=15.0
 +
        ripples_scale:r=15.3
 +
        ripples_speed:r=0.03
 +
        ripples_strength:r=0.14
 +
      }
 +
    }
 +
  }
 +
 
 +
= Sample missions =
 +
 
 +
* [https://live.warthunder.com/post/911382/en/ Sample multiplayer mission] with respawn zones, capture zones and AAA units
 +
 
 +
= See also =
 +
* [[Instructions for Using the Mission Editor]]
 +
* [[Mission creation basics]]
 +
* [[Singleplayer mission creation basics]]
 +
 
 +
[[Category:War Thunder CDK]]
 +
[[Category:Custom missions]]

Latest revision as of 22:12, 21 July 2024

Introducing Wiki 3.0

How to create a basic multiplayer mission

Multiplayer Mission Properties.jpg
1. Run mission editor (missioned.cmd in WarThunderCDK folder).
2. Select a map in Select binary dump file window by pressing ... tab (all map files are stored here: WarThunder\levels)
Note: You can edit a mission without loaded map, location in scene viewer is just a preview.
3. Set basic settings in the Mission Editor.
  • Choose the side toolbar Mission Settings -> mission
  • Choose a name for your mission that will be displayed for other players in locName tab
Note: You can use space there and for example write down [Multiplayer Mission] Test
  • Choose a description for your mission in locDesc tab
  • Set a mission type to domination in type tab
  • Choose a location map in level tab
  • Choose time of a day and weather in Weather params tab
Not needed since you can do that in custom battle settings
  • If you want to make it a free for all mode (everyone vs everyone without teams) then go to Game type params and enable gt_ffa and gt_ffa_deathmatch options
  • Change the number of tickets in scoreLimit which you can find in Versus params tab
Note: by default it is set to 500
  • Change the number of tickets that are lost after someone dies in deathPenaltyMul which you can find in Versus params tab
Note: by default it is set to 1 so it will remove 100 tickets from one of teams every time someone dies, if for example you set it to 0.1 then the game will remove 10 tickets when someone dies

Optional if you want to make it work with CSV files

  • Save your mission somewhere as a .blk file
  • Open it in notepad
  • Under mission{ add this line:
name:t="basic_multiplayer_mission"
Note: You can't use capital letters and there should be no spaces

Important notes

  • It is not possible to use imports function in multiplayer missions
  • There's a size limit for multiplayer missions and it is set to 512 KB, so if you are planning to add lots of triggers try to optimize them as much as it is possible, using variables for that is a really good idea, also don't forget about useForTriggerFiltered option which makes it possible for actions to select only a few units that meet conditions (it is the best to use squad unit which consist of many units in it), this option is available in many actions.
  • If you are planning to change properties of selected player units (for example to repair selected units if they enter one of previously added areas) it is a really good idea to create a squad unit, put there all player units (all t1_player, t2_player units) and call it all_players_squad.
  • It is possible to use CSV files in multiplayer missions but every player needs to download them before joining to the custom battle with a custom multiplayer mission if they want to see objectives, hints and other messages.
  • It is possible to use custom weather settings in multiplayer mission (like forceSkiesInitialRandomSeed) but you need to make sure that mission weather matches custom battle weather type (so for example in both it is set to blind or good).
  • Players are able to spawn in multiplayer missions 30 seconds after the start.
  • All triggers in multiplayer mission are starting to work 30 seconds after the start of mission, unless its Event is set to initMission.
  • Do not enable or disable all available "Game type parameters", only those that you want should be enabled and even when they are unchecked it can cause issues which will make the mission unplayable, it is the best to leave them disabled (if you pressed them then just press [...] button and then select Remove).
  • The other function that can prevent the mission from launching is units_include, it should always be disabled and if it is not then just remove it by using [...] button.
  • Only up to 512 units (structures, tankModels etc.) can be added in multiplayer missions and there can be up to 1500 objectGroups units.
  • You can find more information about the Mission Editor here and more information about triggers here

Creating slots for players

The first and the most important thing that is needed to make the mission work is to make it possible for players to join to the battle. You can do that by adding "slots", multiplayer mission needs to have at least two of them to be playable.

Unit creation icon
1. Create a new unit by pressing Create unit icon and place it somewhere (you can control the map view by pressing SPACE).
Unit properties icon
2. Open its properties (by for example pressing P).
  • Change the Name: to t1_player01
  • Switch its type to armada
  • Find a dummy unit in Class tab and select it
Note: It will work for all unit types, planes, tanks, ships and helicopters
Copying Units.jpg
3. Copy t1_player01 unit.
Note: You will need it to create player slots for the mission, so it is preferable to create 16 of them, the game supports up to 32 players per team
  • Select the unit
  • Press W
  • While holding Shift select one of the displayed arrows and then drag it until a new unit appears
  • The CDK will show you a new window, in this window change the Count of clones: amount to the number that you want in your mission
  • Select Auto rename
  • Press Ok, now you should see lots of copies of this unit named t1_player02, t1_player03, t1_player04 etc.
Copying Units 2.jpg
4. Create the same amount of t2_player units by copying t1_player units.
  • In Unit copying window change Name of clone(s): to t2_player01
  • Change the Count of clones: amount to the number that equals amount of t1_player units (set it to 1)
  • Press Ok
  • Now you should see lots of copies of t1_player units named t2_player01, t2_player02, t2_player03 etc.
5. Go back to the side toolbar Mission Settings and add these units to make them usable as slots for players in your multiplayer mission.
  • Select player_teamA
  • Press wing to add new slots and add all t1_player units there one by one
  • Select player_teamB
  • Press wing to add new slots and add all t2_player units there one by one
Note: they can't be added as squads (by putting all units in for example t1 and t2 squad unit) if you do that then the mission will simply not work

Creating respawn zones for players

The second thing that you need to do is to make it possible for players to spawn in your mission, both teams need to have at least one spawn zone per team, but it is the best to add at least ten areas which will be added to the Squad unit to avoid some issues like players spawning in each other. It is recommended to use at least one Squad unit with areas for spawn zones per unit type, so for example one for planes, one for tanks and then another set for the other team, so four Squads in total and 10+ spawn zone areas per squad.

Setting up a trigger for respawn action

1. Choose the side toolbar Triggers / Missions Obj. Navigat
Trigger properties icon
2. Press the Trigger button to create a new trigger
3. Press the Properties and Trigger/MissionObj info icon which you can find on the top toolbar to show the tab with trigger properties.
4. Select your new trigger and change its Name to for example respawn.
Creating Respawn Zones.jpg
5. Make sure that Enabled is switched on.
6. Change the Events type to initMission.
Note: You need to do it this way because otherwise you will need to wait at least 30 second after launching the mission to be able to select one of available spawn zones
  • In lower part of this toolbar select periodicEvent {time=1.00} in the Elements: window
  • Select Elements button on the bottom and press periodicEvent
Note: (if nothing happens then select one of folders in the Elements: window and then switch back to periodicEvent {time=1.00})
  • A new window should appear, select initMission there and press Ok or double click on initMission

Adding air spawns for aeroplanes and ground spawns for ground units

1. Create areas for respawn action.
Area creation icons
  • Press one of area creation icons on the top toolbar
  • Press the ground on the map view in the place where you want to put your respawn area
  • press only if you selected the first icon (Point)
  • press and drag (you change its size by doing that) if you selected other icons (Sphere, Cylinder or Box)
2. Change properties of your area.
  • Change Name: to t1_spawnarea_01
  • Make at least 10 areas that are named t1_spawnarea_01, t1_spawnarea_02, t1_spawnarea_03 etc.
  • copy all created t1_spawnarea areas and call them t2_spawnarea_01, t2_spawnarea_01, t2_spawnarea_01 etc (you need them for both teams)
Note: If those spawns are meant to be for airplanes then place them in the air
if for tanks then place them on the ground
if for ships then place them on the sea level
3. Add a respawn action.
  • Press the Action button in the trigger properties toolbar
  • Below Filter: type missionMarkAsRespawnPoint
  • Press Ok or double click on missionMarkAsRespawnPoint
4. Add respawn areas to missionMarkAsRespawnPoint action.
  • Select missionMarkAsRespawnPoint action in Elements: window
  • Add all existing t1_spawnarea areas to the tab next to target, you can create more of them by just pressing a wide target tab below
  • Change the loc_name (name of that spawn zone which will be visible in game, you can use spaces and capital letters) or leave it be if you want the game to set default respawn names (Respawn #1, #2 etc.)
  • Press a wide team tab, a new selectable tab should appear, press it and select A
  • Press a wide tags tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air for airplanes, tank for ground units, ship for boats and ships)
Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area
5. Copy existing missionMarkAsRespawnPoint action to make respawn zones for the second team.
  • Below the Elements: window, there should be a copy tab, select missionMarkAsRespawnPoint action and then press this copy tab
  • Press Paste ... tab, a new window should appear
  • Select missionMarkAsRespawnPoint action there and press ok
  • Now you should see two the same actions in the Elements: window, select the second one
  • Change all target areas to those that are meant to be for the second team (B / T2)
  • Switch the team tab to B
Note: You can speed up changing targets by creating an area_squad unit and then putting all t2_spawnarea areas there, then selecting this squad in the missionMarkAsRespawnPoint action properties

Notes:

  • If you have any problems with the direction of spawn zones (for example when you rotated the area but it still spawns you in the same direction) then enable isStrictSpawn and resetStrictSpawnIndex options in missionMarkAsRespawnPoint action.

Adding airfield or carrier spawn for airplanes

1. Create an airfield unit.
  • Select Create unit icon on the top toolbar
    Unit creation icon
  • Select created unit
  • Open its properties (by for example pressing P)
    Unit properties icon
  • Change its Name: to airfield_01
  • Change its type to objectGroups
    Airfield Properties.jpg
  • Select one of available airfields in Class tab
Note: all names of airfields start with dynaf_
  • Change its army to 1
Note: depends for which team you want to make it, remember that 1 = A team, 2 = B team
2. Add a respawn action.
  • Press the Action button in the trigger properties toolbar
  • Below Filter: type missionMarkAsRespawnPoint
  • Press Ok or double click on missionMarkAsRespawnPoint
3. Add the airfield to missionMarkAsRespawnPoint action.
  • Select missionMarkAsRespawnPoint action in Elements: window
  • Add airfield_01 to the tab next to target
  • Change the loc_name (name of that spawn zone which will be visible in game, you can use spaces and capital letters) or leave it be if you want the game to set default respawn names (Respawn #1, #2 etc.)
  • Select isAirfield
  • Press a wide team tab, a new selectable tab should appear, press it and select A
  • Select Object and set it to airfield_01
  • Press a wide tags tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air)
Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area

The same method works also for the carriers.

Adding airfield spawn for airplanes on a normal terrain

Custom airfield
1. Create areas for your airfield
  • Create new sphere areas.
  • One at the airfield start, set its name to airfield_01_start
  • One at the airfield end, set its name to airfield_01_end
  • Add several areas for spawn zones, set their names to airfield_01_spawn_01, airfield_01_spawn_02 etc.
2. Add the airfield
  • Add a new action called addAirfield
  • Set the runwayStart as airfield_01_start
  • Set the runwayEnd as airfield_01_end
  • Add all spawn zones to spawnPoint
  • Make the airfield visible on the map by enabling visibleOnHud option
Note: It is important to set the runwayWidth value to something high, at least 100, so there are no issues with the spawn direction, also it is the best to put all spawn areas withing the airfield's starting zone, so the airfield_01_start in this case and that will require to set its size to 300-500 depending on the amount of spawn areas that it will be covering
3. Add the airfield to missionMarkAsRespawnPoint action.
  • Add a new missionMarkAsRespawnPoint action and select it
  • Set the airfield_01_start as the target
  • Change the loc_name (name of that spawn zone which will be visible in game
  • Select isAirfield
  • Press a wide team tab, a new selectable tab should appear, press it and select A if you want the A team to respawn there, or B if you want it be for the B team
  • Press a wide tags tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission (air)
Note: Tags are not optional, it is an important option in which you select what unit types can spawn on selected spawn area

Creating moving spawns

Spawns can be assigned to units and that makes it possible to spawn next to them as long as they are alive.

1. Create an unit (tank, ship or airplane).
2. Place it somewhere and give it waypoints so it does not stay at the same place.
3. Add a new action called missionMarkAsRespawnPoint.
  • Set the target as the unit (tank, ship or airplane)
  • Set the loc_name to for example Moving spawn so players will know about it
  • Enable isUnit option
  • Press a wide team tab, a new selectable tab should appear, press it and select A if you want the A team to respawn there, or B if you want it be for the B team
  • At the backupZone, it needs to be placed in safe place, it will be used in a situation when the unit is not alive anymore
  • Set the offset, it will make spawned units appear in a certain distance from the unit that is used as a spawn point
  • Press a wide tags tab on the bottom of option, it will create an expandable window with tabs of all available tags in the game, select those that you want to use in your mission


Notes:

  • If you are planning to create an airfield spawn zone by using addAirfield action (which allows to add spawn zones manually) and you decide to set the Event of that trigger to initMission then remember to always put missionMarkAsRespawnPoint after these addAirfield action, not before them and if you want to put missionMarkAsRespawnPoint in other trigger then make sure to disable it and then add a triggerEnable action pointing at that trigger from the trigger with addAirfield action, otherwise there might be issues with spawn zones and there's a chance that you won't be able to spawn your plane.

Creating capture zones

This step of making a multiplayer mission is optional, but since capture zones can be used as a main objective of the mission and they are really easy to make it is not a bad idea to make one, it will also give the AI units some tasks, otherwise they would just stay at spawn zones.

1. Create a new area and call it capture_zone_01.
2. Create a new trigger.
3. Add a new action called missionMarkAsCaptureZone.
  • Assign your new area to target (you should be able select capture_zone_01)
  • Set to which army it should be assigned by default (after launching your mission, 0 - neutral, 1 - A, 2 - B)
  • Set canCaptureOnGround if you want to be able to capture it by staying on the ground in the capture zone area (disabled by default)
  • Set canCaptureInAir if you want it to be able to capture it while being in the air (enabled by default)
  • Set canCapturebyGM if you want to make it capturable by ground units
  • Set onlyPlayersCanCapture if you want it to be capturable only by players
  • Set CaptureNoPenalty if you want to disable ticket drain when it is captured by one of teams
  • Add tags to select which unit types are allowed to capture this zone
Note: you can adjust how fast it drains tickets in missionSetProperties action, there are two ctaCaptureZone options which control that

Saving the mission

Now when everything is finished the mission should be saved and uploaded to a file hosting service, it is not hard to find one of them and if there are any issues you can always upload your mission on live.warthunder.com.

1. On the most top bar select Mission Editor
2. Press Save mission (Ctrl+M)
3. Select where you want to save the mission and set its name, remember to save it as a .blk file

That's all, now all you need to do is to upload your mission somewhere or on live.warthunder.com site, but don't forget to add a proper image and description for your mission. You will find more details here.

Remember that after every mission update on live.warthunder.com it generates a new download link which needs to be copied to the game.

Options and functions available in multiplayer missions

Versus mode parameters

Main options and functions used in multiplayer missions.

Option Description
scoreLimit Total amount of tickets in MP mission (by default it is set to 500)
timeLimit Time limit in MP mission (by default it is set to 30 minutes)
deathPenaltyMul Sets the multiplier of removed tickets after someone dies (by default it is set to 1.0 = 100 tickets per death)
postfix
Adds a gamemode name before the mission name

Note: There's a missionNamePostfix condition which lets you check the mission postfix

ctaCaptureZoneEqualPenaltyMult Sets the multiplier of tickets drain when both teams have captured the same amount of zones (when each team have at least 1 zone captured, both team will lose tickets with this mul)
ctaCaptureZoneDiffPenaltyExp When one team have on N more captured zones - enemy tickets will decrease faster. Mul calc as (if zones_num_t1 < zones_num_t2):(zones_num_t2 - zones_num_t1) ^ ctaCaptureZoneDiffPenaltyExp
useAlternativeMapCoord If checked will use alternative map coordinates
useKillStreaks Unknown
allowedKillStreaks Unknown
nameKillStreaks:t=""
Adds killstreak system from Arcade Battles (spawning in airplanes or helicopters after getting required amount of kills), you need to add this line manually by editing the mission blk file

Available killstreak presets:

  • killStreaksAircraftOrHelicopter
  • killStreaks_survival_event_aircraftOrHelicopter
randomSpawnTeams Unknown
remapAiTankModels Unknown
isBotsAllowed Disables or enables bots
battleAreaColorPreset Select the color type of the battle area
ingnoreInvulnerableTimer Disable or enable a spawn protection (making the player not able to be damaged)
allowedUnitTypes Select which unit types are allowed in your mission
useCustomSuperArtillery
Enable or disable custom artillery type for use in tanks and ships

Note: You can also enable or disable it by using missionCustomArtillery action

customSuperArtillery
Sets the custom artillery type

Available custom artillery types:

  • structures/streakartillery_203mm_r100m
  • structures/streakartillery_203mm_r150m
  • structures/streakartillery_203mm_r150m
  • structures/streakartillery_203mm_r200m
  • structures/ussr_152mm_d1
  • structures/ussr_122mm_m30_smoke
  • structures/ussr_152mm_ml20
  • structures/ussr_152mm_ml20_large
  • structures/ussr_203mm_b4
  • structures/ussr_quest_large_art
  • structures/germ_3x280mm_sk_c34 (At the moment, using this type will break the game and not let you spawn on the ground)
missionType Lets you select a mission type which you will be able to select in game (you need to set it up by adding proper actions and conditions)
maxRespawns Set the number of available respawns
allowEmptyTeams Lets you play alone in multiplayer missions
missionCostMul Unknown
respawnTimeMultiplier Sets a multiplier of how long it will take to respawn (respawn counter)
useSpawnScore Enables Spawn Points system (for more details check Enabling Spawn Points system category)
country_allies Set a country for the first team
country_axis Set a country for the second team
mission Makes it possible to set different mission settings like tickets amount for different gamemodes (AB, RB, SB)
groundKillWpBudget
Unknown
  • max_players: Unknown
  • max_total_budget: Unknown
  • min_total_budget: Unknown
  • min_total_budget_multiplier: Unknown
  • supposed_personal_part_of_total_budget_for_one_player:Unknown
  • min_mul_for_personal_price: Unknown
disableDrag Disabled drag for all weapons, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
disableGravity Disables gravity for all weapons, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
hideDamageFromPlayer Hides the vehicle or plane's icon that shows taken damage, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
useDeathmatchHUD Replaces the default bar at the top of screen with a kill and time counter, needs to be added manually to the mission file (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
killOutOfBattleAreaUnit Makes it so selected unit spawns when the player is out of battle area and then destroys player's unit, needs to be added manually to the mission file (it's a text parameter, so you have to add :t="" with unit's name after its name, you have to add that unit to your mission)
killLimit Adds a kill limit (it's an integer parameter, so you have to add :i= with the number after its name)
timeLimit Adds a time limit, needs to be added manually to the mission file (it's an integer parameter, so you have to add :i= with the number after its name)
timeLimitRound Adds a time limit per round, needs to be added manually to the mission file (it's an integer parameter, so you have to add :i= with the number after its name)
noRespawns Disables or enables respawns (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
colorTeamA Replaces existing team A color with the custom RGBA color (to make it work you have to add :c= with a color numbers, for example colorTeamA:c=242, 139, 67, 255)
colorTeamB Replaces existing team B color with the custom RGBA color (to make it work you have to add :c= with a color numbers, for example colorTeamB:c=23, 157, 152, 255)
ignoreInvulnerableTimer Disables invulnerability after respawns (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
moveCloudsHole Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
rendinstMaxHeight Placeholder (it's a real parameter, so you have to add :r= after its name and some numbers)
checkFriendlyFireAlsoFromAircrafts Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
hudUseModernMarkers Placeholder (it's a boolean parameter, so you have to add :b=yes or :b=no after its name)
isTankGunnerCameraFromSightForced Forces the option "Camera from tank gunner sight" to be enabled for everyone
allowSinglePlayerInFfa Unknown

Game type parameters

Various gamemode types or functionalities that can be disabled or enabled.

Option Description
gt_mp_tickets Enables or disables tickets functionality (can be used in SP missions)
gt_mp_capture Enables or disables capture zones (by using missionMarkAsCaptureZone action, can be used in SP missions)
gt_mp_solo Unknown
gt_cooperative Parameter used for creating cooperative missions
gt_reload_explosives Unknown
gt_ffa If enabled, will change the mission into a free for all mode (everyone vs everyone without teams)
gt_race If enabled, will change the mission into a race mode (it is the best to use it with beginRaceMode action)
gt_football If enabled, will change the mission into a football mode (to make it work you need to use options from the football params tab and copy these two lines under the mission{ block: isPhysPredictionEnabled:b=yes isPreciseCollisionDetectionEnabled:b=yes )
gt_last_man_standing If enabled, will change the mission into a battle royale mode (to make it work you need to use missionSetBattleRoyaleArea action)
gt_mp_score Shows the score on top of screen (killed player units, deaths, your place in team etc.) and hides the tickets bar
gt_versus Disables or enables its multiplayer functionality

If you want to make a simple team deathmatch mission leave all these options disabled (not unchecked) and if you already enabled them then press the button with three dots and disable them manually.

Enabling Spawn Points system

Spawn Points system is a feature that can allow you add an additional spawn requirement, the need of gaining Spawn Points by capturing zones or destroying units controlled by players or AI. In Realistic Battles for Ground Forces they are needed if you want to spawn in another vehicle after you lose your current one, better vehicles require more Spawn Points and every time you die it will increase Spawn Points requirements. In Enduring Confrontation game mode you need Spawn Points to spawn in better airplanes, right after joining to battle you get 200 SP which allows you to spawn in airplanes with the lowest Battle Rating in bracket of that battle (for example 5.0 in 5.0-6.3 battle) and in a vehicle that has higher BR by 0.3. This section will explain how to make this system work in the custom multiplayer missions.

Screenshot of a Spawn Points system.jpg
1. Go to Mission Settings:> Versus params and enable useSpawnScore
2. If you haven't saved the mission yet then do it now
3. Open the blk mission file in Notepad
4. Scroll down to the mission{ block
5. Paste all that code below to your .blk file under the mission{ block so it looks like on the screenshot to the right

Note: Spawn Points can also be controlled during the mission by using the playerAddRoundScore action

customSpawnScore{
 base_respawn_points_coef:i=250
 br_diff_mul_Air:r=0.0
 br_diff_mul_Tank:r=0.0
 br_diff_mul_Ship:r=0.0
 max_br_diff:r=0.0
 spawn_pow:r=0.0
 spawnCostMulForFighterWithBombs:r=0.0
 // If you want to add multipliers for specific vehicles units or types then add them here and remove "//"
}
6. Save the file, reload the mission in the Mission Editor
Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines


Explanation of what Spawn Points system lines do:
Note: Setting them to 0.0 will disable selected features (the one with the number set to 0.0)
Option Description
base_respawn_points_coef
Sets a default Spawn Points amount, for example if you set it to 1 then you will need 1 SP to spawn in vehicles

Note: If you set it to 1 you will give every vehicle an exact Spawn Points value, so if you set it to 700.0 then you will need 700 SP in game to spawn in it

br_diff_mul_Air Sets a multiplier of Spawn Points for airplanes which depends on what BR do they have (the higher BR the higher needed SP amount)
br_diff_mul_Tank Sets a multiplier of Spawn Points for tanks which depends on what BR do they have (the higher BR the higher needed SP amount)
br_diff_mul_Ship Sets a multiplier of Spawn Points for ships which depends on what BR do they have (the higher BR the higher needed SP amount)
max_br_diff Increases a difference of Spawn Points between units with different Battle Rating
spawn_pow Increases Spawn Points requirements after every death
spawnCostMulForFighterWithBombs Sets a multiplier of Spawn Points for airplanes with loaded bombs or other weapons
spawnCostMulForHelicopterWithATGM Sets a multiplier of Spawn Points for helicopters with loaded ATGMs
maxRespawnPointsMul Unknown
You can also set a multiplier for every single vehicle or group of them (sorting by their type)


Available Spawn Point names for specific unit types:
Option Description
exp_bomber Bomber
exp_fighter Fighter
exp_assault Attacker
exp_tank Light / Medium tank / MBT
exp_heavy_tank Heavy tank
exp_tank_destroyer Tank destroyer
exp_SPAA SPAAG
exp_helicopter Helicopter
exp_ship Boat / Cargo ship
exp_destroyer Destroyer
exp_cruiser Light cruiser / Heavy cruiser / Battleship
exp_gun_boat Gunboat
exp_cv_ship Aircraft carrier
exp_torpedo_boat Torpedo boat
exp_torpedo_gun_boat Torpedo gunboat / Frigate


To add a multiplier for a specific vehicle you need to add its name and then add :r=0.0 (with any number set by you) to it, you can find the list of all vehicles here.
Example:
bf-109g-14:r=1.5


Here's an example block:
customSpawnScore{
 base_respawn_points_coef:i=1
 br_diff_mul_Air:r=0
 br_diff_mul_Tank:r=0
 max_br_diff:r=0
 spawn_pow:r=0
 us_m4a3e8_76w_sherman:r=700
 us_m4a3e2_76w_sherman_jumbo:r=1100
 p-47d:r=1100
 p-47d-28:r=1100
 p-51d-5:r=1100
 p-51d-10:r=1100
 p-51d-20:r=1100
 p-38l:r=1100
 a-20g:r=1100
 germ_pzkpfw_VI_ausf_b_tiger_IIh:r=2000
 germ_pzkpfw_VI_ausf_h1_tiger:r=1500
 germ_pzkpfw_VI_ausf_e_tiger:r=1600
 germ_pzkpfw_V_ausf_g_panther:r=1200
 germ_panzerjager_nashorn:r=700
 germ_panzerjager_panther:r=1400
 germ_panzerbefelhswagen_jagdpanther:r=1400
 fw-190a-8:r=1100
 bf-109g-6:r=1100
 bf-109g-10:r=1100
 bf-109g-14:r=1100
}

Limiting amount and type of units available for respawn

This script allows you to set a specific number of available respawns for specific vehicles or types of them, you can limit how many times can one team respawn or how many times can players use a specific vehicle.

To make this script work:

1. If you haven't saved the mission yet then do it now
2. Open the blk mission file in Notepad
3. Scroll down to the mission{ block
4. Paste all that code below to your .blk file under the mission{ block so it looks like on the screenshot to the right
Screenshot of a Shared Pool script.jpg
    customRules{
      name:t="sharedPool"

      teams{
        teamA{
          playerMaxSpawns:i=8
          spawnLimit:i=60

          limitedTags{
          }

          limitedActiveClasses{
          }

          limitedClasses{
          }

          limitedUnits{
          }

          unlimitedUnits{
          }
        }

        teamB{
          playerMaxSpawns:i=8
          spawnLimit:i=60

          limitedTags{
          }

          limitedClasses{
          }

          limitedActiveClasses{
          }

          limitedUnits{
          }

          unlimitedUnits{
          }
        }
      }
    }
5. Save the file, reload the mission in the Mission Editor
Note: If you save your mission in the Mission Editor after adding this script it won't remove these lines
Explanation of what Shared Pool script lines do:
Option Description
teamA Under this block you put all units that you want to restrict for the A or 1 team
teamB Under this block you put all units that you want to restrict for the B or 2 team
spawnLimit Sets a maximum amount of respawn for team
playerMaxSpawns Sets a maximum amount of respawns per player
limitedUnits You can put there all vehicles types or specific ones and add :i= with a number, it will set a spawn amount limit for that specific unit
unlimitedUnits You can set if you want to make amount of specific units unlimited (:b=yes or :b=no needs to be added after the unit's name)
limitedTags Used to set the vehicle limit based on its tag
limitedClasses Used to set the vehicle limit based on its unit class
limitedActiveClasses Used to set the vehicle limit based on its unit class, makes it possible to limit the amount of specifc unit type being active at the same time, so for example after spawning three heavy tanks it will not be possible to spawn more until one of them is destroyed

To set amount of respawns for a specific vehicle you need to add its name and then add :i=1 (with any number set by you) to it, you can find the list of all vehicles here.
Example:

bf-109g-14:i=1

Classes and tags have higher priority than limitedUnits and unlimitedUnits, so for example if you set the limitedTags to air:i=10 and unlimitedUnits to f-5e:b=yes then after 10 spawns it will not be possible to spawn the F-5E anymore. It is not possible to run the mission with limitedTags or limitedClasses only, there need to be at least one unit in limitedUnits or unlimitedUnits.

Full list of all tags:
Option Description
air Aviation
type_bomber Bomber
type_fighter Fighter
type_assault Attacker
type_interceptor Interceptor
type_aa_fighter
type_light_bomber Light bomber
type_frontline_bomber Frontline bomber
type_longrange_bomber Long range bomber
bomberview Has access to the bomber view
type_hydroplane Hydroplane
carrier_take_off Can takeoff from carriers
airfield_take_off Can takeoff from airfields
none_can_spawn
helicopter Helicopters
type_attack_helicopter Attack helicopter
type_utility_helicopter Utility Helicopter
tank Ground vehicles
type_heavy_tank Heavy tank
type_medium_tank Medium tank
type_light_tank Light tank
type_tank_destroyer Tank destroyer
type_spaa SPAAG
type_missile_tank
has_proximityFuse_rocket
artillery Artillery
aaa AAA
ship Ships
boat Boat
type_gun_boat Gunboat
type_destroyer Destroyer
type_light_cruiser Light cruiser
type_heavy_cruiser Heavy cruiser
type_battlecruiser Battlecruiser
type_battleship Battleship
walker Walker
country_japan Japanese
country_germany German
country_usa USA
country_britain Britain
country_australia Australian
country_ussr USSR
country_france French
country_italy Italian
country_china Chinese
Full list of all classes:
Option Description
exp_bomber Bomber
exp_fighter Fighter
exp_assault Attacker
exp_tank Light / Medium tank / MBT
exp_heavy_tank Heavy tank
exp_tank_destroyer Tank destroyer
exp_SPAA SPAAG
exp_helicopter Helicopter
exp_ship Boat / Cargo ship
exp_destroyer Destroyer
exp_cruiser Light cruiser / Heavy cruiser / Battleship
exp_gun_boat Gunboat
exp_cv_ship Aircraft carrier
exp_torpedo_boat Torpedo boat
exp_torpedo_gun_boat Torpedo gunboat / Frigate


An example block:
customRules{
 name:t="sharedPool"
  teams{
   teamA{
    playerMaxSpawns:i=5
    spawnLimit:i=80
   limitedUnits{
    us_m4a1_76w_sherman:i=10
    us_m4a2_76w_sherman:i=18
    us_m4a3e2_sherman_jumbo:i=12
    us_m4a3e2_sherman_jumbo_cobra_king:i=8
    us_m4a3e2_76w_sherman_jumbo:i=6
    us_m4a3e8_76w_sherman:i=10
    us_m18_hellcat:i=8
    us_m36:i=10
    us_halftrack_m15:i=8
    us_halftrack_m16:i=8
    p-47d:i=4
    p-47d-28:i=4
    p-51d-5:i=4
    p-51d-10:i=4
    p-51d-20:i=4
    p-38l:i=4
    a-20g:i=4
   }
   unlimitedUnits{
    us_m4a2_sherman:b=yes
    us_m24_chaffee:b=yes
    us_m10:b=yes
   }
  }
   teamB{
    playerMaxSpawns:i=5
    spawnLimit:i=80
   limitedUnits{
    germ_pzkpfw_VI_ausf_b_tiger_IIh:i=2
    germ_pzkpfw_VI_ausf_h1_tiger:i=3
    germ_pzkpfw_VI_ausf_e_tiger:i=3
    germ_pzkpfw_V_ausf_a_panther:i=8
    germ_pzkpfw_V_ausf_g_panther:i=10
    germ_panzerjager_nashorn:i=8
    germ_panzerjager_panther:i=4
    germ_panzerbefelhswagen_jagdpanther:i=4
    germ_flakpanzer_IV_Wirbelwind:i=8
    germ_pz_IV_L70:i=10
    fw-190a-8:i=4
    bf-109g-6:i=3
    bf-109g-10:i=3
    bf-109g-14:i=3
   }
   unlimitedUnits{
    germ_pzkpfw_IV_ausf_H:b=yes
    germ_pzkpfw_IV_ausf_J:b=yes
    germ_panzerbefelhswagen_IV_ausf_J:b=yes
    germ_stug_III_ausf_G:b=yes
   }
  }
 }
}

Enabling custom difficulty

Custom difficulty is the same feature that is available in game when you create a custom battle, you can see it on the top of window and it is called Difficulty. The only difference between it and the mission version is that you can add and customize more options in the mission file.

To make this script work:

1. If you haven't saved the mission yet then do it now
2. Open the blk mission file in Notepad
3. Scroll down to the mission{ block
4. Check if you have this line there difficulty:t=, if no then add this difficulty:t="", if yes then replace everything after :t=" with '"arcade", "realistic", or "hardcore", depending which one is the closest to the one that will be used
5. Make sure that openDiffLevels is disabled (unchecked) in Mission Settings -> mission -> Common params (or just add it manually by pasting this line openDiffLevels:b=no)
6. Paste all that code below to your .blk file under the mission{ block so it looks like on the screenshot to the right
Custom difficulty settings in the Mission Editor.jpg

Important note: All values after :i= can be set to 0, 1 or 2, all values after :b= can be set to no or yes

netDifficultyBlk{
   baseDifficulty:i=1
   engineControl:i=1
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=1
   seeker:i=1
   radarAssist:b=yes
   rwr:i=1
   noArcadeBoost:i=1
   limitViews:i=0
   hudAimPrediction:b=no
   hudMarkers:i=2
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=1
   hudMapAircraftMarkers:i=2
   hudMapGroundMarkers:i=2
   hudMarkersBlink:b=yes
   hudRadar:b=yes
   hudDamageModel:i=1
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=yes
   noRespawns:b=no
   respDifficulty:i=1
   aircraftHelpers:b=no
   collectiveDetection:b=yes
   distDetection:i=1
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=1
   hudOutline:b=no
   ctaCaptureMul:i=1
   damageModel:i=1
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=no
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   rocketSpotting:b=yes
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=yes
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=no
   lightDM:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=no
}


Explanation of what all these lines do:

Option Description
baseDifficulty Enables basic properties for selected difficulty (0 - AB, 1 - RB, 2 - SB)
engineControl Engine Control
respDifficulty Respawn time multiplier set (0 - easy, 1 - medium, 2 - hard)
realGunnery Realistic Gunnery
realDamageModels realDamageModels (Allows you to toggle between realistic and simplified damage models)
stallsAndSpins Stalls
redOuts Redouts / Blackouts
mortalPilots Mortal pilots
manualTrimming Manual trimming
torqueAndGyro Torque effect
limitedBombsMissiles Limited bombs and missiles
noArcadeBoost Disable arcade boost
limitViews Changes available camera positions (third person camera view, first person camera view) and other options (1 - first person + third person + virtual views, 2 - first person + virtual views or 3 - first person only + disables third person artillery view)
flutter Flutter effect
limitedBombsMissiles Unknown
radarAssist Unknown
sensor Controls the radar and its simplifications (0 - the most simplified, disabled ground clutter, disabled multipath effect, cannot detect or lock friendly units, 1 - normal, but with some simplifications to multipath effect, 2 - the most realistic, every simplification is disabled)
seeker Controls the SARH and ARH missiles and their simplifications (0 - the most simplified, 1 - normal, 2 - the most realistic, every simplification is disabled, at this moment the 1 and 2 are the same)
rwr Changes how the RWR works, 0 - simplified, shows everything (all bands and targets), 1 - normal, radar bands are working properly (so RWR that cannot see the J band will not be able to see it during the battle), but shows all the targets (so even those that are not included in the RWR's list of targets), 2 - fully realistic, bands are being shows like in the "1", but it shows only those targets that are only on the RWR's list.
hudAimPrediction [HUD] aim prediction (Enable/disable aim prediction)
hudShowSpeedVector [HUD] speed vector (Enable/disable speed vector)
hudMarkers [HUD] units names and distances (Enable/disable displaying of unit names and distances to them)
hudMarkerArrows [HUD] marker arrows (Enable/disable display of arrows near the edges of the screen, pointing at targets)
hudAircraftMarkersMaxDist Markers rendering distance (airplane/ship/tank / near - 900/20000/3000, normal - 2000/?/?, far - 10000/?/?, maximum - no limit)
hudIndicators [HUD] indicators (Enable/disable indicators of throttle, speed, altitude, etc. in the upper left corner of the screen)
hudShowTankDistance [HUD] units distances for tanks (Enable/disable displaying of distances to units for tanks)
hudMapAircraftMarkers [HUD] aircraft markers on map (Enable/disable aircraft indication on Tactical map)
hudMapGroundMarkers [HUD] vehicles markers on map (Enable/disable vehicles indication on Tactical map)
hudTankMapAircraftMarkers [HUD] aircraft markers on tank map (Enable/disable aircraft indication on Tactical map for tanks)
hudTankMapGroundMarkers [HUD] vehicles markers on tank map (Enable/disable vehicles indication on Tactical map for tanks)
hudMarkersBlink [HUD] mission target blink
hudRadar [HUD] radar (Enable/disable radar)
hudDamageModel [HUD] damaged model indicators (Enable/disable damage model indicator)
hudDamageIndicator [HUD] damage indicators (Enable/disable damage indicator)
hudTankDamageLog Unknown
hudLargeAwardMessages [HUD] large award messages (Enable/disable large award messages)
hudWarnings [HUD] onscreen warnings (Enable/disable onscreen warnings)
hudOutline Unknown
noRespawns Respawns (Enable/disable respawns of players)
aircraftHelpers Aircraft helpers (Helps to control the plane by adapting the speed in different situations)
collectiveDetection [HUD] Shared vision (Allows to see markers of enemies within your teammates' search angle.)
distDetection Changes the distance of spotting units (0 - near, 1 - normal, 2 - far)
allowControlHelpers Allow control helpers
forceInstructor Force virtual instructor
playerTurretDeviation Changes the way how aiming works in turrets and properties of targeting the gun both vertically and horizontally at the same time (speed)
boostersFuel Unknown
ctaCaptureMul Changes the time required to capture zones (1, 2, 3, at this moment it is the same for every mode)
damageModel Changes main damage properties like allowing broken barrel to shot, simulating battery, bomb damage scale against airplanes etc. (0 - AB, 1 - RB, 2 - SB)
hudTankRangefinder Change how the rangefinder works(1 - like in AB, always visible, 2 - like in RB, activated by pressing a button, also introduces a measuring error and takes some time to check the distance, 3 - works like in 2)
hudSendSquareTimeInterval Unknown
hudSendSquareNumPlayers Unknown
hudSendSquareTimeFromStart Unknown
noviceDM Enable/disable simplified damage model which makes other units easier to destroy
crewHealingOnlyOnCaptureZone Makes it possible to heal unconscious crew members on capture zones
showBombSight Enable/disable the bomb sight marker on the ground
showRadarGunSight Unknown
checkTreesForIndicators Unknown
visibleNotTraceableIndicators Unknown
showShipBulletTimer Enable/disable ship cannons impact time on target
drawShipBulletFallIndicator Enable/disable ship cannons drop path when close to the impact area
enableLeaveKills Enable/disable giving the kill to the nearest player after bailing out
airToAirMissileDetection Enable/disable message on the screen when someone fires an AAM at you
nightVisionInTPS Enable/disable night or thermal vision in third person view
aircraftFriendlyFireForBanOnly Disables friendly fire
hudDetectAlly Unknown
keepDeadTankOnMap Makes destroyed tanks not disappear when player respawns
keepDeadShipOnMap Makes destroyed ships not disappear when player respawns
hudSendSquare Unknown
ignoreReplenishment Disables friendly fire
hudShowEnemyDamageLog Unknown
hudSpawnShotMarkers Unknown
bombAssaultFuseTimeOverride Sets the fuse time to 2 seconds, then makes it so it can't be changed on the respawn screen
hudPip Unknown
rocketSpotting Enables or disables missile indicator over its model when it is launched by the other plane
airToAirMissileDetection Enables or disables missile text indicator and sound (it still will be played when the plane or helicopter is equipped with a missile approach warning system) when it is launched be the enemy plane
Here are settings used in AB, RB and SB gamemodes:

Arcade Battles

netDifficultyBlk{
   baseDifficulty:i=0
   engineControl:i=0
   realGunnery:i=0
   realDamageModels:b=no
   stallsAndSpins:b=no
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=no
   limitedBombsMissiles:b=no
   radarAssist:b=yes
   sensor:i=0
   seeker:i=0
   rwr:i=0
   noArcadeBoost:i=0
   limitViews:i=0
   hudAimPrediction:b=yes
   hudMarkers:i=2
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=yes
   hudTankRangefinder:i=0
   hudMapAircraftMarkers:i=2
   hudMapGroundMarkers:i=2
   hudMarkersBlink:b=yes
   hudRadar:b=yes
   hudDamageModel:i=0
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=yes
   noRespawns:b=no
   respDifficulty:i=0
   aircraftHelpers:b=yes
   collectiveDetection:b=yes
   distDetection:i=2
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=yes
   ctaCaptureMul:i=0
   damageModel:i=0
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=no
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=no
   showBombSight:b=yes
   showRadarGunSight:b=yes
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=yes
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=yes
   enableLeaveKills:b=yes
   rocketSpotting:b=yes
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=yes
   lightDM:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=yes
   opticalAgmArcadeControl:b=yes
}


Realistic Battles

 netDifficultyBlk{
   baseDifficulty:i=1
   engineControl:i=1
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=1
   seeker:i=1
   radarAssist:b=yes
   rwr:i=1
   noArcadeBoost:i=1
   limitViews:i=0
   hudAimPrediction:b=no
   hudMarkers:i=2
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=1
   hudMapAircraftMarkers:i=2
   hudMapGroundMarkers:i=2
   hudMarkersBlink:b=yes
   hudRadar:b=yes
   hudDamageModel:i=1
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=yes
   noRespawns:b=no
   respDifficulty:i=1
   aircraftHelpers:b=no
   collectiveDetection:b=yes
   distDetection:i=1
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=1
   hudOutline:b=no
   ctaCaptureMul:i=1
   damageModel:i=1
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=no
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   rocketSpotting:b=yes
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=yes
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=no
   lightDM:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=no
}

Simulator Battles

netDifficultyBlk{
   baseDifficulty:i=2
   engineControl:i=2
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=yes
   torqueAndGyro:b=yes
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=2
   seeker:i=2
   radarAssist:b=no
   rwr:i=2
   noArcadeBoost:i=1
   limitViews:i=2
   hudAimPrediction:b=no
   hudMarkers:i=3
   hudMarkerArrows:b=no
   hudAircraftMarkersMaxDist:i=0
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=2
   hudMapAircraftMarkers:i=1
   hudMapGroundMarkers:i=2
   hudMarkersBlink:b=no
   hudRadar:b=no
   hudDamageModel:i=0
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=no
   noRespawns:b=no
   respDifficulty:i=2
   aircraftHelpers:b=no
   collectiveDetection:b=yes
   distDetection:i=0
   allowControlHelpers:i=3
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=no
   ctaCaptureMul:i=2
   damageModel:i=2
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=no
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=no
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   airToAirMissileDetection:b=no
   rocketSpotting:b=no
   nightVisionInTPS:b=no
   hudDetectAlly:b=yes
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=no
}


RB for Ground Battles

netDifficultyBlk{
   baseDifficulty:i=1
   engineControl:i=1
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=1
   seeker:i=1
   radarAssist:b=yes
   rwr:i=1
   noArcadeBoost:i=1
   limitViews:i=0
   hudAimPrediction:b=no
   hudMarkers:i=1
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=1
   hudMapAircraftMarkers:i=1
   hudMapGroundMarkers:i=1
   hudMarkersBlink:b=yes
   hudRadar:b=no
   hudDamageModel:i=1
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=yes
   noRespawns:b=no
   respDifficulty:i=1
   aircraftHelpers:b=no
   collectiveDetection:b=yes
   distDetection:i=1
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=no
   ctaCaptureMul:i=1
   damageModel:i=1
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=yes
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   rocketSpotting:b=no
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=yes
   shipSupportPlanes:b=no
   lightDM:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=no
   setDifficulty:i=1


SB for Ground Battles

netDifficultyBlk{
   baseDifficulty:i=2
   engineControl:i=2
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=yes
   torqueAndGyro:b=yes
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=2
   seeker:i=2
   radarAssist:b=no
   rwr:i=2
   noArcadeBoost:i=1
   limitViews:i=2
   hudAimPrediction:b=no
   hudMarkers:i=0
   hudMarkerArrows:b=no
   hudAircraftMarkersMaxDist:i=0
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=2
   hudMapAircraftMarkers:i=1
   hudMapGroundMarkers:i=0
   hudMarkersBlink:b=no
   hudRadar:b=no
   hudDamageModel:i=0
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=no
   noRespawns:b=no
   respDifficulty:i=2
   aircraftHelpers:b=no
   collectiveDetection:b=yes
   distDetection:i=0
   allowControlHelpers:i=3
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=no
   ctaCaptureMul:i=2
   damageModel:i=2
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=yes
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=no
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   airToAirMissileDetection:b=no
   rocketSpotting:b=no
   nightVisionInTPS:b=no
   hudDetectAlly:b=yes
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=no
   checkActivityByPlayerDamage:b=no
   shipGunsRearm:b=no
   setDifficulty:i=2
}


AB for Naval Forces

netDifficultyBlk{
   baseDifficulty:i=0
   engineControl:i=0
   realGunnery:i=0
   realDamageModels:b=no
   stallsAndSpins:b=no
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=no
   limitedBombsMissiles:b=no
   radarAssist:b=yes
   sensor:i=0
   seeker:i=0
   rwr:i=0
   noArcadeBoost:i=0
   limitViews:i=0
   hudAimPrediction:b=yes
   hudMarkers:i=2
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=yes
   hudTankRangefinder:i=0
   hudMapAircraftMarkers:i=2
   hudMapGroundMarkers:i=2
   hudMarkersBlink:b=yes
   hudRadar:b=yes
   hudDamageModel:i=0
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=yes
   noRespawns:b=no
   respDifficulty:i=0
   aircraftHelpers:b=yes
   collectiveDetection:b=no
   distDetection:i=2
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=yes
   ctaCaptureMul:i=0
   damageModel:i=0
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=no
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=no
   showBombSight:b=yes
   showRadarGunSight:b=yes
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=yes
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=yes
   enableLeaveKills:b=yes
   rocketSpotting:b=yes
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=no
   shipSupportPlanes:b=yes
   lightDM:b=no
   checkActivityByPlayerDamage:b=yes
   shipGunsRearm:b=yes
   opticalAgmArcadeControl:b=yes
   setDifficulty:i=0
}


RB for Naval Forces

netDifficultyBlk{
   baseDifficulty:i=1
   engineControl:i=1
   realGunnery:i=1
   realDamageModels:b=yes
   stallsAndSpins:b=yes
   redOuts:b=yes
   mortalPilots:b=yes
   manualTrimming:b=no
   torqueAndGyro:b=no
   flutter:b=yes
   limitedBombsMissiles:b=yes
   sensor:i=1
   seeker:i=1
   radarAssist:b=yes
   rwr:i=1
   noArcadeBoost:i=1
   limitViews:i=0
   hudAimPrediction:b=no
   hudMarkers:i=1
   hudMarkerArrows:b=yes
   hudAircraftMarkersMaxDist:i=3
   hudIndicators:b=yes
   hudShowTankDistance:b=no
   hudTankRangefinder:i=1
   hudMapAircraftMarkers:i=1
   hudMapGroundMarkers:i=1
   hudMarkersBlink:b=yes
   hudRadar:b=no
   hudDamageModel:i=1
   hudDamageIndicator:b=yes
   hudLargeAwardMessages:b=yes
   hudWarnings:b=no
   noRespawns:b=no
   respDifficulty:i=1
   aircraftHelpers:b=no
   collectiveDetection:b=no
   distDetection:i=1
   allowControlHelpers:i=0
   forceInstructor:b=no
   playerTurretDeviation:i=0
   hudOutline:b=no
   ctaCaptureMul:i=1
   damageModel:i=1
   hudSpawnShotMarkers:b=no
   hudShowEnemyDamageLog:b=yes
   bombAssaultFuseTimeOverride:b=yes
   noviceDM:b=no
   crewHealingOnlyOnCaptureZone:b=yes
   showBombSight:b=no
   showRadarGunSight:b=no
   visibleNotTraceableIndicators:b=yes
   checkTreesForIndicators:b=no
   drawShipBulletFallIndicator:b=no
   showShipBulletTimer:b=yes
   ignoreReplenishment:b=no
   aircraftFriendlyFireForBanOnly:b=no
   enableLeaveKills:b=yes
   rocketSpotting:b=no
   airToAirMissileDetection:b=no
   nightVisionInTPS:b=yes
   hudDetectAlly:b=no
   keepDeadTankOnMap:b=yes
   keepDeadShipOnMap:b=yes
   hudSendSquare:b=no
   hudShowAttentionMarkForAircraft:b=yes
   shipSupportPlanes:b=no
   lightDM:b=no
   checkActivityByPlayerDamage:b=yes
   shipGunsRearm:b=no
   setDifficulty:i=1
}

Enabling Aurora Borealis

It is possible to enable Aurora Borealis for custom missions by manualy editing the .blk file of your custom mission.

1. Finish your mission completely and make sure the sky is functioning properly and how you want it. It is important that you edit the file last or else the CDK will overwrite your edits
2. Open the .blk mission file in Notepad
3. Scroll down to the mission{ block
4. Add the code bellow under the stars{ block, if you already have the customWeather{ block add only the aurora_borealis{ block within it.
   customWeather{
     aurora_borealis{
       enabled:b=yes
       top_height:r=15.0
       top_color:p3=0.1, 0.1, 1.4
       bottom_height:r=2.0
       bottom_color:p3=0.1, 1.3, 0.1
       brightness:r=2.74
       speed:r=0.01
       luminance:r=15.0
       ripples_scale:r=15.3
       ripples_speed:r=0.03
       ripples_strength:r=0.14
     }
   }

An example mission{ block of a multiplayer Night mission on the Arctic map set to the correct longitude and latitude of the supposed real life location of the map.

 mission{
   type:t="domination"
   level:t="levels/avg_arctic.bin"
   environment:t="Night"
   weather:t="clear"
   locName:t=""
   locDesc:t=""
   scoreLimit:i=50000
   deathPenaltyMul:r=0
   allowEmptyTeams:b=yes
   showTacticalMapCellSize:b=yes
   stars{
     latitude:r=80
     longitude:r=47
     year:i=2025
     month:i=12
     day:i=15
     localTime:r=0.1
   }
   customWeather{
     aurora_borealis{
       enabled:b=yes
       top_height:r=15.0
       top_color:p3=0.1, 0.1, 1.4
       bottom_height:r=2.0
       bottom_color:p3=0.1, 1.3, 0.1
       brightness:r=2.74
       speed:r=0.01
       luminance:r=15.0
       ripples_scale:r=15.3
       ripples_speed:r=0.03
       ripples_strength:r=0.14
     }
   }
 }

Sample missions

See also