Mapping for Kingpin Colors - Capture the Flag Mod


Modified 3rd March 2019 by Captain Death. This guide is for mapping for Colors – CTF server v1.4.

Mapping for CTF is much like mapping for any other mod except that props and weather effects can be used along with the CTF specific entities.

The naming convention for CTF maps is ctf_mapname.bsp

Usage

Extract the ctf.def and harpoon.def files to your KPRAD directory and run Radiant. Overwrite the ctf.def file if one already exists.

You will see two new options in the entity list called:
ctf_flag
weapon_harpoon

Adding the new entities to a map

Flag

Each map should have two flags, one for each team. If there are not 2 flags defined, one for each team, then the results are undefined.

The style parameter is set to 1 or 2, corresponding to Dragons or Nikkis Boys teams. Any other value will be rejected.

Click on a flag you have added and press 'N' to open the Entity menu. You need to enter info into the Key & Value fields like this:

key

style

value

1 or 2, corresponding to the team


Harpoon

The harpoon is normally given to each player when they spawn, but this can be disabled by the server operator.

If you want to make sure harpoons are available on your map, then you can drop a weapon_harpoon entity onto your map and it will show up like any other weapon for a player to pick up.

 

The harpoon is treated like a weapon although it does not use ammo. It follows the same rules regarding respawning as all other weapons except for dm_realmode. The harpoon will spawn when dm_realmode is enabled.

 

The map can override the server to prevent giving each player a harpoon when they spawn, if the server is set to give each player a harpoon.

Adding a key ‘health’ with a non-zero value (e.g. 1) to the worldspawn entity will disable each player being given a harpoon. This means that a harpoon can only be obtained by picking one up like a normal weapon. This also means that if the map is not suitable for the harpoon then one does not need to be added.

Note that if the server has disabled giving each player a harpoon at spawn, then the health value cannot be used to override this.

Spawn Points

Spawn points are set up like Bagman, where the style parameter of the info_player_deathmatch entity gets the value corresponding to the team (1 or 2).
Team spawns should be created within a team base, or around the area of the player flag.

Additionally, neutral spawn points can be added by setting the style parameter to 0. Neutral spawn points should be spread out in the middle of a map.
Either team can spawn on neutral spawn points.
Neutral spawn points are not required but can also help when there are more players than team spawn points defined.

Additional Entities

You can add props, breakables, weather effects and rats into CTF maps.

*The following information is courtesy of Whoop Ass*

Lesson1 - Breakable Objects

Before I start with how to make a breakable object, you should first understand why and where to use them.
Breakable objects are great fun, but do not forget that once broken the player is left with the rest of the map to have fun on. So you should remember not to make them the most important part when designing and making your map.
Remember not to make anything breakable that will stop the flow of the map. If you need to jump on a crate to reach a key area and the crate is broken, what happens next? Add some additional crates surrounding or on top of the required one(s) so people can break them and still get around easily.

There are three main types of breakable in kingpin: -

Unfortunately, brick is not really supported by the game so breaking walls is not really an option. There is a sound for "brickfall" and you can use one of the above types when making the wall, but when broken you won't see any brick debris.
The other key thing to remember is r_speed. Breakable objects are part of the Func group, and as such are not solid objects.

Here is a list of the main features: -

How to make a breakable object

1.   Create your crate or window as usual

2.   Select the object you just made (as an example I am going to make a crate) and bring up the entity list (normally right click). Under func you will find the func_explosive, select this option.

3.   With the func_explosive selected press 'N' to bring up the world options.

4.   To give the func_explosive a 'type', click on the field section and put in 'type'. Press Enter and put in either glass, metal or wood, which are explained earlier.

5.   To give the func_explosive a health level, click on the field section and put in 'health'. Press Enter and put in the value of health you require. As an example, I have given my crate a value of 25 so it breaks easily, large crates were given a value of 75.

6.   Now give the crate a 'mass'. Click on the field section again and put in 'mass'. Now press Enter and give it a suitable value. For a small crate I have matched the mass value to the health value (i.e. 25). This will generate small pieces of debris when broken, the higher the value the bigger the pieces and quantity that you will get.

