Turanien
Amended Note!
Whilst I advocate the usefulness of the QSC if you're editing multiple SP in-game scenes, I actually prefer skipping it entirely now for the creation of MP maps. I find it much more efficient to simply add the new maps to the module system using the three module_ files that I listed below and then directly editing them in a hosted MP server. This way, I may constantly reload the map to see shadow changes (by reloading the map in admin panel) and that I may also add bots to test spawn points and AI mesh. You will still need to set up Python to do this however you do not need to install the Quick Scene Chooser script! Instead, skip to where the guide is titled Creating a Blank Map and continue from there.
The Tools
You will need the module system for Warband and custom script that generates a quick scene chooser. This is a must if you plan to do heavy editing. You will also need to install Python. This is a needed tool for the entire module system to work. I would finally suggest that you use Notepad++ for the editing. It is a lightweight and efficient tool.
Python 2.6
The Module System (1.132)
Quick Scene Chooser
Notepad++
Installing and Setting-Up Python
Once you have downloaded Python, you must run through the install set-up. Installation is simple. I decided to specify my install into a new folder within my /Progam Files (x86)/ folder. This is simply a personal taste as I do not like to install into my /C/ drive default, which, if memory serves correctly, is the automatic default installation path for Python.
The final addition to the correct procedure for the installation of Python and the correct set-up for the Warband Module System. You must add Python to the environment variable. If you have a Windows XP or a Windows Vista system: Right-click on My Computer (Computer in the start menu for Vista users) select 'Properties', click on the 'Advanced'
tab and then click on 'Enviroment Variables':
1. Scroll down on the 'System variables' until you find the 'Path' variable.
2. Click on the 'Edit...' button, a new window should pop up:
3. Scroll to the end of the 'Variable value' and add ";C:\Python26". ((Be sure to match the path to your installation. Note how mine is ';C:\Program Files (x86)\Python'. This is because I changed my installation directory slightly.))
The Warband Module Files
This is relatively simple. Place the extracted folder where-ever you feel is convenient. I have placed my folder on the desktop. It does not have to be in the Warband directory. Now, let's have a look at the files in the module system. When we look at the actual Python files (files that end with .py) we see that there are actually four kinds of files:
* files that start with header_
* files that start with process_
* files that start with ID_
* files that start with module_
The first two kinds of files are necessary for running the module system. You shouldn't modify these at all. The third kind of files (ID_) are temporary files created while building the module. You can delete them if you like and the module system will generate them again. The final kind of files (module_) are actually the files that contain the content data. These are the files you will be modifying.
Creating A New Module
To create a new module, one simply has to copy the Native module that is located in 'Mount&Blade Warband/Modules' Copy this and rename accordingly. Let us assume that you have named it MyFirstMod. Now on your launcher you will have two modules to select. One named Native and another named MyFirstMod. They will be identical because you have simply copied the Native module and renamed it.
Telling Python What To Do
Next, we must make the Module System use the new folder as its target. To do that, open the file module_info.py for editing (Right click on the file and select "Edit with IDLE"; or open the file with Notepad or your preferred text editor) and change export_dir to point to your new folder. For example, if the folder for your module is: c:/Program Files/Mount&Blade/Modules/MyFirstMod You should change this line as follows:
export_dir = "C:/Program Files/Mount&Blade/Modules/MyFirstMod/"
((Note: Be sure to use forward slashes and not backwards!))
Here is an example of my mapping//editing module:
Note how it has been changed to match my installation path and module name.
Now we can test everything out. To do this, delete Conversation.txt inside your new module. Then run the Build_Module.bat that is found in the Warband Module System folder. If everything has been set right, you will encounter no errors and the missing file will be replaced!
This is everything you need to get the module system running.
Setting Up the Quick-Scene Chooser!
This is relatively quick and easy to do. Copy the template_tools file from the QSC download and place it in your Warband Module Compiling folder. Then, open up your module_game_menus.py file that is found within your Warband module compiling folder.
Add the following to the end of the file:
It needs to look exactly like this:
Note how it is all aligned along the left-hand side. I have also added some commented code so that it is easy to make a note of where things are placed. The green #### denotes commented code and will have no effect upon the module. It is just used to track and make notes.
Then, commence a search for:
It will throw up two results. You need to find the one that has not been marked for comment. It will be around line 520...
Add the following code that is found between the # marks:
It will look like this:
Save the file and exit!
Recompile your module by running the build_module batch file. You will now find the Quick Scene Chooser in the Tutorial menu.
Creating A Blank Scene
You need to edit three files in the process of creating a blank scene for editing. These are module_scenes, module_scripts and module_strings.
Firstly, open module_scenes and commence a search for:
Now, above this you will see:
All we are going to do is copy one of these entries and edit it for our own use. Simply place the line of code directly before the "multiplayer_maps_end" line. Here is an example of my code, with my custom maps. Note how I have commentated out my additional lines so that I can keep track of them.
It is literally this easy. Simply edit the emboldened words to reflect the name of the scene that you wish to create. The pieces of code that I have highlighted in red dictate the outer terrain that you see on every map. outer_terrain_beach is the scenery ring that is used on maps such as Port Assault and my own Beach Landing map. Unfortunately, there is no easy way to edit these outer rings. Have a look through the other map entries to see what you have available. The purple code is the terrain string. This specifies the physical size of the map, the vegetation, the flora, ruggedness - pretty much everything.
It is possible to change the size of the physical map and to strip the vegetation off of the blank map. Load up Warband (in edit mode) and create a campaign. Get yourself on the campaign world map and you will see a new button along the bottom named Terrain. Enter this menu. You will then see a map presented before you with sliders on the right. Here, you can remove vegetation, flatten the ground and increase the map size by sliding the bar to the left or to the right.
Be wary about using the place river and place deep water functions. I tend to ignore them...
When you're happy with the blank map, simply press copy at the top of the screen (beneath the long string of numbers and letters) and paste it over the code in your module_scenes file. I have highlighted the code to replace in red.
Simply save the file, exit and compile the module again.
You will now be able to select your blank scene from the Quick Scene Chooser.
Adding to Multiplayer
There are three files that must be edited in order for the map to be accessed on the MP-side of the game. These are module_scenes, module_strings and module_scripts.
Do the following edits:
module_scenes - This file has already been edited accordingly. We added it above as a step towards placing it as a choice in the Quick Scene Chooser.
module_strings - Search for ("multi_scene_1", "Ruins"), and scroll to the bottom of this list. Again, copy the last line and edit it accordingly. The first part of code must be identical to the name of the scene that you gave in module_scenes, the second part may be capitalized as this is the name that appears in-game. Important: Ensure that you place this in the same order as in module_scenes. If it follows scenexx_ there, make sure that it follows scenexx_ here too.
module_scripts - This is the final file. Search for (eq, ":game_type", multiplayer_game_type_team_deathmatch),. Now, you must look for the code beneath this that runs as (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 1, "scn_ruins"),. Simply copy any of these lines and paste it before this appears (assign, ":num_maps", 13),. Again, it must follow the same order of maps as the other two files. You must also increment the number that I have highlighted in red by one.
Here is an example:
Note how every line has a number higher than the previous one. You must also increment the (assign, ":num_maps", 13), by one. The first part of code that you searched for is to add the game to Deathmatch. Look below this and you will see the other game-types.
(eq, ":game_type", multiplayer_game_type_destroy), and (eq, ":game_type", multiplayer_game_type_battle).
And since a picture is worth a thousand words...
It is absolutely imperative that you maintain the correct order of maps throughout these three files. If you encounter problems on the game-menu such as strange map names, you have made a mistake here.
Once you have added your maps to the gametypes of your choice, save, exit and compile! Your maps should now appear under the Host Multiplayer admin panel.
Whilst I advocate the usefulness of the QSC if you're editing multiple SP in-game scenes, I actually prefer skipping it entirely now for the creation of MP maps. I find it much more efficient to simply add the new maps to the module system using the three module_ files that I listed below and then directly editing them in a hosted MP server. This way, I may constantly reload the map to see shadow changes (by reloading the map in admin panel) and that I may also add bots to test spawn points and AI mesh. You will still need to set up Python to do this however you do not need to install the Quick Scene Chooser script! Instead, skip to where the guide is titled Creating a Blank Map and continue from there.
The Tools
You will need the module system for Warband and custom script that generates a quick scene chooser. This is a must if you plan to do heavy editing. You will also need to install Python. This is a needed tool for the entire module system to work. I would finally suggest that you use Notepad++ for the editing. It is a lightweight and efficient tool.
Python 2.6
The Module System (1.132)
Quick Scene Chooser
Notepad++
Installing and Setting-Up Python
Once you have downloaded Python, you must run through the install set-up. Installation is simple. I decided to specify my install into a new folder within my /Progam Files (x86)/ folder. This is simply a personal taste as I do not like to install into my /C/ drive default, which, if memory serves correctly, is the automatic default installation path for Python.
The final addition to the correct procedure for the installation of Python and the correct set-up for the Warband Module System. You must add Python to the environment variable. If you have a Windows XP or a Windows Vista system: Right-click on My Computer (Computer in the start menu for Vista users) select 'Properties', click on the 'Advanced'
tab and then click on 'Enviroment Variables':
1. Scroll down on the 'System variables' until you find the 'Path' variable.
2. Click on the 'Edit...' button, a new window should pop up:
3. Scroll to the end of the 'Variable value' and add ";C:\Python26". ((Be sure to match the path to your installation. Note how mine is ';C:\Program Files (x86)\Python'. This is because I changed my installation directory slightly.))
The Warband Module Files
This is relatively simple. Place the extracted folder where-ever you feel is convenient. I have placed my folder on the desktop. It does not have to be in the Warband directory. Now, let's have a look at the files in the module system. When we look at the actual Python files (files that end with .py) we see that there are actually four kinds of files:
* files that start with header_
* files that start with process_
* files that start with ID_
* files that start with module_
The first two kinds of files are necessary for running the module system. You shouldn't modify these at all. The third kind of files (ID_) are temporary files created while building the module. You can delete them if you like and the module system will generate them again. The final kind of files (module_) are actually the files that contain the content data. These are the files you will be modifying.
Creating A New Module
To create a new module, one simply has to copy the Native module that is located in 'Mount&Blade Warband/Modules' Copy this and rename accordingly. Let us assume that you have named it MyFirstMod. Now on your launcher you will have two modules to select. One named Native and another named MyFirstMod. They will be identical because you have simply copied the Native module and renamed it.
Telling Python What To Do
Next, we must make the Module System use the new folder as its target. To do that, open the file module_info.py for editing (Right click on the file and select "Edit with IDLE"; or open the file with Notepad or your preferred text editor) and change export_dir to point to your new folder. For example, if the folder for your module is: c:/Program Files/Mount&Blade/Modules/MyFirstMod You should change this line as follows:
export_dir = "C:/Program Files/Mount&Blade/Modules/MyFirstMod/"
((Note: Be sure to use forward slashes and not backwards!))
Here is an example of my mapping//editing module:
Note how it has been changed to match my installation path and module name.
Now we can test everything out. To do this, delete Conversation.txt inside your new module. Then run the Build_Module.bat that is found in the Warband Module System folder. If everything has been set right, you will encounter no errors and the missing file will be replaced!
This is everything you need to get the module system running.
Setting Up the Quick-Scene Chooser!
This is relatively quick and easy to do. Copy the template_tools file from the QSC download and place it in your Warband Module Compiling folder. Then, open up your module_game_menus.py file that is found within your Warband module compiling folder.
Add the following to the end of the file:
Code:
import header_scenes
from template_tools import *
from module_scenes import scenes
sorted_scenes = sorted(scenes)
for i in xrange(len(sorted_scenes)):
current_scene = list(sorted_scenes[i])
current_scene[1] = get_flags_from_bitmap(header_scenes, "sf_", current_scene[1])
sorted_scenes[i] = tuple(current_scene)
choose_scene_template = Game_Menu_Template(
id="choose_scenes_",
text="Choose a scene: (Page {current_page} of {num_pages})",
optn_id="choose_scene_",
optn_text="{list_item[0]}{list_item[1]}",
optn_consq = [
(jump_to_scene, "scn_{list_item[0]}"),
(change_screen_mission)
]
)
game_menus += choose_scene_template.generate_menus(sorted_scenes)
It needs to look exactly like this:
Note how it is all aligned along the left-hand side. I have also added some commented code so that it is easy to make a note of where things are placed. The green #### denotes commented code and will have no effect upon the module. It is just used to track and make notes.
Then, commence a search for:
Code:
(set_jump_mission,"mt_tutorial_training_ground"),
It will throw up two results. You need to find the one that has not been marked for comment. It will be around line 520...
Code:
("continue",[],"Continue...",
[
(modify_visitors_at_site,"scn_tutorial_training_ground"),
(reset_visitors, 0),
(set_player_troop, "trp_player"),
(assign, "$g_player_troop", "trp_player"),
(troop_raise_attribute, "$g_player_troop", ca_strength, 12),
(troop_raise_attribute, "$g_player_troop", ca_agility, 9),
(troop_raise_attribute, "$g_player_troop", ca_charisma, 5),
(troop_raise_skill, "$g_player_troop", skl_shield, 3),
(troop_raise_skill, "$g_player_troop", skl_athletics, 2),
(troop_raise_skill, "$g_player_troop", skl_riding, 3),
(troop_raise_skill, "$g_player_troop", skl_power_strike, 1),
(troop_raise_skill, "$g_player_troop", skl_power_draw, 5),
(troop_raise_skill, "$g_player_troop", skl_weapon_master, 4),
(troop_raise_skill, "$g_player_troop", skl_ironflesh, 1),
(troop_raise_skill, "$g_player_troop", skl_horse_archery, 6),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_one_handed_weapon, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_two_handed_weapon, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_polearm, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_crossbow, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_throwing, 70),
(troop_clear_inventory, "$g_player_troop"),
(troop_add_item, "$g_player_troop","itm_leather_jerkin",0),
(troop_add_item, "$g_player_troop","itm_leather_boots",0),
(troop_add_item, "$g_player_troop","itm_practice_sword",0),
(troop_add_item, "$g_player_troop","itm_quarter_staff",0),
(troop_equip_items, "$g_player_troop"),
(set_visitor,0,"trp_player"),
(set_visitor,32,"trp_tutorial_fighter_1"),
(set_visitor,33,"trp_tutorial_fighter_2"),
(set_visitor,34,"trp_tutorial_fighter_3"),
(set_visitor,35,"trp_tutorial_fighter_4"),
(set_visitor,40,"trp_tutorial_master_archer"),
(set_visitor,41,"trp_tutorial_archer_1"),
(set_visitor,42,"trp_tutorial_archer_1"),
(set_visitor,60,"trp_tutorial_master_horseman"),
(set_visitor,61,"trp_tutorial_rider_1"),
(set_visitor,62,"trp_tutorial_rider_1"),
(set_visitor,63,"trp_tutorial_rider_2"),
(set_visitor,64,"trp_tutorial_rider_2"),
(set_jump_mission,"mt_tutorial_training_ground"),
(jump_to_scene,"scn_tutorial_training_ground"),
(change_screen_mission),
]),
("go_back_dot",
[],
"Go back.",
[
(change_screen_quit),
]),
]
),
Code:
("continue",[],"Continue...",
[
(modify_visitors_at_site,"scn_tutorial_training_ground"),
(reset_visitors, 0),
(set_player_troop, "trp_player"),
(assign, "$g_player_troop", "trp_player"),
(troop_raise_attribute, "$g_player_troop", ca_strength, 12),
(troop_raise_attribute, "$g_player_troop", ca_agility, 9),
(troop_raise_attribute, "$g_player_troop", ca_charisma, 5),
(troop_raise_skill, "$g_player_troop", skl_shield, 3),
(troop_raise_skill, "$g_player_troop", skl_athletics, 2),
(troop_raise_skill, "$g_player_troop", skl_riding, 3),
(troop_raise_skill, "$g_player_troop", skl_power_strike, 1),
(troop_raise_skill, "$g_player_troop", skl_power_draw, 5),
(troop_raise_skill, "$g_player_troop", skl_weapon_master, 4),
(troop_raise_skill, "$g_player_troop", skl_ironflesh, 1),
(troop_raise_skill, "$g_player_troop", skl_horse_archery, 6),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_one_handed_weapon, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_two_handed_weapon, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_polearm, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_crossbow, 70),
(troop_raise_proficiency_linear, "$g_player_troop", wpt_throwing, 70),
(troop_clear_inventory, "$g_player_troop"),
(troop_add_item, "$g_player_troop","itm_leather_jerkin",0),
(troop_add_item, "$g_player_troop","itm_leather_boots",0),
(troop_add_item, "$g_player_troop","itm_practice_sword",0),
(troop_add_item, "$g_player_troop","itm_quarter_staff",0),
(troop_equip_items, "$g_player_troop"),
(set_visitor,0,"trp_player"),
(set_visitor,32,"trp_tutorial_fighter_1"),
(set_visitor,33,"trp_tutorial_fighter_2"),
(set_visitor,34,"trp_tutorial_fighter_3"),
(set_visitor,35,"trp_tutorial_fighter_4"),
(set_visitor,40,"trp_tutorial_master_archer"),
(set_visitor,41,"trp_tutorial_archer_1"),
(set_visitor,42,"trp_tutorial_archer_1"),
(set_visitor,60,"trp_tutorial_master_horseman"),
(set_visitor,61,"trp_tutorial_rider_1"),
(set_visitor,62,"trp_tutorial_rider_1"),
(set_visitor,63,"trp_tutorial_rider_2"),
(set_visitor,64,"trp_tutorial_rider_2"),
(set_jump_mission,"mt_tutorial_training_ground"),
(jump_to_scene,"scn_tutorial_training_ground"),
(change_screen_mission),
]),
("go_back_dot",
[],
"Go back.",
[
(change_screen_quit),
]),
########################################
########################################
("choose_scene",[],"Scene Chooser",
[(jump_to_menu, "mnu_choose_scenes_0"),
]
),
########################################
########################################
]
),
It will look like this:
Save the file and exit!
Recompile your module by running the build_module batch file. You will now find the Quick Scene Chooser in the Tutorial menu.
Creating A Blank Scene
You need to edit three files in the process of creating a blank scene for editing. These are module_scenes, module_scripts and module_strings.
Firstly, open module_scenes and commence a search for:
Code:
("multiplayer_maps_end",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000001300389800003a4ea000058340000637a0000399b",
[],[],"outer_terrain_plain"),
Now, above this you will see:
Code:
("multi_scene_13",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000001300389800003a4ea000058340000637a0000399b",
[],[],"outer_terrain_plain"),
("multi_scene_14",sf_generate,"none", "none", (0,0),(100,100),-100,"0x0000000040000c910003e8fa0000538900003e9e00005301",
[],[],"outer_terrain_snow"),
All we are going to do is copy one of these entries and edit it for our own use. Simply place the line of code directly before the "multiplayer_maps_end" line. Here is an example of my code, with my custom maps. Note how I have commentated out my additional lines so that I can keep track of them.
#Viking Maps Multiplayer#
("beach_landing",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000000b0000500000378e500006ba20000527a0000223d",
[],[],"outer_terrain_beach"),
("stamford_bridge",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000000300005000002dcb7000061f700004aa0000027e7",
[],[],"outer_terrain_plain"),
("holmgang",sf_generate,"none", "none", (0,0),(100,100),-100,"0x0000000130000500000344ce000061f700004aa0000027e7",
[],[],"outer_terrain_beach"),
("maldon",sf_generate,"none", "none", (0,0),(200,200),-100,"0x000000033000050000086e15000056d9000004fd00000529",
[],[],"outer_terrain_beach"),
("sea_battle",sf_generate,"none", "none", (0,0),(200,200),-100,"0x00000002300005000005b16f00000fe500004c2700004ef6",
[],[],"outer_terrain_beach"),
#Viking Maps Multiplayer#
("multiplayer_maps_end",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000001300389800003a4ea000058340000637a0000399b",
[],[],"outer_terrain_plain"),
("beach_landing",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000000b0000500000378e500006ba20000527a0000223d",
[],[],"outer_terrain_beach"),
("stamford_bridge",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000000300005000002dcb7000061f700004aa0000027e7",
[],[],"outer_terrain_plain"),
("holmgang",sf_generate,"none", "none", (0,0),(100,100),-100,"0x0000000130000500000344ce000061f700004aa0000027e7",
[],[],"outer_terrain_beach"),
("maldon",sf_generate,"none", "none", (0,0),(200,200),-100,"0x000000033000050000086e15000056d9000004fd00000529",
[],[],"outer_terrain_beach"),
("sea_battle",sf_generate,"none", "none", (0,0),(200,200),-100,"0x00000002300005000005b16f00000fe500004c2700004ef6",
[],[],"outer_terrain_beach"),
#Viking Maps Multiplayer#
("multiplayer_maps_end",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000001300389800003a4ea000058340000637a0000399b",
[],[],"outer_terrain_plain"),
It is literally this easy. Simply edit the emboldened words to reflect the name of the scene that you wish to create. The pieces of code that I have highlighted in red dictate the outer terrain that you see on every map. outer_terrain_beach is the scenery ring that is used on maps such as Port Assault and my own Beach Landing map. Unfortunately, there is no easy way to edit these outer rings. Have a look through the other map entries to see what you have available. The purple code is the terrain string. This specifies the physical size of the map, the vegetation, the flora, ruggedness - pretty much everything.
It is possible to change the size of the physical map and to strip the vegetation off of the blank map. Load up Warband (in edit mode) and create a campaign. Get yourself on the campaign world map and you will see a new button along the bottom named Terrain. Enter this menu. You will then see a map presented before you with sliders on the right. Here, you can remove vegetation, flatten the ground and increase the map size by sliding the bar to the left or to the right.
Be wary about using the place river and place deep water functions. I tend to ignore them...
When you're happy with the blank map, simply press copy at the top of the screen (beneath the long string of numbers and letters) and paste it over the code in your module_scenes file. I have highlighted the code to replace in red.
("sea_battle",sf_generate,"none", "none", (0,0),(200,200),-100,"0x00000002300005000005b16f00000fe500004c2700004ef6",
[],[],"outer_terrain_beach"),
[],[],"outer_terrain_beach"),
Simply save the file, exit and compile the module again.
You will now be able to select your blank scene from the Quick Scene Chooser.
Adding to Multiplayer
There are three files that must be edited in order for the map to be accessed on the MP-side of the game. These are module_scenes, module_strings and module_scripts.
Do the following edits:
module_scenes - This file has already been edited accordingly. We added it above as a step towards placing it as a choice in the Quick Scene Chooser.
module_strings - Search for ("multi_scene_1", "Ruins"), and scroll to the bottom of this list. Again, copy the last line and edit it accordingly. The first part of code must be identical to the name of the scene that you gave in module_scenes, the second part may be capitalized as this is the name that appears in-game. Important: Ensure that you place this in the same order as in module_scenes. If it follows scenexx_ there, make sure that it follows scenexx_ here too.
module_scripts - This is the final file. Search for (eq, ":game_type", multiplayer_game_type_team_deathmatch),. Now, you must look for the code beneath this that runs as (troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 1, "scn_ruins"),. Simply copy any of these lines and paste it before this appears (assign, ":num_maps", 13),. Again, it must follow the same order of maps as the other two files. You must also increment the number that I have highlighted in red by one.
Here is an example:
(troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 7, "scn_mp_colorado"),
(troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 8, "scn_mp_prairie_ridge"),
(troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 9, "scn_coahuila"),
(troop_set_slot, "trp_multiplayer_data", multi_data_maps_for_game_type_begin + 10, "scn_mountain_fort"),
Note how every line has a number higher than the previous one. You must also increment the (assign, ":num_maps", 13), by one. The first part of code that you searched for is to add the game to Deathmatch. Look below this and you will see the other game-types.
(eq, ":game_type", multiplayer_game_type_destroy), and (eq, ":game_type", multiplayer_game_type_battle).
And since a picture is worth a thousand words...
It is absolutely imperative that you maintain the correct order of maps throughout these three files. If you encounter problems on the game-menu such as strange map names, you have made a mistake here.
Once you have added your maps to the gametypes of your choice, save, exit and compile! Your maps should now appear under the Host Multiplayer admin panel.