Modme Forums

How to make your own TOWER DEFENCE map!

Game Modding | Call of Duty: Black Ops 3 | Scripting


ModmeBot:

Thread By: Ping998

Hi there, for many years I've created zombie maps for the community. One of my most known types of maps is Tower Defence style maps such as "Alien Defense" (WaW) and "Demon Defender" (BO3).

As a result, I would like to give back to the community by showing you guys how I made these maps and how you can create your own!

A lot of people have messaged me wanting to know how to do this, so here it is!

This tutorial is mainly for BO3, it wouldn't work exactly on WaW (I used a different method back then):



Step 1:

In radiant, create a baic window-riser spawnpoint and a window as shown (you should know how to do this):

Step 2:

Create a trigger_multiple either just after or just before the window, this will determine whether the zombies must break down the barrier to end the game or they just need to reach the window - in this example I will put the trigger_multiple just after the window (to find trigger_multiple go to your Entity Browser -> Trigger -> multiple):

Step 3:

Now, change the KVPs of the trigger_multiple (press N) to this:

Step 4:

If - like in Alien Defense/Demon Defender - you would like to have a warning message pop-up on the player's screen when zombies get to a certain point, do the following:

Make a new trigger_multiple and place it somewhere before the window so that the zombies will pass through it:

Step 5:

Change the KVPs of the new trigger_multiple to the following:

Step 6:

Open 'BO3root/usermaps/zm_YOURMAPNAME/scripts/zm_YOURMAPNAME.gsc' and add the following code to the bottom of the file:

function displayMessage() 
{
    while(1) {
        trig = getEnt( "warning_trigger","targetname" );
        trig waittill( "trigger" );
        iPrintLn( "Zombies have breached the base!" );
    }
}



Make sure to call the function by putting the following anywhere in main():

thread displayMessage();



Final Step (Configuration):

Here's a quick few things that you will need to know if your going to use this for your map:

<ul style="padding-left:40px;margin:0;">
<li style="width:100%;">Due to the simple method I've used here, powerups WILL NOT spawn in the map (you will have to spawn them yourself - which you can find tuts of on this site, I would reccommend allowing players to buy the carpenter powerup if the trigger is AFTER the barricade in order to form a 'lives' system)</li><li style="width:100%;">You can add/change ANYTHING in the trigger to make something new (e.g. make your own flag in your .gsc and then call it instead of "end_game")</li><li style="width:100%;">Players WILL NOT trigger the end game no-matter what (if for some reason you want to disable this, uncheck "NOTPLAYER" and check "AI_ALLIES" etc.)</li><li style="width:100%;">You can add more than one warning message trigger, you will just need to change the targetname of the newer trigger_multiple from "warning_trigger" to something else and duplicate step 6 (change the function name and corresponding targetname of course)</li><li style="width:100%;">Due to BO3's engine, the zombies don't follow visible pathnodes like in WaW, so essentially, you can put the window/trigger ANYWHERE that is traversable for the player and the zombies will go to it!</li></ul>

And that's it! Really simple! Make sure to give me at least a little mention in the credits for the concept!

If you have any questions please feel free to post them below!

- Ping