Tutorial: CS Mapping Part 1 Last edited 21 years ago2003-09-09 04:00:00 UTC

You are viewing an older revision of this wiki page. The current revision may be more detailed and up-to-date. Click here to see the current revision of this page.

This article was converted from a previous version of TWHL and may need to be reviewed

  1. The formatting may be incorrect due to differences in the WikiCode processing engine, it needs to be revised and reformatted
  2. Some information may be out of date
  3. After the article is re-formatted and updated, remove this notice and the Review Required category.
  4. Some older tutorials are no longer useful, or they duplicate information from other tutorials and entity guides. In this case, delete the page after merging any relevant information into other pages. Contact an admin to delete a page.

CS Mapping : Part 1.

Before we start, make sure you have familiarised yourself with the In The Beginning series of tutorials. I know you're thinking, "Half-life? But I want to map for Counter-Strike!" sure, but the basics are the same and the idea behind this tutorial is to show you the differences.

There are two things that must be in a Counter-Strike map: If you only put the info_player_start in the map, then no-one else will be able to join the map. It is a good idea to place about 10 of each type of info_player entity in your map. It is up to you how many you want to use, but 10 seems to be a common figure, and make sure they are not to close together or they will spawn frag each other. Give them a little space, about 32 units on either side and about 8 units off the floor. It's imperative that the entities are not intersecting geometry in anyway.

There is also an entity that is normally used with the Spawn points and that is a func_buyzone. The buyzone is a brush based entity that defines an area where the teams can purchase Weapons and Equipment.

The buyzone is not absolutely neccessary, as the info_player entity will define a small area at it's location that acts like one but you can't change the size, which is why a buyzone brush is better. If you use a Buyzone, then the Spawn point will not act as a default buyzone. This is good for when you want the players to travel to the buyzone before being allowed to buy weapons.

Maps
There are a few types of maps out there for Counter-Strike. It is a good idea to know what type of map you are making before you start. The mapname prefix normally gives you an idea of what type of map it is going to be: Combining map types
The reason you don't see multi mission CS maps ie; de_as_es_cs_ mybrilliantmap, is that it almost always there are too many problems with roundstarts and servers to make it worth while. CS was never designed to be multi missioned.

The "cs_" Map

In this tutorial we will look at the basics of a CS type map. Build a large room, say 1024x1024x256.The following entities are required: Make a brush and assign it to the func_buyzone entity. You can make this team specific in the entity properties. Place the buyzone brush a few units off the floor, but not too far. It should be placed so the player can walk into it.

Ok, for the cs_map type, we need to add a few more entities.
The most important being the Hostages. Place a few hostage_entities in your map. The number of Hostage entities you put in the map is up to you, but most maps use 4 or 5. For more information on this entity, check the CS Entity Guide.

And now we need somewhere to lead them so they will be rescued. You have two choices here, you can use a bush based func_hostage_rescue or a point based info_hostage_rescue. The main difference between the two is that you can define the size of the brush for a func_hostage_rescue, where as an info_hostage_rescue is normally about 128 units around the area you place the entity. You may have to experiment with the func_hostage_rescue brush. It doesn't always indicate the actual area of rescue, but it is pretty close. If you put either entity in a corridor, just remember that if the hostages are led to any room that is adjacent to the entity, they might be "rescued" through the walls. Either way it is better to place both entities out in an open area.

The game will default to the func_hostage_rescue if both are used, so it's a bit pointless using both. However, some Bot Programs require both entities to be there so they can assign an important Waypoint to the area. The Hostage only has to touch the brush to be rescued. Placement of an info_hostage_rescue is not crucial as it will float to the floor much like an infonode.

What about a Decal? The hostage rescue point decal is {hrpoint in the cstrike/decals.wad. You must have the .wad added to your WorldCraft/Hammer textures when you compile, if you want them to appear. For more information about Decals see SlayerA's Decals: All you need to know Tutorial.

Add a light entity.
Now you're ready to compile. Because we are compiling a CS map, make sure you have read the CS Setup Guide.

Ok, you should have a room with a couple of hostages, a rescue point and a buyzone...the rest is up to your imagination.

Next tutorial in the series: CS Mapping, Part 2

3 Comments

Commented 14 years ago2010-03-08 22:24:13 UTC Comment #100600
hey thanks
Commented 11 years ago2013-06-28 15:05:13 UTC Comment #100601
hey bro how do you make waypoints for bots...plz tell!!
Commented 4 years ago2020-12-07 12:30:07 UTC Comment #103124
I will definitely be using this!

You must log in to post a comment. You can login or register a new account.