The new action-thriller from the award-winning team at Infinity Ward delivers the most intense and cinematic action experience ever. Call of Duty 4: Modern Warfare arms gamers with an arsenal of advanced and powerful modern day firepower and transports them to the most treacherous hotspots around the globe to take on a rogue enemy group threatening the world.

Post tutorial Report RSS CoD4 Reign of the Undead (RotU) Mapping

Tutorial by TrikX ROTU Mapping Tutorial I will show you how to make a working CoD4 Zombie map. Step by step explained. If you have any questions post a comment or ask me on Twitter: @TrikX_Mapping

Posted by on - Intermediate Mapping/Technical


First of all build a map.
I've made a test map, so this is an example of how it needs to look like.

Mediafire.com

Let's start.
- Place "mp_tdm_spawn", "mp_tdm_spawn_axis_start" and "mp_tdm_spawn_allies_start" spawns on your map. (Player spawns)

Mediafire.com

- Place "mp_dm_spawn" where you want zombies to spawn. (In zombie entrances, behind the barricades)

Now, you will need to set the targetname for every zombie spawn, so the game know's where to spawn zombies.
Every spawn needs to have a different number at the end, so do this:
- Select one dm_spawn (zombie spawn), press N and set
Key: targetname
Value: spawngroup1

Press ENTER to confirm!

-Deselect that spawn, and select the next one, then again do the same thing, but now do spawngroup2
Key: targetname
Value: spawngroup2

Press ENTER to confirm!
And so on for every dm_spawn...

Mediafire.com

Once done, you will need to make a "script_origin" somewhere on the map, best in the center of it where you have the most
chance that a zombie will run onto a player, and connect EVERY dm_spawn with it.
When connecting (Welding) spawn and origin you first need to select the spawn, then origin and then press W to weld them.

Mediafire.com

Mediafire.com

Mediafire.com

Only thing left to do now is to make Weapon and Ammo shop!
- Place "com_vending_can_new1" prefab where you want the ammo shop to be.
- Make a trigger around it. Trigger needs to be trigger_use touch, Select it, press N and set these values:
Key: targetname
Value: weaponupgrade

Mediafire.com

- For Weapon shop place "com_plasticcase_green_big", make a trigger (trigger_use_touch) around it and set these values.
Key: targetname
Value: ammostock

Mediafire.com

If you want to have barricades, you can make them yourself.
Best to make it as a prefab, save it, and then just place it where ever you need.

Parts can be script_models or brush_models.
When you make a brush, select it, right click on 2D view, go to "script" and select brushmodel. (if you select more brushes at once, and make them brushmodel, they will be linked to eachother and will all have the same targetname, so be carefull)

Every brushmodel part needs to have a targetname.
Select the brushmodel, press N and type in these values:
Key: targetname
Value: part0
NOTE: Next part will have the targetname of part1
if you have more then 4 parts, be sure to change the number of 4 in the buildBarricade (when you come to scripting part)
Also, first part that is going to be destroyed by the zombie is part0

- When you are done, make clip_player covering the barricade!
- Make a trigger around the barricade, just a bit bigger, and make it "trigger_use_touch".
- Select the trigger and give
Key: targetname
Value: staticbarricade
Press ENTER
Key: target
Value: part
Press ENTER

SAVE

Mediafire.com


That was the mapping part, now let's get to scripting!
Your mp_mapname.gsc should look something like this:

#include maps\mp\_zombiescript;
main()
{
 level.barricadefx = LoadFX("dust/dust_trail_IR"); //Barricade effect

 maps\mp\_load::main();

 //ambientPlay("yourmap_ambient_sound");
 //maps\mp\_compass::setupMiniMap("compass_map_mp_yourmapname");

 game["allies"] = "sas";game["axis"] = "opfor";
 game["attackers"] = "axis";game["defenders"] = "allies";
 game["allies_soldiertype"] = "woodland";
 game["axis_soldiertype"] = "woodland";

 setdvar( "r_specularcolorscale", "1" );
 setdvar("r_glowbloomintensity0",".25");
 setdvar("r_glowbloomintensity1",".25");
 setdvar("r_glowskybleedintensity0",".3");
 setdvar("compassmaxrange","7000");

 waittillStart(); //Wait untill game starts

 buildAmmoStock("ammostock"); //Build Weapon Shop

 buildWeaponUpgrade("weaponupgrade"); //Build Ammo Shop

 buildSurvSpawn("spawngroup1", 1); //Build Zombie Spawns
 buildSurvSpawn("spawngroup2", 1);
 buildSurvSpawn("spawngroup3", 1);
 buildSurvSpawn("spawngroup4", 1);
 buildSurvSpawn("spawngroup5", 1);
 buildSurvSpawn("spawngroup6", 1);
 //buildSurvSpawn("spawngroup7", 1); 
 //etc...

 startSurvWaves(); //When done building spawns, start the waves
 
 buildBarricade("staticbarricade", 4, 400, level.barricadefx, level.barricadefx); //buildBarricade, barricade targetname, parts, health, barricadeFX

}
#include maps\mp\_zombiescript; needs to be first line in your .gsc file, just before main()
Next is the level.barricadefx line, inside the main()
After it you need these lines:
waittillStart(); //Wait untill game starts

 buildAmmoStock("ammostock"); //Build Weapon Shop

 buildWeaponUpgrade("weaponupgrade"); //Build Ammo Shop

 buildSurvSpawn("spawngroup1", 1); //Build Zombie Spawns
 buildSurvSpawn("spawngroup2", 1);
 buildSurvSpawn("spawngroup3", 1);
 buildSurvSpawn("spawngroup4", 1);
 buildSurvSpawn("spawngroup5", 1);
 buildSurvSpawn("spawngroup6", 1);
 //buildSurvSpawn("spawngroup7", 1); 
 //etc...

 startSurvWaves(); //When done building spawns, start the waves
 
 buildBarricade("staticbarricade", 4, 400, level.barricadefx, level.barricadefx); //buildBarricade, barricade targetname, parts, health, barricadeFX

