Sign in to follow this  
Followers 0
Beatthat

How to make a deathrun map...

6 posts in this topic

This tutorial was made by Braxi a few years ago...

Since 10 people a day are asking me how to make a deathrun map, I thought I'd post this tutorial here.

If you don't understand this tutorial, then you should probably go and learn the basics of radiant first.

Hey, if you are interested in making map and you know how to use Radiant, then this topic is for you.

Needed files:

- CoD4 Mod Tools

- Death Run Spawn Points, download Here : -Downloadlink down, if anyone has the spawns, post the downloadlink below or if you're an admin, just edit this post.

1. Installing

- 1. Extract deathrun_entities.zip.

- 2. Replace _globalentities.gsc from "CoD4\raw\maps\mp\gametypes" with extracted one.

- 3. Restart CoD4 Radiant.

- 4. Place mp_jumper_spawn and mp_activator_spawn on Your map.

- 5. Save map, compile and thats all.

if you dont have the deathrun spawn entities, just use regular tdm spawns and change the classname to:

mp_jumper_spawn and mp_activator_spawn

2. Required entities in Death Run map

- mp_jumper_spawn(s)

- mp_activator_spawn(s)

- One mp_global_intermission

3. Scripting

Since Death Run 0.9 the mod requires scripts for traps to be deactivated in free run rounds and to get xp when activating the trap. It means that you have to add activation triggers into array so mod will recognize that the entities have to be disabled. This part is very simple (for newbies too).

You can use this function:

Code:

// Usage: addTriggerToList( "trigger1" );
addTriggerToList( name )
{
  if( !isDefined( level.trapTriggers ) )
     level.trapTriggers = [];
  level.trapTriggers[level.trapTriggers.size] = getEnt( name, "targetname" );
}

Ok, lets imagine that you added 2 traps to your map and now you have to add activation triggers to list (for example their targetnames are "trigger1" and "trigger2" ).

In main() function you will have to add these lines:

Code:

addTriggerToList( "trigger1" );
addTriggerToList( "trigger2" );

You see, it wasnt hard, this was the last required step but you can continue reading if you want to know some more tricks.

4. Tricks

Since Death Run 0.8 you can call your own script functions on all Jumpers and Activators. In this step ill just show how to display some messages on spawned players.

Code:

test1()
{
  while( 1 )
  {
     // wait for jumper, who is the person from Jumpers team that just spawned
     level waittill( "jumper", who );
     who iPrintlnBold( "Hey jumper, go and kill the activator" );
  }
}
test2()
{
  while( 1 )
  {
     // wait for activator, who is the player that was picked to be the activator
     // Note: this must be also in loop, game will pick another activator if previous quit the server      
     level waittill( "activator", who );
     who iPrintlnBold( "blah" );
  }
}

Since 1.2, you can add a endmap trigger to your map, this is required for time records.

Add a trigger_multiple at the end of your map and give it following targetname: endmap_trig

5. More tips...

- 1. Separate Activator from Jumpers.

- 2. Allways make doors for Jumpers so after finishing map they may get into Activator and kill him.

- 3. Use "clip_full" ( Textures > Usage > Tools ) texture so jumpers won't shoot Activator through the glass.

- 4. Don't forget to add traps to the map...

0

Share this post


Link to post
Share on other sites

Lossy, deleting posts for no reason.. I guess this tutorial is more advanced though, so it's fine lol

0

Share this post


Link to post
Share on other sites

As i couldn't find braxi's deathrun spawns, i've created one - https://www.dropbox.com/s/kup6mh978le5kcq/_globalentities.gsc

 

Put the following file inside - Cod4 directory > raw > maps > mp > gametypes

 

In radiant, right click 2d view > mp > jumper_spawn or activator_spawn 

 

i figured it might be easier to add it straight off rather than changing entities :^)

0

Share this post


Link to post
Share on other sites

Since 1.2, you can add a endmap trigger to your map, this is required for time records.



Add a trigger_multiple at the end of your map and give it following targetname: endmap_trig
 
Does this work on any dr mod?
0

Share this post


Link to post
Share on other sites

Since 1.2 you can add a endmap trigger to your map, this is required for time records.

 

So yes it does. unless a server is running an older version than 1.2 on their server.

0

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  
Followers 0