CS2D Map Editing

I’ve recently come across a game that I’m becoming quite a fan of.  CS2D is an overhead shooter that is modeled after the popular Counter Strike mod of Half Life.  Back in the day, I used to play the 3D mod of Half Life, but I have not played it recently.

I’m a big fan of this game because of its simple and fun game play.  If you have some non-hardcore gamers, they will probably get a kick out of the quick and addictive gameplay. It is also seamlessly cross platform with all of my Windows and Mac friends playing along too.  And it also has a simple to use map editor that allows the creative juices to flow.  This will be a brief tutorial on how to use triggers to create doors that open, and breakable glass.

Using the in game editor to make a map is a piece of cake.  Some of the more advanced stuff can be a bit tricky though.  I’m working on a map where the Counter Terriorists must escort a VIP from a brick residence to a boat anchored just off shore.  However, a group of Terrorists have found the location first, and are able to begin some fortifications of the ship with the goal of preventing the VIPs escape.  I wanted to make the building a little more realistic by adding a window, and a door or two.

  1. Create the map
  2. Place your floor terrain where you want the door to be
  3. Go to the Entity menu, (the bulb with the points coming out of it) and select ‘Func_DynWall’
  4. Place it, and edit the entry by right clicking or double clicking.
  5. Change the Tile/Frame # to the number of the tile that you want to appear when the door is closed.
  6. Give the DynWall a unique name
  7. Elsewhere on your map, you want to create the button to open the door. From the entity menu, place a ‘Trigger_Use’ entity and edit it.
  8. Select the button type, and where you want it to appear, and who should be allowed to use it.
  9. Then, for the Trigger box, type in the name of your door (if you have multiple doors opened by a single trigger, separate them with commas)

Once you test this map out, you should now have open-able and close-able doors.

To create breakable glass, do the following:

  1. Place some terrain that looks like a window
  2. Add an entity that is ‘Env_Breakable’
  3. Edit this entity, and give the wall/glass some health, and determine which material you want to make it of.

You can test the map, and you should now be able to break the glass and walk through it once it is broken.

I may post some other map tricks in the future.

NOTE: Bots don’t handle glass/doors well.  If the is no clear path between their start and their objective, they will not realize that doors/glass is a viable alternative and will NOT actually move.  Keep this in mind if designing offline maps.

Attachment: Bridge Test map for Fiid who commented below.