Save it, and close!
Open Compile Tools, select your map, Update Zone File
Add this line to your zone file:

fx,dust/dust_trail_IR

From now on zombies will spawn, but they will not be able to move much because they don't know where to move.
You need to tell them where to move, and you will do that by creating waypoints for them.

I am making waypoints using RotU 1.1 Mod, and this mod is doing it great.
Now, let's start making them.

First, make a shortcut of iw3mp.exe on your desktop, right click on it and select "Properties". Add this to the target, behind the path to the game:
+ set fs_game "mods\reignoftheundead" + set developer 1 + set developer_script 1 + set zom_developer 1
Example: "C:\Progr...\...\Call of Duty 4 - Modern Warfare\iw3mp.exe" + set fs_game "mods\reignoftheundead" + set developer 1 + set developer_script 1 + set zom_developer 1
If you are using some other mod, make sure to change the mod name (mods\reignoftheundead).
You need to launch RotU in developer mode or else you won't be able to place waypoints.

Once in game, you can start placing waypoints.
Always start from some zombie spawn point and work your way trough the map.
Zombies can only move from one waypoint to another if the waypoints are linked to eachother.

To place a waypoint, click "Attack Button (left click)", then while on it, press USE Button (F) to start linking.
Move forward to the next spot where the zombie should move, then press "Attack Button" again to place an other waypoint, and then press USE Button (F) to link those 2 (two) points.
Now you should get the point.
If you misplaced a waypoint, you can simply Right Click 2 times to delete it.
(I've noticed if you click one time, the waypoint will be deleted, but if you come close to an other waypoint or made a new one, it also get's deleted, so just click 2 times)

When you are happy with what you done or you run out of time, SAVE them with Melee button (V)

Waypoints are then saved inside the Mod folder, in console_mp.log file.
Exit the game,
- Open your Mod's folder and open console_mp.log file.
- Now go to your Raw/Waypoints folder (If you don't have Waypoints folder in raw, create it).
- Inside it, create a new .csv file, (with notepad or some other text program, Notepad++, Programmers Notepad, etc...) and save as mp_yourmapname_wp.csv
- Open mp_yourmapsname_wp.csv file
Copy waypoints from mp_console.log and paste into mp_yourmapname_wp.csv
SAVE

Waypoints csv file Example:

0,25,0
1,1502.11 2679.39 16.125,1 39
2,1090.22 2688.64 16.125,0 2
3,1100.05 2999.97 16.125,1 3
4,1818.22 2959.68 16.125,2 4
5,1822.3 2482.07 16.125,3 5 24 23
6,1828.94 1692.12 16.125,4 25 23 30 31
7,1834.58 748.283 16.125,7 31
8,1574.86 752.801 16.125,6 8 29 30 33
9,1576.93 463.339 16.125,7 9 33
10,1579.85 109.44 16.125,8 10 12 33
11,1857.61 99.621 16.125,9 11
12,1852.39 530.199 16.125,10
13,1147.18 129.612 16.125,9 13 33
14,767.694 147.996 16.125,12 14 32 33
15,247.128 183.629 16.125,13 15 32
16,268.407 701.003 16.125,14 16 32
17,286.642 1175.5 16.125,15 17 27
18,289.172 1442.1 16.125,16 18 19 26 27
19,66.2321 1468.08 16.125,17
20,275.74 1869.32 16.125,17 20 26
21,261.71 2249.49 16.125,19 21
22,501.735 2244.24 16.125,20 22 26 35
23,843.88 2238.94 16.125,21 23 26 25
24,1239.39 2232.17 16.125,22 24 25 5 4
25,1253.17 2513.85 16.125,23 4
dvar set logfile 0

- Open Compile Tools, select your map and Click on Update Zone File, then add this line:

stringtable,waypoints/mp_yourmapname_wp.csv

Now, Build Fast File and your waypoints are added to the map.
You can also continue adding waypoints if you are not done.

On the end, it should look something like this:
Mediafire.com

Hope you learned something!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: