Throughout this post I will refer to ET's 6 built in maps (i.e. oasis, goldrush, etc) as the stock maps and all other maps as custom maps.
I have broken the post up into 4 posts, this first post is to simply explain a few things, please read this post before moving onto the type rotation you wish to do as it will help explain some of what’s going on in all 3 types of rotations I’m going to explain.
The other posts are:
Post 2 Objective rotations (without the need for a pk3 file).
Post 3 Stopwatch rotations (without the need for a pk3 file).
Post 4 Campaign rotations.
You will also need the program Pakscape, you can get it here :click me:. If the link is broken then google for it. This doesn't install on you pc, just double click the pakscape exe icon, in the window that opens click run. Note: I take no responsibility should this program damage your pc in any way. If you decide to use it you do so at your own risk. I've never had any trouble with it, nor have any of my friends online who also use it.
One little bit of advice before you go writing your own rotations, "be very careful writing them", one little mistake like mis-spelling something, leaving out a " (quotation mark) or a ; (semi-colon) can muck the whole thing up and you'll probably post here saying " my rotation don't work", when it might be something small like these.
I have often done it myself and cursed on the rotation for not working, then I might notice I left something out or mis-spelt something. So double check before posting because it's nearly always something small that causes it not to work.
There are 5 types of game play in Enemy Territory:
Single Player (SP) - g_gametype 1
Objective (OBJ) - g_gametype 2
Stopwatch (SW) - g_gametype 3
Campaign (CMPGN) - g_gametype 4
Last Man Standing (LMS) - g_gametype 5 - afaik only the 6 stock maps support this (i.e. oasis, battery, etc).
I will only be focusing on Objective, Stopwatch and Campaign, I’ll start with the easier Objective and Stopwatch gametypes which can be run with just a cfg file. Campaign rotations require both a cfg and a pk3 to work.
When attempting to run any map in your rotation(s) you must use the exact bsp name of the map. Oasis is actually called Siwa Oasis but to run the map it's bsp name is oasis.
Not all custom maps have the same bsp name as there pk3 name, an example of this would be the custom map dubrovnik_final_1104.pk3. If you where to add this map to your rotation using the pk3 name then your rotation would break, because the bsp name is just dubrovnik_final without the "_1104" at the end.
To find out the bsp name of a custom map run Pakscape and explore the map pk3. Quick how to: run pakscape from the file menu option select open, direct it to where in your pc the pk3 is, click on the pk3 you wish to explore, click open, you should now be able to see a few folders the bsp will be in the maps folder.
The best program to write rotations and/or campaigns with is "Notepad", I’m not explaining why other text programs shouldn't be used it's just easier to use notepad.
Once you have written your rotation, from the file menu option in notepad choose "Save As..." , when naming the file you must enclose the name with quotation marks and also add .cfg (dot cfg) after the name you have chosen, otherwise it will only save as a .txt (text) file. Do not include a space in the file name.
right - "my_rotation.cfg"
wrong - "my rotation.cfg" <-- game wont read a file with a space in the name
wrong - my_rotation.cfg <-- no quotation marks
wrong - my rotation.cfg <-- no quotation marks and there's a space
The first wrong way will save as a cfg file but the game won't read files with spaces in the name. The next 2 wrong ways will also save the file but it will save it as a .txt file.
Campaigns also use .campaign (dot campaign), but I’ll explain this later.
A few things to take note of:
In the rotation examples I give everything that’s written after the // will be ignored by the game, this is only information letting you know what each part is, you don’t have to add these lines, it's entirely up to you.
Here's a list of commands you will be using to write the cfg rotations. Campaigns also use these but not "nextmap", campaigns have a few more commands which I will explain in the campaign post.
"com_watchdog_cmd" - a useful command should a map fail to load, this command would trigger if a map fails to load and starts whatever rotation cfg you have assigned to it. You don't have to add this to your cfg rotation(s), you can set it in your server.cfg if you like.
g_gametype - lets the game know what type game you want to play (listed above)
map - lets the game know which map to start
nextmap - an ET game specific string variable which lets the game know where it's to go to find the next set of map instructions
vstr - in simple terms this is the same as saying "goto", example "vstr m1" lets the game know it has to goto the string named m1 and execute it's instructions.
set - used to set a string library or a cvar
here's a breakdown of one line from my example objective rotation to explain some of these:
Code: Select all
set m1 "g_gametype 2; map oasis; set nextmap vstr m2"
m1 is the name of the string variable which the game is to store, when the game is instructed to read the m1 string (i.e. vstr m1) it then carries out the instructions inside this string.
Note: The ; (semi-colon) is used to separate commands/instructions.
First the game is told it must set the gameplay to objective mode "g_gametype 2", next it's told what map to run "map oasis", the next command/instruction lets it know where to go once the map ends (objective is completed or time runs out) "set nextmap vstr m2"
Simply put "run the map oasis in objective mode, once the map has ended go read what instructions are in string m2"
Ok depending on what type rotation you wish to know about, read the appropriate following posts.