Difference between revisions of "Making challenges"

m (List of attributes)
(Simple description of how to create a challenge)
Line 1: Line 1:
 
This page documents how challenge files are written, and how to ensure they are showing up in the game.
 
This page documents how challenge files are written, and how to ensure they are showing up in the game.
  
= List of attributes =
+
= Create and place the file =
 +
 
 +
The easiest way is to copy an already existing .challenge file and edit to your liking. The files are in various track folders, and you need to place your own alongside in a not-empty track folder in order for STK to find it. If placed and formatted correctly, you should see your challenge alongside with the rest in 'Challenges' entry in the main menu. Should you not find it, start the game with a terminal and see if any warnings are printed.
 +
 
 +
The game auto-creates an entry for your challenge in the challenges.xml file upon game runtime. To find this file, refer to [[FAQ#Where_does_STK_store_the_user_config_file.3F|the FAQ]]. So if you created a challenge with ''id''="mychallenge", there will be a line <code>        <mychallenge solved="false" /></code>in challenges.xml. Simply change to ''false'' again if you need to test unlocking again, e.g. if you change ''unlock-track'' after fulfilling the challenge.
 +
 
 +
== List of XML attributes ==
  
 
<table cellpadding="50">
 
<table cellpadding="50">
 
   <tr>
 
   <tr>
 
     <td STYLE="border-top: 1 px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000">id</td>
 
     <td STYLE="border-top: 1 px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000">id</td>
     <td STYLE="border-top: 1 px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Identification which STK knows the challenge by. This can be referenced for attribute 'depend-on'.</td>
+
     <td STYLE="border-top: 1 px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Unique identification which STK knows the challenge by. This can be referenced for attribute 'depend-on' in other challenges.</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 22: Line 28:
 
   <tr>
 
   <tr>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">depend-on</td>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">depend-on</td>
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Challenges which the challenge depends on in order to be shown. This attribute is not required.</td>
+
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Challenge id(s) which the challenge depends on in order to be shown. This attribute is not required.</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
Line 50: Line 56:
 
   <tr>
 
   <tr>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">energy</td>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">energy</td>
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Number of energy points to collect. This attribute is not required.</td>
+
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Number of energy/nitro points to collect. This attribute is not required.</td>
 
   </tr>
 
   </tr>
 
   <tr>
 
   <tr>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">time</td>
 
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000">time</td>
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Amount of time required to fulfill the challenge.</td>
+
     <td STYLE="border-bottom: 1px solid #000000; border-left: 1px solid #000000;border-right: 1px solid #000000">Maximum amount of time.</td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>

Revision as of 15:11, 2 January 2011

This page documents how challenge files are written, and how to ensure they are showing up in the game.

Create and place the file

The easiest way is to copy an already existing .challenge file and edit to your liking. The files are in various track folders, and you need to place your own alongside in a not-empty track folder in order for STK to find it. If placed and formatted correctly, you should see your challenge alongside with the rest in 'Challenges' entry in the main menu. Should you not find it, start the game with a terminal and see if any warnings are printed.

The game auto-creates an entry for your challenge in the challenges.xml file upon game runtime. To find this file, refer to the FAQ. So if you created a challenge with id="mychallenge", there will be a line <mychallenge solved="false" />in challenges.xml. Simply change to false again if you need to test unlocking again, e.g. if you change unlock-track after fulfilling the challenge.

List of XML attributes

id Unique identification which STK knows the challenge by. This can be referenced for attribute 'depend-on' in other challenges.
name Short descriptive name for the challenge. Shows up over the main description.
description Full description of the challenge.
unlock-track Track which the challenge unlocks if solved. Currently a requirement to fill in.
depend-on Challenge id(s) which the challenge depends on in order to be shown. This attribute is not required.
major Major game mode type. For example, 'single' for single player mode.
minor Minor game mode type. For example, 'quickrace'.
track Track where challenge takes place.
difficulty Difficulty mode for race. For example, 'medium'.
karts Number of karts.
laps Number of laps.
energy Number of energy/nitro points to collect. This attribute is not required.
time Maximum amount of time.