Difference between pages "How To Play Mods" and "Mission Editor"

From Zero-K
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
This page is a (potentially incomplete) list of currently available Zero-K mods with instructions on how to run them. A list of authors, preferred method of receiving feedback, and a brief description of the mod can also go here; a long description should probably get its own linked wiki page.
+
Campaign missions are created in one of two ways, with the missions editor or with a mission definition file. The mission editor is used for the first mission and Kodachi Rally as they involve triggers and cutscenes. The skirmish-style missions are created with a definition file.
  
For instructions on how to '''create''' a new mod go to [[Mod Creation]]. For how to create and run a stat tweak go to [[Quick Stat Tweaks]].
+
The '''Mission Editor''' allows players to create interactive missions similar to single-player scenarios of commercial games and to easily publish them to all players. These missions are [[Mod_Creation#Mutators|mutators]] so can be designed for multiplayer and played cooperatively or competitively.
  
= ZeroWars =
+
[[File:Mission editor intro 1.jpg]]
 +
[[File:Mission editor intro 2.png]]
  
Open a room (or join one of the Custom Gamemode autohosts) and type <code>!map ZeroWars</code>. This should get the current stable version of ZeroWars.
+
'''[http://zero-k.info/missioneditor/setup.exe Download]'''
  
= Unit Level Ups =
+
[https://github.com/ZeroK-RTS/Zero-K-Infrastructure/issues Feature Requests and Bug Reports]
  
Open custom room and type following lines:
+
== Script Missions ==
 +
Most of the campaign missions are defined solely by the contents of [//github.com/ZeroK-RTS/Chobby/tree/master/campaign/sample/planets Chobby/campaign/sample/planets]. For example, [//github.com/ZeroK-RTS/Chobby/blob/master/campaign/sample/planets/planet1.lua planet1.lua] contains a list of sides, commanders, units, objectives, and rewards. The file is processed into a startscript by chobby when ythe mission is launched. Some gadgets and widgets in ZK read particular values in the startscript to to make unmodified base ZK run as the mission.
  
<code>!password p</code> this puts password on a room (required for next step)
+
There are a few development widgets in ZK that can help create mission files. The most useful is the one that saves all the units (and optionally orders) in the format required for the script mission files. Documentation of the script mission files can be found in [//github.com/ZeroK-RTS/Chobby/blob/master/campaign/sample/planetDocumentation.lua planetDocumentation.lua]
  
<code>!game Unit Level Ups v5</code> (enables mod)
+
== Running the Mission Editor ==
 +
The mission editor loads its files using an older version of Spring. To get the required version:
 +
# Open a Custom host and set a password.
 +
# Do <code>!engine 104.0.1-287-gf7b0fcc</code>. You should see the response <code>Nightwatch Engine changed to 104.0.1-287-gf7b0fcc</code>.
 +
# Start the battle. The engine should start downloading silently in the background.
 +
# Wait a few minutes and check whether <code>steamapps/common/Zero-K/win64/104.0.1-287-gf7b0fcc</code> exists (you may have to look in Zero-K/engine/win64). If it doesn't then try <code>win32</code>. If you're on Linux then check the appropriate directory.
 +
# Copy the entirety of <code>104.0.1-287-gf7b0fcc</code> folder to a new folder somewhere isolated called <code>missionDev</code>.
 +
# Copy <code>steamapps/common/Zero-K/maps</code> and <code>steamapps/common/Zero-K/games</code> to <code>missionDev</code> such that you have the paths <code>missionDev/spring.exe</code>, <code>missionDev/maps</code> and <code>missionDev/games</code>. Optionally, you may just make empty <code>games</code> and <code>maps</code> folders and copy whatever you need in as you need it.
 +
# Run the mission editor and point it to <code>missionDev/spring.exe</code> when it asks you to supply an engine path.
  
<code>!password</code> removes password
+
You now have a mission editor setup capable of making and editing missions that use the maps and games you have copied into the relevant folders. To edit existing missions you may require two additional steps:
 +
* Some missions run off the development version of Zero-K as this makes them easier to test and debug. When the mission is exported for use the version is changed to zk:stable. To get the development version of Zero-K [[Zero-K:Developing#Getting_sources|follow the instructions here]] with paths modified to end up with <code>missionDev/games/zk.sdd</code>.
 +
* To take a look at or edit the current missions, clone [https://github.com/ZeroK-RTS/Zero-K-Missions this repository] similarly to how you would clone the main game in the above dot point.
 +
* Some old missions may be made with a version of Zero-K that no longer loads on the mission editor. When in doubt, use the development version of Zero-K (<code>Zero-K $VERSION</code> as it is the most likely to be up to date. The version of a mission can be changed directly by editing its xml.
  
 +
== Tutorials ==
  
now you can change type of room to coop , teams or ffa as desired
+
[[Mission Editor Tutorial|General Tutorial]]
  
mod can be quite intresting combined with chickens
+
[[Mission Editor Factory Orders Tutorial|Factory Orders Tutorial]]
  
when playing against AI, adding zombies option helps AI units to grow faster
+
[[Mission Editor Cutscenes Tutorial|Cutscenes Tutorial]]
  
<code>!setoptions zombies=1,zombies_rezspeed=500,zombies_delay=15</code>
+
== Publishing a mission ==
 +
The mission editor exports mutators, so missions can be uploaded the same way you would upload any other mod, see [[Mod Creation]]. If the mission must be run on a particular map, then you can bundle the map and mutator together with a [[Custom Modes|Custom Mode]].
  
= Dirt Wars! =
+
== Publishing a mission OUTDATED (but the infrastructure may still be there) ==
[[File:Dirt Wars Logo.png|thumb|none]]
+
You can make your mission available online by ''publishing'' it. It will be available for others to play once enabled by an administrator.  
  
This is a silly gamemode, and it doesn't change much, except for the fact that most of the units you have loved are gone now, leaving only dirtbags and other terrible units for use!
+
To do this, open the Mission menu and click Publish. Fill in the form displayed.
  
Create any room, click on advanced options, open the "Start" tab, and copy-paste the next long string into the "disabled units" text area:
+
A mission must have a description and image to be published.
  
<code>factorycloak+Iris+Bandit+Rogue+Outlaw+Felon+Racketeer+Vandal+Aspis+factoryveh+factoryhover+factorygunship+factoryplane+sparrow+factoryspider+factoryjump+kodachi+blitz+ogre+minotaur+cyclops+emissary+ettin+factoryamph+factoryship+Athena+Ultimatum+Scorpion+Dante+Merlin+Funnelweb+Detriment+Shogun+Reef+Scylla+staticmissilesilo+Aegis+Picket+Lotus+Urchin+Newton+Stardust+Stinger+Gauss+Desolator+Lucifer+Cerberus+Hacksaw+Razor+Thresher+Chainsaw+Artemis+Antinuke+Trinity+Starlight+raveparty+zenith</code>
+
Uploading the mission will take a few seconds. If you want to update or delete it, select the Manage Missions item in the Mission menu.
  
After the units have been disabled, as soon as you start the game, panic is guaranteed. See if you can make any value from literal dirt!
+
=== Errors ===
 +
If you have the error message "Value cannot be null. Parameter name: paths"
 +
* Make sure your engine folder exists in the correct format in your Spring data directory: <code>engine/<platform>/<version></code>.
 +
* For instance: <code>engine\win32\103.0.1-746-g82259fc<code>
  
Advanced Dirt Wars can have air units. However, the game doesn't need to get that complex. Still, if you wish to see air units in this ridiculous gamemode, then repeat the same actions, except copy-paste the next string. It adds gnats, harpies, and transports into the game. Keep in mind, the author of the idea haven't tested the air unit edition yet, and he may use feedback.
+
[[Category:Mission Editor]]
 
 
<code>factorycloak+Iris+Bandit+Rogue+Outlaw+Felon+Racketeer+Vandal+Aspis+factoryveh+factoryhover+factoryplane+sparrow+factoryspider+factoryjump+kodachi+blitz+ogre+minotaur+cyclops+emissary+factoryamph+factoryship+Athena+Ultimatum+Scorpion+Dante+Merlin+Funnelweb+Detriment+Shogun+Reef+Scylla+staticmissilesilo+Picket+Lotus+Urchin+Newton+Stardust+Stinger+Gauss+Desolator+Lucifer+Cerberus+Hacksaw+Thresher+Chainsaw+Artemis+Antinuke+Trinity+Starlight+raveparty+zenith+Wasp+Blastwing+Locust+Harpy+Nimbus+Revenant+Krow+Trident+Aegis</code>
 
 
 
For further horrors, turn on Commshare and Team Commander Ends options. That will make the last relatively useful unit to be the least viable in the game. Have fun surviving.
 
 
 
Compatible with the Unit Level Ups mod.
 
 
 
Author of the simple idea: Cliver5.
 
 
 
= Small but fun mods =
 
Unit tweaks:
 
Cheaper dantes. Dantes cost as much as a crab or a desolator.
 
Simply enter this in advanced options, unit tweaks: e3N0cmlkZXJkYW50ZSA9IHtidWlsZENvc3RNZXRhbD0xNjAwLH0sfQ==
 
Suggested by Cliver5.
 
 
 
Long-range scorcherers. A possible source of inspiration for Storm Troopers. Also answers the question, "What happens when units who's damage falls off with range gets infinity range?"
 
Enter this in advanced options, unit tweaks: e3ZlaHJhaWQ9e3dlYXBvbkRlZnM9e0hFQVRSQVk9e3JhbmdlPTk5OTl9fX19
 
Suggested by Cliver5.
 
 
 
Pacifist FFA but: No fog of war.
 
Simply enter this in advanced options, unit tweaks: e3N0YXRpY3JhZGFyID0ge3NpZ2h0RGlzdGFuY2UgPSA5OTk5OSx9LHBsYW5lbGlnaHRzY291dCA9IHtzaWdodERpc3RhbmNlID0gOTk5OTksfSxwbGFuZXNjb3V0ID0ge3NpZ2h0RGlzdGFuY2UgPSA5OTk5OSx9LH0=
 
The mod makes it so that Owls, Radars, Sparrows, all have infinity sight range.
 
It was one of the only game modifications that was capable of keeping 5-6 out of 7 players in a normal FFA match by 1 hour mark. Test it out yourself, and see how it works for yourself. The results of this imaginary scenario are impressive.
 
 
 
{{Navbox manual}} [[Category: Development]]
 

Revision as of 15:40, 10 September 2024

Campaign missions are created in one of two ways, with the missions editor or with a mission definition file. The mission editor is used for the first mission and Kodachi Rally as they involve triggers and cutscenes. The skirmish-style missions are created with a definition file.

The Mission Editor allows players to create interactive missions similar to single-player scenarios of commercial games and to easily publish them to all players. These missions are mutators so can be designed for multiplayer and played cooperatively or competitively.

Mission editor intro 1.jpg Mission editor intro 2.png

Download

Feature Requests and Bug Reports

Script Missions

Most of the campaign missions are defined solely by the contents of Chobby/campaign/sample/planets. For example, planet1.lua contains a list of sides, commanders, units, objectives, and rewards. The file is processed into a startscript by chobby when ythe mission is launched. Some gadgets and widgets in ZK read particular values in the startscript to to make unmodified base ZK run as the mission.

There are a few development widgets in ZK that can help create mission files. The most useful is the one that saves all the units (and optionally orders) in the format required for the script mission files. Documentation of the script mission files can be found in planetDocumentation.lua

Running the Mission Editor

The mission editor loads its files using an older version of Spring. To get the required version:

  1. Open a Custom host and set a password.
  2. Do !engine 104.0.1-287-gf7b0fcc. You should see the response Nightwatch Engine changed to 104.0.1-287-gf7b0fcc.
  3. Start the battle. The engine should start downloading silently in the background.
  4. Wait a few minutes and check whether steamapps/common/Zero-K/win64/104.0.1-287-gf7b0fcc exists (you may have to look in Zero-K/engine/win64). If it doesn't then try win32. If you're on Linux then check the appropriate directory.
  5. Copy the entirety of 104.0.1-287-gf7b0fcc folder to a new folder somewhere isolated called missionDev.
  6. Copy steamapps/common/Zero-K/maps and steamapps/common/Zero-K/games to missionDev such that you have the paths missionDev/spring.exe, missionDev/maps and missionDev/games. Optionally, you may just make empty games and maps folders and copy whatever you need in as you need it.
  7. Run the mission editor and point it to missionDev/spring.exe when it asks you to supply an engine path.

You now have a mission editor setup capable of making and editing missions that use the maps and games you have copied into the relevant folders. To edit existing missions you may require two additional steps:

  • Some missions run off the development version of Zero-K as this makes them easier to test and debug. When the mission is exported for use the version is changed to zk:stable. To get the development version of Zero-K follow the instructions here with paths modified to end up with missionDev/games/zk.sdd.
  • To take a look at or edit the current missions, clone this repository similarly to how you would clone the main game in the above dot point.
  • Some old missions may be made with a version of Zero-K that no longer loads on the mission editor. When in doubt, use the development version of Zero-K (Zero-K $VERSION as it is the most likely to be up to date. The version of a mission can be changed directly by editing its xml.

Tutorials

General Tutorial

Factory Orders Tutorial

Cutscenes Tutorial

Publishing a mission

The mission editor exports mutators, so missions can be uploaded the same way you would upload any other mod, see Mod Creation. If the mission must be run on a particular map, then you can bundle the map and mutator together with a Custom Mode.

Publishing a mission OUTDATED (but the infrastructure may still be there)

You can make your mission available online by publishing it. It will be available for others to play once enabled by an administrator.

To do this, open the Mission menu and click Publish. Fill in the form displayed.

A mission must have a description and image to be published.

Uploading the mission will take a few seconds. If you want to update or delete it, select the Manage Missions item in the Mission menu.

Errors

If you have the error message "Value cannot be null. Parameter name: paths"

  • Make sure your engine folder exists in the correct format in your Spring data directory: engine/<platform>/<version>.
  • For instance: engine\win32\103.0.1-746-g82259fc