26 Responses to “CS2D Map Editing”

  • Luke says:

    You can also use trig_delay to make a wall that closes after a while. You make it so that the trigger that opens the door sets off both the door and trig_delay by putting this in the trigger box of the trigger.

    trig_use (wall, delay)

    Set the timer for 4 seconds or something and make it’s trigger:

    trig_delay (wall)

    This will make a button that opens a door that closes after 4 seconds.

  • Brian Genua says:

    How do you make a spawn point ?

  • CornMaster says:

    Hello Brian,
    When editing the map you need to click on the ‘Edit Entities’ button, which appears as a lightblub with rays coming from it, and then you will get a list of entities.
    Info_T and Info_CT are your spawn points for Terrorists and Counter Terrorists respectively.

    Info_VIP would be your spawn points for your Counter Terrorist VIP in ‘Escort the VIP’ levels.

    Also, when laying down spawn spots, remember to place enough (and probably a few extra) for the number of players your map is going to be designed for. 8 – 10 per team should be good.

  • CS2D lover says:

    could someone please help me figure out the VIP entity and how it works? how do i change the team its on, for example i want a terrorist VIP. also how do i set conditions where ANY unit of a team has to make it to a point? for EX i want to make a map where the CT must make it to an extraction helicopter to win, and the T must delay them for the time limit. also how do i change how much money you have to start with for construction games, and how much money Dispensers give out? and my last question how do you edit the buyzone and time limit to buy stuff? an answer to any or all of these questions would be greatly appreciated.

  • CornMaster says:

    I haven’t messed with map editing in a while, but I’ll try to answer your questions:
    1) VIP – The VIP is only available to the CT team, and I don’t think you can have a T VIP. This person must be escorted to an Escape Point.
    2) If you want anyone to be able to trigger the end of round, you should take a look at the Func_GameAction entity. If you place this, and right click to properties, you can set the action to end the round, with one victory or another. I haven’t played with this much, but it should do the trick. You may also need to put an Info_TeamGate field around it to block out the opposing team. Wouldn’t want the T triggering a CT win.
    3) Construction Games – Only played with that type once so I don’t have much experience with it. I don’t think you can alter starting cash from the map editor, but you can customize it when you start the map. You can also create gold piles that will replenish themselves using triggers. This may also produce the desired effect.
    4) The buy zone is automatically created based on the starting points for the T and CT teams. Timelimit is configured when you start the game.

    Hopefully that well help a bit.

  • Terminator says:

    Thanks for that Luke I was looking for one like this for a lon time. No one ever wrote about it because most cs2d mappers arent too advanced and people don’t write about delay. It was well writen. I once had a try with a delay when I wanted to make something, that yon cannot use again only after a time, but somehow it didn~t work can you please tell me?

  • tman545 says:

    hey how do i use the tigger_start what do i type in

  • Onslaught-V says:

    what the heck is botnode which available in cs2d editor?

  • FiiD says:

    Hey CornMaster…this is all great you wrote…and you helped me much…but I need to know how to make bridges…can you help me out???

  • cornmaster says:

    tman545:
    I played around with it, and couldn’t make trigger_start work. I assume it is something that will autostart something, but there are no options for delay and when walking over it, nothing happened.

    A general example of how to use the trigger system to start weather would be:
    1) Place an entity for weather. Gen_Weather
    2) Right click and edit properties.
    3) Give it a name, and set up the weather. Ex: Name: ‘trigsnow’
    4) Create a Trigger entity.
    5) Set the Trigger to ‘trigsnow’

    Then in game, when the trigger is triggered, the snow will start. Setting up a trigger_start should be the same process, I’m just not sure what trigger_start operates on.

    Sorry I couldn’t be more help. If you figure it out, come back and share. :)

  • cornmaster says:

    Onslaught-V:
    Not sure exactly what that is. I played around with it on a map for a few minutes but didn’t really see any effect. I would have thought it could be used for pathfinding or something, but that doesn’t seem to be the case. I assigned it to a trigger, and activated it. The bot seemed to hang around that general area, but that could have simply been because of the map design, and not the node/trigger combination.

    Something to think about anyway. If you figure it out, come back and let us know. :)

  • cornmaster says:

    Fiid:
    What kind of bridge are you trying to make?

    A simple bridge would just be different terrain over a water background. This will allow people to walk on and off the bridge through the sides though.

    If you want a bridge that people can walk across, but can’t go in the water, then you need to modify the water tile.
    1) Select the water from the left, and click Tile Properties.
    2) Select Obstacle – w/o Shadow
    3) Place your water.
    4) Then place any other terrain as your bridge.
    People will be able to shoot over the water, but not walk on it.
    If you want people to die when they approach the water, you can change it to Deadly instead of obstacle, although I wouldn’t recommend it since it is instant death.

    If you want to create a bridge that people can walk across, and under, well, I’m not sure if that is possible. But if you want to fake it, you can use teleporters.
    1) Create your map with your terrain under and over the bridge.
    2) Make the bridge a different terrain, so that it will be easy to tell it apart from the surroundings.
    3) If you want people on the bridge to shoot those below and vice versa, create an obstacle where the ‘hand rail’ would be. Otherwise, create a wall.
    4) Create teleporters on each side of the obstacle that will teleport to the other side.
    I’ve attached an example map of this to the original post.

    If I missed the type of bridge you want, let me know, and I’ll see if I can figure that out too.

  • hazem says:

    hi im playing cs2d game and i have problems when i make RP map
    this map have some shops and have some doors my problems is
    when i finish the map and test it when i press “e” to open door
    the door not open can you tell me what is the problem?

  • cornmaster says:

    hazem:
    Not sure what an RP map is, so if I misunderstand, that could be why. Regarding your door, the obvious first question is do you have your e key mapped to use? I’ll assume you do.

    My understanding is that in order to use a door, you need a trigger. This can be a physical trigger located elsewhere, or an invisible trigger on the square in front of the door. Either way, you need to create the door terrain like you would (the terrain under the door). Then:

    Add an entity for DynWall on this square.

    Right Click, and go to properties. Give it a name. door1 for example. Set the behaviour to either wall (if you don’t want people to see through it) or obstacle. Set the Title/Frame # to the number that you want the door to look like. (You can hover over the tiles in the left to see the frame number)

    Then, create two new Trigger_Use entities on either side of the door. Go to properties, and give them the name trigdoor1 and trigdor2. For trigger, enter door1, and make the button ‘None/Invisible’.

    Test your map, and that should be all you need. Let me know if that helps.

  • Proxe says:

    Hello :)

    i am a quite experienced CS:S mapper and have now begun doing cs2d maps too. i were wondering. is it possible to add “Points of interest” for the Zombie bots in the “Zombies” gamemode? Usually they only want to walk around looking in the spawns. I am trying to make a Ze_ map (Zombie Escape). The purpose of these maps are for the survivors team to escape the zombies to a safe room, use a button and win the game. though the CT spawn is close to the zombie spawn so the CT’s wont get a big advantage. when the CT team runs away, the zombies will not follow since they will only got to the CT spawn looking for survivors, Not exploring the map to find them.

    -Proxe

  • Proxe says:

    Bot Nodes did the job, only problem left is that i cant find a way to make bots stay on a team they even the teams even of mp_autoteambalance is 0

  • cornmaster says:

    Hello Proxe,
    Thanks for the tips on bot nodes. Some other readers were wondering what they were all about. Did you simply place them? Or was there any linking/triggers involved?

    I noticed that about zombie maps too. Me and a friend like to play us against everyone, but there is some balance that is forced to happen on Zombie maps. Haven’t figured out exactly what yet, I suspect it is a bug in the game type. I haven’t noticed any other option that would control it, and other game types seem to respect this setting fine.

    I’d like to take a look at your map when you get it completed. :)

    Thanks for the comments.

  • Proxe says:

    Hey again ;)

    The bot nodes works like “points of interrest” The bots will check theese points for objectives/enemys. Each Node counts for an amount of % For example.
    1 Node placed, that spot will have 100% priority of checking FIRST.
    2 Nodes placed, Each spot has 50% of being checked FIRST
    4 Nodes placed Each spot has 25% chance of Being checked FIRST.
    And so on.
    This is VERY usefull for zombiemaps, so that you can ensure that zombies will check every corner of your maps.

    I have been doing some research and it seems that the only way to keep autobalance OFF in “Zombies!” gamemode is through scripts.

    The map is created and has been published, Most bots (Even survivor bots) are doing very well in the map, and are actually following the objective. Objective is to get through a large map with lots of zombies and in the end into a Safe bunker. Bunker is guarded by two LVL 3 Turrets, and a Teamgate to ensure that zombies wont be in the bunker. Inside the bunker you can find a button (BUTTON –> TRIGGER –> CT WIN)
    Prefered settings
    Max Players : 32
    Zombie Dmg (taken): 0.8
    Zombie Speedmod : 0.3
    Active Bots: 16 v 16

    DOWNLOAD LINK
    http://www.filefactory.com/file/b2e2h03/n/zm_flee_bigtown.map
    Map is Called: zm_flee_bigtown

    Feedback will be appreciated ;)

  • Proxe says:

    “Some other readers were wondering what they were all about. Did you simply place them? Or was there any linking/triggers involved?”

    Didn’t See this first.

    Yes they are just to be placed around the map. NO TRIGGERS :)
    Remember to place more nodes in the most important areas :)
    (NOT NEEDED IN ENEMY TEAMS SPAWN, SINCE IT IS ALREADY A POINT OF INTERREST FOR THEM)

  • Proxe says:

    Oh yeah sorry for Double posts, But, for more challenging gameplay make the Zombie damage (taken) lower. (To a minimum of 0.4)

  • Proxe says:

    Sorry for the spam cornmaster, but i forgot to say, that all my zombie maps are ment to be played with “Fog of War” ON ;)

    Am already working on another one :)

  • cornmaster says:

    Hey Proxe,
    Thanks for all of the great info on map making! I gave the map a try. Quite a challenge. Still haven’t gotten through it yet. Me and a friend like to play Zombie maps as coop, so we will give it a go next time around. :)

    Thanks again for your comments.

  • Proxe says:

    no problem mate :) Its best to play as a team with one or more friends from my own experience :D

  • Dragon says:

    Hey, I wanted to create a breakable object with a trigger. But don’t have a clue if this is possible.

    Trigger an env_breakable only destroys the breakable.
    tried func_dynwalls, but they aren’t breakabe.

    Has someone an idea?

  • cornmaster says:

    You could create a breakable object, and then have an explosion triggerable next to it. Trigger the explosion, and the wall should break.

    There might be a better way though. Good luck.

  • Proxe says:

    i would make a button triggering an explosion next to the breakable, that would make it a bit carrier like though, and bots dont use it. For a bot friendly map use a “trigger move” if you want it to activate when people crosses the Triggering tile.

Leave a Reply