Editing Custom Modes

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Custom modes are mods, maps, or just a set of Adv Options that can be selected when hosting the game or in the battle room via 'Select Custom Mode' in Adv Options. Each custom mode is defined by a file in <samp>Zero-K/CustomModes</samp>. The game deploys a few of these files, but players can also create their own and share them around to act as presets.
+
Custom modes are mods, maps, or just a set of Adv Options that can be selected when hosting the game or in the battle room via 'Select Custom Mode' in Adv Options. Each custom mode is defined by a file in <nowiki>Zero-K/CustomModes</nowiki>. The game deploys a few of these files, but players can also create their own and share them around to act as presets.
 
 
This system can be used to save and share disabled lists and [[Quick Stat Tweaks]] to create new game modes without going through the work of full modding.
 
 
 
== Sharing Custom Modes ==
 
 
 
Upload your custom modes via the "Upload new game mode" button here: http://zero-k.info/Mods
 
  
 
== Specification ==
 
== Specification ==
Custom modes are <abbr title="JavaScript Object Notation">JSON</abbr> files that may have the following parameters.
+
Custom modes are json files and may have the following parameters.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 14: Line 8:
 
! Key !! Usage
 
! Key !! Usage
 
|-
 
|-
| shortName || A unique name identifying the custom mode. '''Do not change it when making an update''', or else duplicate files for old versions will be created. Must match the file name of the mode when uploaded.
+
| name || This is required to display the mode in the mode list. Bad things will happen if there is a clash.
|-
 
| name || This is required to display the mode in the mode list. Bad things will happen if there is a clash. Add a version number to the end of this name and increment it upon each update.
 
 
|-
 
|-
 
| description || The tooltip for the mode in the 'Select Custom Mode' menu.
 
| description || The tooltip for the mode in the 'Select Custom Mode' menu.
 
|-
 
|-
| roomType || Optional. Can be Custom, 1v1, Team, <abbr title="free for all">FFA</abbr>, Chicken.
+
| roomType || Optional. Can be Custom, 1v1, Team, FFA, Chicken.
 
|-
 
|-
| map || Optional. Use this to set the map. The text must match exactly, as is written below the minimap in the battle room.
+
| map || Optional. Use this to set the map. The text must match exactly, as is written below the minimap in the battleroom.
 
|-
 
|-
 
| game || Optional. Set a mutator or game. It should match game name exactly, as is shown left of the map when the game is selected.
 
| game || Optional. Set a mutator or game. It should match game name exactly, as is shown left of the map when the game is selected.
Line 30: Line 22:
 
| hideFromHostMenu || Optional boolean. This is used to hide a mode from the Game Type menu while hosting.
 
| hideFromHostMenu || Optional boolean. This is used to hide a mode from the Game Type menu while hosting.
 
|-
 
|-
| options || Optional table of Adv Option values. All the keys can be found in the file [https://github.com/ZeroK-RTS/Zero-K/blob/master/ModOptions.lua ModOptions.lua].
+
| options || Optional table of Adv Option values. All the keys can be found [https://github.com/ZeroK-RTS/Zero-K/blob/master/ModOptions.lua here].
 
|}
 
|}
 +
== Example ==
 +
Here is an example that would run Zero Wars with a 2x health multiplier.
  
== Example ==
+
<nowiki>{
Here is an example that would run Zero Wars with a 2× health multiplier.
+
     "name" : "Zero Wars with Tweaks",
<syntaxhighlight>{
 
    "shortName": "zw_hp_tweak",
 
     "name" : "Zero Wars with Tweaks v1.0",
 
 
     "description" : "Send waves of units across the map to destroy the enemy nexus",
 
     "description" : "Send waves of units across the map to destroy the enemy nexus",
 
     "roomType" : "Team",
 
     "roomType" : "Team",
Line 44: Line 35:
 
     "options" : {
 
     "options" : {
 
         "hpmult" : 2
 
         "hpmult" : 2
     }
+
     },
}</syntaxhighlight>
+
    shieldraid = {},
 
+
}</nowiki>
Be careful with the commas in JSON, as they need to be placed after all but the last item in the set.
 
  
 
[[Category:Development]]{{Navbox manual}}
 
[[Category:Development]]{{Navbox manual}}

Please note that all contributions to Zero-K are considered to be released under the Creative Commons Attribution-ShareAlike (see Zero-K:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)