If you feel comfortable with the basics, or if you'd like to make ctf, more challenging and more complex, then this tutorial will get you in the right direction. Valve has already included the ability for sequential ctf, it's only in how it is setup that it gets confusing.
Before you even try to do this in your map, you have to remember one thing: The players need to know where to go, and when! One flag is easy, when you have up to 4, as this tutorial will show, you can confuse players easily. If you try this concept, you must include identifiers, so players know what flags are active. This is explained in detail as you read this tutorial. The way to identify the active flag can be done by a sign, hud element, and or sound.
Place the .rar in the following directory: C:\Program Files\Steam\steamapps\(my_user_name)
This will install the .vmf file into your sourcesdk_content/tf/mapsrc folder and the custom images for the ident_signs to their directory. (toy/materials/props... because these are used in the mod i'm working on, feel free to use these images, or change the directory if needed. Normal maps are included as well. By modifying the stock gate overlays, i've included flag number overlays for use at the flag zones, as shown below: 8 total
You'll need pakrat for adding these files to your map, for distribution purposes.
Also included are 2 prefabs, one for each team:
If you have installed this as shown, you'll have everything in place. Feel free to open up the .vmf file in hammer as we go through this...
The map included has support for up to 4 flags on each team, and it will even revert back to flag 1 for an endless amount of flag captures. I'll use the blue team in this tutorial, you can see everything else, which is the same for red in the map.
This is how the first capturezone ( blue_intel_cap )on blue should look:
You'll notice i have a 10 second delay, before the second flag is spawned. This is completely optional, i have made it this way, so the opposing team is not waiting at the second cap, grabbing your intel before you have a chance to at least move in that direction.
I'll get into the _cap_ident outputs once we finish the basics on flags, and capturezones.
This is how the second capturezone ( blue_intel_cap_2 )on blue should look:
Now you'll see i have an extra output. I thought it would be a good feature to have the last flag more difficult to capture. In this example you cannot get near the last flag, untill after the third flag is captured. This allows time for the other team to build up a defense. This is purely optional, i just have it setup this way for the toysoldiersmod, and your map would have to be made to fit this scheme, to work well.
This is how the fourth capturezone ( blue_intel_cap_4 )on blue should look:
A little more going on here, same principle. This also allows the respawnvisualizer to be reenabled. Now you are back to the first flag, or it's the end of the round, your choice in the server config. One thing i would recommend is the following: Don't force the count in your map! If you only have 2 flags for example, make it revolve back to 1 after flag 2.
Now for the flag identifiers. I have included support for spawn room idents in this map. This is based off the included prefabs. The same principle can be added to the flag rooms or other areas of your map, it's all up to you.
Here you'll see the preliminary ident_sign i made up for the spawn rooms, blue ( blue_flag_ident_sign.vmf ) for this example:
The sign is made up of brushes, simple and easy to identify. You can use a func_brush as i did, due to the ability to support the Start Disabled function. *You need this function so that when the map starts you can have an active first flag, and have it called by each flag when captured. Remember that this first func_brush needs to be set as: StartDisabled:No In this example, you have a sign that shows the player what flags they currently need to protect. You can take this concept further by adding ident_signs to each flag room, so in case a player goes to that flag, and there is nothing there, he or she could look at the sign and go the active flag.
This is the second func_brush, same as the first, but StartDisabled is Yes!
The second identifier and all afterwards have to be set to Start Disabled:Yes
There are no outputs to set, you'll see the inputs in the map file, as they are called from the Oncapture event outputs for each flag. What you should do is make the func_brushes color correct, the colors i used, that are the rgb outputs from each team logo's are:
Red: 163 87 75
Blue: 75 113 128
There are other ways to make the identifiers, this is just an example. In a compiled version you'll get a glow effect using the included example. If you use a spotlightfx render, you'll get a flashing func_brush as well. Just remember that you need the StartDisabled option on the brush or ent that you would want to use, for this to work correctly.
Here is an in-game shot using the red ident sign ( prefab ) that's included:
This is a work in progress, to add more options to standard ctf gameplay. I welcome any thoughts on this concept. This gamemode will hopefuly add more excitement to the standard versions you are used to.
I'd like to have the community add to, and improve this gametype, it adds alot to standard ctf. Please contact me if you'd like to collaborate on this.
I'm hoping to have a playtest on the first map in http://toysoldiersmod.com available in the next week or so, so you can see this in action.
I'm finishing up a hud system for better "ident" of what flag is active, to further make things easier for players. You can easily add custom sounds, ie: 1-beep, 2-beep... etc for each flag, using an ambient_generic. If you do this, you must include the outputs within the item_teamflag. This gametype promotes more team communication, and a good alternative to standard ctf, i hope you enjoy it. For this to be even easier, i would appreciate some thoughts on how the signs should look, and act. This way mappers can just use the same prefabs. This way there is some type of universal look to them. I would also like to do a collaboration on the hud elements, contact me if you'd like to do some work on a matching hud system for this gametype.
I'm calling this: Version 1.0, as i'm sure there are other options that could be added to this. This tutorial normally has 14 images, sry but this forum is limited to 4, just click the links.
...as always Enjoy!
...chance favors the prepared mind.
Last edited by Kernel; 12-31-2007 at 11:15 PM.
The Following 2 Users Say Thank You to Kernel For This Useful Post:
Ah, very nice Kernel! I'm impressed, this opens up a whole gold-mine of possibilities... just thing... the idea of Sequential Invasion makes tears come to my eyes! And considering I have my current map on hold... maybe, just maybe I'll do a SI. Nice work on the details and prefabs, by the way, might use those, if it's okay with you.
Someone help me! Im ripping my hair out trying to figure out why this isnt working. I seem to be having a problem with the texture on the flag ident prefab. I get the purple checkerboard on the func_brushes when I compile/run the map. So I start investigating. I have all the files installed into the right directories. I noticed I seem to be missing this:
what is this TOY/LIGHT/LIGHT_IDENT_RED texture? I dont see any files like this included in the .rar
I know I have installed all your files correctly because all the other textures work perfect.
wtf? Do I need to change a setting on the func_brushes? I have everything set up exactly according to the tut.... I even compiled your example map and still get the purple checker board