7.   All that is required now is sound. Create a target_speaker from the target section on the entity list (you don't need to make a brush to do this, just right click on the grid). Click on the field section and put in 'noise'. Press Enter and choose the wav sound you wish the speaker to play.
These are the most common: -

o    world/boardbreak - used for wood

o    world/glasbrk - used for glass

o    world/metalbreak - used for metal

o    and if necessary: world/brickfall - used for crumbling walls

8.   Now to target the breakable object to the speaker.

9.   Make sure that both objects are not selected and while holding down the Shift key, first click on the func_explosive. Now with Shift still held down, click on the target_speaker. When both objects are selected press Shift + K together to target the breakable to the speaker. If done correctly a red line will appear pointing from the crate to the speaker.

10.                Deselect both objects and select the speaker on its own. Now move it to within the middle of the crate. This is done so that the sound will come from the correct place when the crate is broken.

This process can be completed for all type of breakable, just change the 'noise' of the speaker and the 'type' of the breakable used.

Lesson 2 - Adding rats

Rats are another simple addition, though a little bit harder to do. The only real things I would consider when adding these are r_speed, which we are aware of, and the annoyance level.
Annoyance - these rats bite! And as such, although a room filled with them will look good, it will also be hard to play in and annoying too. If placing in a large room add say 10 - 15, a small room 5 - 10. They do wander quite far so outside the main fighting area(s) would be fine.

How to add the rats to the map

1.   Right click on the grid to bring up the entity list. Look under props for the rat_spawner and select it.

2.   Place the rat_spawner somewhere near to where you want the rats to appear, do not worry about hiding it, it will not appear in the actual map.

3.   With the rat_spawner selected press 'N' to bring up the world options and click on the field section. Put in 'deadticks' and press Enter. Now put in a quantity. Deadticks is used to specify how many rats will appear at any one time. They will keep respawning each time they die and match the deadticks value.

4.   You can also change the health of the rat by entering 'health' into the field section and specifying a value. The default is 10 and seems to work quite well.

5.   If you want to make the rats more dangerous, enter 'dmg' in the field section followed by a value. Again, the default is 2 and it is annoying but not life threatening.

6.   Now de-select the rat_spawner and bring up the entity list again. Go into props and select the rat_spawner_node.

7.   position the rat_spawner_node where you would like the rats to 'spawn' from. Leave it selected and press 'N' to bring up the world options.

8.   Choose an angle from the bottom to set the direction the rats will be running in when they first appear.

9.   De-select the rat_spawner_node.

10.                Holding shift down select the rat_spawner followed by the rat_spawner_node. Press Shift + K to link the two entities together. If done correctly, you will see a red line pointing from the rat_spawner to the rat_spawner_node.

That is all that is required to add rats to the map, happy target practise.

Lesson 3 - Weather effects

There are two types of weather in kingpin, rain and snow. There is little difference between them, except rain is the most common.
Weather effects have no effect on the game server and don't cause lag for everyone who is playing, but for those with lower specification graphics cards there will be a loss of performance when used. For this reason, you may want to give a light shower effect as opposed to a full storm. Let's see how we add it first.

Adding rain and snow to the map

1.   Load up the common texture set and find the trigger texture.

2.   Create a brush at the top of the area you want the rain to fall in. Make it as close to the sky as possible so that people cannot go above it where there is no rain.

3.   Right click on the grid and select elements followed by elements_raincloud (replace with elements_snowcloud for snow).

4.   With the brush still selected, press 'N' to bring up the world options. Click on the field section and put in 'firetype'. Now press Enter and put in either '1' or '2'. Putting in '1' will give you rain, '2' will only give you drips of rain.

5.   Now click on field again and put in 'fxdensity'. Press Enter and put in a value between 400 and a 1000. This is to choose the amount of rain you would like to fall from this brush (the amount of rain is proportional to the size of the brush, a small brush with fxdensity 1000 will give off significantly more rain that a large brush with the same value).

And that is how you create rainfall, it sounds straight forward, but now the problems: -

Each elements_raincloud you create can have a maximum 'fxdensity' of 1000. If you make the brush too large (i.e. too wide and long) the rain will hardly be visible. The solution for this is to make the brush smaller and create another one next to it the same size. They will now give off the same amount of rain, but you have twice as much.
Simple? Well most of the time this works fine, but if the map has large area's and you increase the rain in one part, you may find the rain vanishes from somewhere else. The solution to this is to delete and resize the existing elements_rainclouds until the weather appears everywhere.
I believe there is a built-in safe level of weather in kingpin that prevents you from flooding the map, but as yet I haven't found it listed anywhere.
The only other real problem with rain is when it comes into contact with func's. As func's have no effect on visibility, any rain above them will pass straight through. So, it is not recommended you place a breakable window below where it is raining.

Adding sound to the rain

1.   Create a target_speaker and press 'N' to bring up the world options.

2.   Click on the field section and put in 'noise'. Press Enter and choose the wav sound you wish the speaker to play.
Here are the most common: -

o    world/rainout - used in the outdoor area's

o    world/raintin - used when the rain is falling on tin

o    world/rainwood - used when the rain is falling on wood

o    world/woodin - used when the rain is falling on wood and you are indoors

3.   The only other thing to set on these speakers is the looped-on flag. This is just above the field section in world options. Tick the checkbox and the speaker will now play continuously.

4.   Come out of world options and position your speaker(s) in the level. These are best placed equally around the level and roughly three of the large squares on the grid apart. Remember not to go too close to the buildings or it will sound like it is raining inside too.

With a little playing around rain (or snow) should now be falling quite happily in your map.

Written by Whoop_ass 1999 - 2002