Difference between revisions of "Multiplayer mission creation"

From War Thunder Wiki
Jump to: navigation, search
(Creating slots for players: Some grammar corrections)
(Added a new category, added more descriptions.)
Line 160: Line 160:
 
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''  [[Category:War Thunder CDK]] [[Category:Custom_missions]]
+
:''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''   
 +
 
 +
= Options and functions available in multiplayer missions =
 +
 
 +
=== Versus mode parameters ===
 +
 
 +
:* scoreLimit: Total amount of tickets in MP mission (by default it's set to 500)
 +
:* 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)
 +
:* postfix: Adds a gamemode name before the mission name
 +
:* 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: Enables or disables ability to spawn in planes after getting some kills
 +
:* 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
 +
:* customSuperArtillery: Sets the custom artillery type
 +
<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>
 +
 
 +
=== Game type parameters ===
 +
 
 +
:* 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'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
 +
 
 +
[[Category:War Thunder CDK]] [[Category:Custom_missions]]

Revision as of 12:49, 29 October 2019

Introducing Wiki 3.0

How to create a basic multiplayer mission

1. Run mission editor (missioned.cmd in WarThunderCDK folder).
Multiplayer Mission Properties.jpg
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 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
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
  • 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's 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'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

Creating slots for players

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 it's properties (by for example pressing P).
  • Change the Name: to t1_player01
  • Switch it's type to armada
  • Find a dummy unit in Class tab and select it
Copying Units.jpg
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
  • 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

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 top toolbar to show the tab with trigger properties.
4. Select your new trigger and change it's 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 it's 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)
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


Adding airfield spawn for airplanes

1. Create an airfield unit.
  • Select Create unit icon on the top toolbar
    Unit creation icon
  • Select created unit
  • Open it's properties (by for example pressing P)
    Unit properties icon
  • Change it's Name: to airfield_01
  • Change it's type to objectGroups
    Airfield Properties.jpg
  • Select one of available airfields in Class tab
Note: all names of airfields start with dynaf_
  • Change it's 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)


Creating capture 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's 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


Note: You can find more informations about the Mission Editor here and more informations about triggers here here

Saving your mission

1. On the most top bar select Mission Editor
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

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.

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

Options and functions available in multiplayer missions

Versus mode parameters

  • scoreLimit: Total amount of tickets in MP mission (by default it's set to 500)
  • 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)
  • postfix: Adds a gamemode name before the mission name
  • 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: Enables or disables ability to spawn in planes after getting some kills
  • 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
  • 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

Game type parameters

  • 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'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