Create a invade and defend map for Team Fortress Classic

From Valve Developer Community
Jump to: navigation, search
Wikipedia - Letter.png
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
Dead End - Icon.png
This article has no Wikipedia icon links to other VDC articles. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
January 2024

Introduction

In a Sequential Control map one team are the Attackers and the other the Defenders. The Attacking team must eventually capture the Defending team's HQ by first securing other command points. Examples of this style of map are Dustbowl and Avanti.

Game Setup Entities

Every Team Fortress Classic map requires an info_tfdetect entity so that it can be distinguished from a normal Half-Life map. The other entities that are required are seperate spawn-points for each team - these will be covered later. There also needs to be one info_player_start.

info_tfdetect

Attribute Value
Team 1 VGUI menu name (team1_name/) #Dustbowl_team1
Team 2 VGUI menu name (team2_name) #Dustbowl_team2

The above controls the name of teams 1 & 2. The Dustbowl_team1 and Dustbowl_team2 come from the titles.txt in the halflife/tfc directory. Red is team 1 and Blue is team 2

info_player_start

This can be placed anywhere in the map. A player entering the game starts here, before joining a team. Use the Angle: and the Pitch Yaw Roll (Y Z X) to point towards whatever you want the player to see.

State Goals

The below goals are all info_tfgoal_timer's. They give the defenders points every minute and inform the players how much time is left.

Defenders Points

This goal gives the Defenders 5 points every minute. The map lasts for 26 minutes, but this goal is not activated when the gates are down (when the attackers are not allowed out), so the total points given out will be the same as the total points the attackers can get from capturing all command points.

Attribute Value
Goal # (goal_no) 22
Red point gain (increase_team2) 5
Time between activations (search_time) 60

5 Minutes Left

The goals below are activated near the end of the game, telling the players how long is left.

Attribute Value
Activation Message-center print (broadcast) #dustbowl_five_minutes_left
Speak (global) !dust_5min
Time between activations (search_time) 1260

4 Minutes Left

Attribute Value
Activation Message-center print (broadcast) #dustbowl_four_minutes_left
Time between activations (search_time) 1320

3 Minutes Left

Attribute Value
Activation Message-center print (broadcast) #dustbowl_three_minutes_left
Time between activations (search_time) 1380

2 Minutes Left

Attribute Value
Activation Message-center print (broadcast) #dustbowl_two_minutes_left
Time between activations (search_time) 1440

60 Seconds Left

Attribute Value
Activation Message-center print (broadcast) #dustbowl_sixty_seconds_left
Time between activations (search_time) 1500

30 Seconds Left

Attribute Value
Activation Message-center print (broadcast) #dustbowl_thirty_seconds_left
Time between activations (search_time) 1500

Starting Entities

This part of the tutorial focuses on the entities that control the opening of the gates at the start of the map. These gates will stop the Attackers from getting out straight away, giving the Defenders a chance to set up a defense.

trigger_auto

Attribute Value
Target (target) gate_1_mm
Trigger State (triggerstate) On

This entity is activated as soon as the map starts because its Trigger State is set to on.

multi_manager

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
Name (targetname)(targetname) gate_1_mm
gate_1 90
start 90
90_second_warning 5
60_second_warning 30
30_second_warning 60
10_second_warning 80

Warning sounds

These info_tfgoals set up the sounds that tell the players how long it is until the gates open. They are basically identical, but with different activation messages.

90 Seconds

Attribute Value
Name (targetname)(targetname) 90_second_warning
Play Sound Path/name.wav (noise) misc/talk.wav
Activation Message-center print (broadcast) #dustbowl_90_secs
Goal Effects bitfields (goal_effects) 9

60 Seconds

Attribute Value
Name (targetname)(targetname) 60_second_warning
Play Sound Path/name.wav (noise) misc/talk.wav
Activation Message-center print (broadcast) #dustbowl_60_secs
Goal Effects bitfields (goal_effects) 9

30 Seconds

Attribute Value
Name (targetname)(targetname) 30_second_warning
Play Sound Path/name.wav (noise) misc/talk.wav
Activation Message-center print (broadcast) #dustbowl_30_secs
Goal Effects bitfields (goal_effects) 9

10 Seconds

Attribute Value
Name (targetname)(targetname) 10_second_warning
Play Sound Path/name.wav (noise) misc/talk.wav
Activation Message-center print (broadcast) #dustbowl_10_secs
Goal Effects bitfields (goal_effects) 9

Gates Open

This goal activates the multi_manager that controls the message that is played as the gates open.

Attribute Value
Name (targetname)(targetname) start
Target entity with this targetname (target) sirensound_mm
Play Sound Path/name.wav (noise) misc/talk.wav
Activation Message-center print (broadcast) #dustbowl_gates_open
Goal Effects bitfields (goal_effects) 9

Sirensound Setup

These entities set up the sound that tells the players that the gates are open. A normal door sound will only play in a certain radius; any player outside of that radius will not hear the door open. Doing it this way means that all the players in the game will know when the gates open.

multi_manager

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
Name (targetname)(targetname) sirensound_mm
sirensound 0
sirensound#1 4
gatestart 0
gatestop 0.9

ambient_generic 1

Attribute Value
Name (targetname)(targetname) sirensound
WAV Name (message) ambience/siren.wav
Fade out time (0-100) (fadeout) 50

Flags: Play Everywhere & Start Silent are ticked.

ambient_generic 2

Attribute Value
Name (targetname)(targetname) gatestart
WAV Name (message) doors/doormove8.wav

Flags: Play Everywhere, Start Silent & Is NOT Looped are ticked.

ambient_generic 3

Attribute Value
Name (targetname)(targetname) gatestop
WAV Name (message) doors/doorstop8.wav
Fade out time (0-100) (fadeout) 50

Flags: Play Everywhere, Start Silent & Is NOT Looped are ticked.

func_door

These are the gates that open after 90 seconds, letting play begin!

Attribute Value
Name (targetname)(targetname) gate_1
Angle: Up
Goal Activation bitfields (goal_activation) 1
delay before close, -1 stay open (wait) -1
Lip (lip) -1
Speed (speed) 150

Capture Point 1

This part of the tutorial focuses on the first capture point and the events that happen after that. These events are the respawns being changed, everybody being forced to respawn and stopping the Defenders from scoring.

i_t_g

This is the place where the first flag must be brought to.

Attribute Value
Entity Reference name (for logging) (netname) Capture Point 1
Goal # (goal_no) 11
Team allowed to use goal (team_no) Blue
Has item # (items_allowed) 1 (the Goal # of the first flag)
Stay active(sec), -1 stays (wait) 10
Remove item from APA (axhitme) 1 (The first flag)
Target entity with this targetname (target) cap1
Add/Subtract frags (frags) 30
Add/Subtract health (health) 100
Armor Value % (armor_value) 300
Blue point gain (increase_team1) 30
Owned by-for msg & item glow (owned_by) Blue
Message to A.Player-center print (message) #dustbowl_you_secure_one
Console msg, %s = AP name (netname_broadcast) #dustbowl_blue_secures_one
Global Speak (speak) !DUST_CP1
Goal Result bitfields (goal_result) 1 - remove immediately

multi_manager

This controls all the goals that move spawn points etc.

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
Name (targetname)(targetname) cap1
gate_2 4
gate_3 90
move_spawns_1 0
force_respawn 4
pause_scoring 0
resume_scoring 90
90_second_warning 4
60_second_warning 30
30_second_warning 60
10_second_warning 80

Gates

These are the gates (func_door) that were targetted by the above multi_manager.

Gate 2

This gate stops the players from getting to the first area of the map. Place this door where you want it to be when it is closed ie. so it stops the players. The Starts open flag is ticked so it will start open at the start of the game so players can get past it.

Attribute Value
Name (targetname)(targetname) gate_2
Angle: Down
delay before close, -1 stay open (wait) -1
Lip (lip) -32
Damage inflicted when blocked (dmg) 10000(so the player would not be able to block the door without dying instantly)
Speed (speed) 300

Flags: Starts Open is ticked.

Gate 3

This gate stops the attackers from attacking straight away so that the Defenders have time to set up.

Attribute Value
Name (targetname)(targetname) gate_3
Angle: Up
delay before close, -1 stay open (wait) -1
Lip (lip) -32
Speed (speed) 150

Capture Point 1 Goals

These are the goals that are activated by the multi_manager above, when the attacking team secure cap point 1.

Move Spawns 1

Attribute Value
Name (targetname)(targetname) move_spawns_1
Remove Spawn group # (remove_spawngroup) 1
Restore Spawn group (restore_spawngroup) 2

Force Respawn 1

This goal removes the first flag from the player holding it, respawns all the players, and since the spawns have been moved, they respawn at new places.

Attribute Value
Name (targetname)(targetname) force_respawn
Remove item from APA (axhitme) 1
Goal Effects bitfields (goal_effects) 9
Goal Result bitfields (goal_result) 112

Stop Defenders Scoring

This goal stops the Defenders from scoring during the time that the gates are closed.

Attribute Value
Name (targetname)(targetname) pause_scoring
Remove goal # (remove_goal_no) 22

Restart Defenders Scoring

This goal lets the Defenders start scoring again, since the gates are now open.

Attribute Value
Name (targetname)(targetname) resume_scoring
Remove goal # (remove_goal_no) 22

Capture Point 2

This part of the tutorial focuses on the second capture point and the events that happen after that. These events are, as before, the respawns being changed, everybody being forced to respawn and stopping the Defenders from scoring.

i_t_g

This is the place where the second flag must be brought to.

Attribute Value
Entity Reference name (for logging) (netname) Capture Point 2
Goal # (goal_no) 12
Team allowed to use goal (team_no) Blue
Has item # (items_allowed) 2 (the Goal # of the first flag)
Stay active(sec), -1 stays (wait) 10
Remove item from APA (axhitme) 2 (The second flag)
Target entity with this targetname (target) cap2
Add/Subtract frags (frags) 30
Add/Subtract health (health) 100
Armor Value % (armor_value) 300
Blue point gain (increase_team1) 30
Owned by-for msg & item glow (owned_by) Blue
Message to A.Player-center print (message) #dustbowl_you_secure_two
Console msg, %s = AP name (netname_broadcast) #dustbowl_blue_secures_two
Global Speak (speak) !DUST_CP2
Goal Result bitfields (goal_result) 1 - remove immediately

multi_manager

This controls all the goals that move spawn points etc.

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
Name (targetname)(targetname) cap2
gate_2 4
gate_3 90
move_spawns_1 0
force_respawn 4
pause_scoring 0
resume_scoring 90
90_second_warning 4
60_second_warning 30
30_second_warning 60
10_second_warning 80

Gates

These are the gates (func_door) that were targetted by the above multi_manager.

Gate 4

This gate stops the players from getting to the first area of the map. Place this door where you want it to be when it is closed ie. so it stops the players. The Starts open flag is ticked so it will start open at the start of the game so players can get past it.

Attribute Value
Name (targetname)(targetname) gate_4
Angle: Down
delay before close, -1 stay open (wait) -1
Lip (lip) -32
Speed (speed) 150

Flags: Starts Open is ticked.

Gate 5

This gate stops the attackers from attacking straight away so that the Defenders have time to set up.

Attribute Value
Name (targetname)(targetname) gate_5
Angle: Up
delay before close, -1 stay open (wait) -1
Lip (lip) -32
Speed (speed) 150

Capture Point 2 Goals

These are the goals that are activated by the multi_manager above. The only ones not shown here are the warning sounds and the goals that Stop/Restart Defenders scoring since these are already made.

Move Spawns 2

Attribute Value
Name (targetname)(targetname) move_spawns_2
Remove Spawn group # (remove_spawngroup) 2
Restore Spawn group (restore_spawngroup) 3

Force Respawn 2

Attribute Value
Name (targetname)(targetname) force_respawn_2
Remove item from APA (axhitme) 2
Goal Effects bitfields (goal_effects) 9
Goal Result bitfields (goal_result) 112

Capture Point 3

This part of the tutorial focuses on the third capture point and the end of the map, where either the attackers win by capturing the base, or the defenders win by keeping the attackers away.

i_t_g

This is the place where the final flag must be brought to.

Attribute Value
Entity Reference name (for logging) (netname) Capture Point 3
Goal # (goal_no) 13
Team allowed to use goal (team_no) Blue
Has item # (items_allowed) 3 (the Goal # of the third flag)
Stay active(sec), -1 stays (wait) 10
Remove item from APA (axhitme) 3 (The third flag)
Target entity with this targetname (target) cap3
Add/Subtract frags (frags) 50
Add/Subtract health (health) 100
Armor Value % (armor_value) 300
Blue point gain (increase_team1) 50
Owned by-for msg & item glow (owned_by) Blue
Goal Result bitfields (goal_result) 1 - remove immediately

multi_manager

The target of the 3rd capture point.

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
Name (targetname)(targetname) cap3
end_game 3
win_message 1

info_tfgoal_timer

After 1560 seconds (26 mins) this goal is activated, which means that the Defenders have won. If the Attackers had won, then the map would have already finished so this goal would not have been activated.

Attribute Value
Target entity with this targetname(target) lose_mm
Time between activations (search_time) 1560

multi_manager

The target of the above info_tfgoal_timer.

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
end_game 2
lose_message 0

End Game Goals

Defenders Win

This goal is activated by the above multi_manager, if the Attackers have not captured the final base.

Attribute Value
Name (targetname)(targetname) lose_message
Activation Message-center print (broadcast) #dustbowl_red_defends
Global speak (speak) !DUST_HOLD

Attackers Win

This informs the teams that the Attackers have won.

Attribute Value
Name (targetname)(targetname) win_message
Console msg, %s = AP name (netname_broadcast) #dustbowl_blue_caps
Global speak (speak) !DUST_CAP

End Game

Attribute Value
Name (targetname)(targetname) end_game
Goal Result bitfields (goal_result) 4 - scores, intermission, end

Flags

This part of the tutorial shows you how to make each of the three flags.

Flag 1

item_tfgoal

The first flag.

Attribute Value
Entity reference name (for logging) (netname) Flag 1
Item # (goal_no) 1
Model Path/name.mdl (mdl) models/flag.mdl
Model skin-varies per model (skin) 2
Team allowed to use goal (team_no) Blue
Owned by-for msg & item glow (owned_by) Blue
Goal Activation Bitfields (goal_activation) 676 (This value is determined by adding up the correct bit-fields)
Percentage of full speed (pausetime) 75
Pause (stays on ground) seconds (pausetime) 75
Activate/Restore goal on return (impulse) 300 (the goal # of the first flag info_tfgoal)
Goal Result bitfields (goal_result) 16 - Prevent Spy disguise (This will cause an enemy spy to lose their disguise when they pick up the flag)
Highlight HUD items bitvalue (items) Blue Logo
Message to A.Player-center print (message) #dustbowl_take_flag_one
Return to start msg, team (noise3) #2fort_your_flag_returned
Return to start msg, owners (noise4) #2fort_enemy_flag_returned

info_tfgoal

This info_tfgoal controls the messages that are printed on screen when the second flag is returned after being dropped by a player.

Attribute Value
Goal # (goal_no) 300
Team allowed to use goal (team_no) Red
If goal # inactive (if_goal_is_inactive) 11 (This is the goal # of the first capture spot. This goal will only work when the first capture spot is inactive.)
Owned by-for msg & item glow (owned_by) Blue
Activation Message-center print (broadcast) #dustbowl_flag_returned
Speak (non AP team) (non_team_speak) !CTF_EFLAGBACK
Speak (owners team) (team_speak) !CTF_FLAGBACK

Flag 2

item_tfgoal

The second flag.

Attribute Value
Entity reference name (for logging) (netname) Flag 2
Item # (goal_no) 2
Model Path/name.mdl (mdl) models/flag.mdl
Model skin-varies per model (skin) 2
Team allowed to use goal (team_no) Blue
Owned by-for msg & item glow (owned_by) Blue
Goal Activation Bitfields (goal_activation) 676 (This value is determined by adding up the correct bit-fields)
Percentage of full speed (pausetime) 75
Pause (stays on ground) seconds (pausetime) 75
Activate/Restore goal on return (impulse) 301 (the goal # of the first flag info_tfgoal)
Goal Result bitfields (goal_result) 16 - Prevent Spy disguise (This will cause an enemy spy to lose their disguise when they pick up the flag)
Highlight HUD items bitvalue (items) Blue Logo
Message to A.Player-center print (message) #dustbowl_take_flag_two
Return to start msg, team (noise3) #2fort_your_flag_returned
Return to start msg, owners (noise4) #2fort_enemy_flag_returned

info_tfgoal

This info_tfgoal controls the messages that are printed on screen when the second flag is returned after being dropped by a player.

Attribute Value
Goal # (goal_no) 301
Team allowed to use goal (team_no) Red
If goal # inactive (if_goal_is_inactive) 11 (This is the goal # of the second capture spot. This goal will only work when the second capture spot is inactive.)
Owned by-for msg & item glow (owned_by) Blue
Activation Message-center print (broadcast) #dustbowl_flag_returned
Speak (non AP team) (non_team_speak) !CTF_EFLAGBACK
Speak (owners team) (team_speak) !CTF_FLAGBACK

Flag 3

item_tfgoal

The third flag.

Attribute Value
Entity reference name (for logging) (netname) Flag 3
Item # (goal_no) 3
Model Path/name.mdl (mdl) models/flag.mdl
Model skin-varies per model (skin) 2
Team allowed to use goal (team_no) Blue
Owned by-for msg & item glow (owned_by) Blue
Goal Activation Bitfields (goal_activation) 676 (This value is determined by adding up the correct bit-fields)
Percentage of full speed (pausetime) 75
Pause (stays on ground) seconds (pausetime) 75
Activate/Restore goal on return (impulse) 302 (the goal # of the first flag info_tfgoal)
Goal Result bitfields (goal_result) 16 - Prevent Spy disguise (This will cause an enemy spy to lose their disguise when they pick up the flag)
Highlight HUD items bitvalue (items) Blue Logo
Message to A.Player-center print (message) #dustbowl_take_flag_HQ
Return to start msg, team (noise3) #2fort_your_flag_returned
Return to start msg, owners (noise4) #2fort_enemy_flag_returned

info_tfgoal

This info_tfgoal controls the messages that are printed on screen when the third flag is returned after being dropped by a player.

Attribute Value
Goal # (goal_no) 302
Team allowed to use goal (team_no) Red
If goal # inactive (if_goal_is_inactive) 13 (This is the goal # of the second capture spot. This goal will only work when the second capture spot is inactive.)
Owned by-for msg & item glow (owned_by) Blue
Activation Message-center print (broadcast) #dustbowl_flag_returned
Speak (non AP team) (non_team_speak) !CTF_EFLAGBACK
Speak (owners team) (team_speak) !CTF_FLAGBACK

Spawnpoints

This part of the tutorial shows how to set up the spawn points that are needed. They are a slightly different setup than a CTF map. You will need 6 sets of spawnpoints altogether, 3 for the Defenders and 3 for the Attackers. The spawnpoints change after the first and second flags are captured.

All the spawnpoints are the info_player_teamspawn entity.

Spawn Points 1

These spawn points are where the players start for the first capture point, at the start of the game. Make at least 12 per team.

Blue 1

Attribute Value
Entity reference name (for logging) (netname) Blue Spawn 1
Spawn Group # (group_no) 1
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 100
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Red 1

Attribute Value
Entity reference name (for logging) (netname) Red Spawn 1
Spawn Group # (group_no) 1
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 200
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Spawn Points 2

These spawn points are where the players start for the second capture point, after the first Cap Point was captured. Make at least 12 per team.

Blue 2

Attribute Value
Entity reference name (for logging) (netname) Blue Spawn 2
Spawn Group # (group_no) 2
Initial State (goal_state) Removed
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 100
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Red 2

Attribute Value
Entity reference name (for logging) (netname) Red Spawn 2
Spawn Group # (group_no) 2
Initial State (goal_state) Removed
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 200
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Spawn Points 3

These spawn points are where the players start for the third capture point, after the second Cap Point was captured. Make at least 12 per team.

Blue 3

Attribute Value
Entity reference name (for logging) (netname) Blue Spawn 3
Spawn Group # (group_no) 3
Initial State (goal_state) Removed
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 100
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Red 3

Attribute Value
Entity reference name (for logging) (netname) Red Spawn 3
Spawn Group # (group_no) 2
Initial State (goal_state) Removed
Team allowed to spawn here (team_no) Blue
Activate goal # (activate_goal_no) 200
Goal activation (goal_activation) 3 - all get item/messages
Pass AP to Activated Goals? (goal_result) Yes

Spawn Stuff

These info_tfgoal's are activated when a player spawns, giving each player their starting armor & ammo.

Goal 100

Attribute Value
Entity reference name (for logging) (netname) Blue Team Spawn Stuff
Goal # (goal_no) 100
Armor Value % (armorvalue) 200
Armor Class (armortype) Normal
Add/Subtract shells (ammo_shells) 200
Add/Subtract nails (ammo_nails) 200
Add/Subtract rockets (ammo_rockets) 30
Add/Subtract cells (ammo_cells) 50
Add/Subtract grenades #1 (no_grenades_1) 4
Add/Subtract grenades #2 (no_grenades_2) -4
Message to A.Player-center print (message) #dustbowl_bring_flag

Goal 200

Attribute Value
Entity reference name (for logging) (netname) Red Team Spawn Stuff
Goal # (goal_no) 200
Armor Value % (armorvalue) 200
Armor Class (armortype) Normal
Add/Subtract shells (ammo_shells) 200
Add/Subtract nails (ammo_nails) 200
Add/Subtract rockets (ammo_rockets) 30
Add/Subtract cells (ammo_cells) 50
Add/Subtract grenades #1 (no_grenades_1) 4
Add/Subtract grenades #2 (no_grenades_2) -4
Message to A.Player-center print (message) #dustbowl_protect_HQ

Miscellaneous

In Dustbowl, when a capture point is captured, the signs around it change to show the Blue logo, and the actual cap-point changes - a Blue logo rises up and the poles disappear into the ground.

Most of the things that you want to happen when a capture point is captured can be controlled by the multi_manager that is targetted, eg. cap1

For this part of the tutorial there will be signs that change team, and a block that comes up covering the 1st capture point. (like in Dustbowl) These can easily be changed to work for the other capture points and can be changed for the effect you want.

Signs

Each sign consists of 2 func_wall_toggle, one that starts invisible.

Create a func_wall_toggle with the Red Team texture :

Attribute Value
Name (targetname) (targetname) cap1sign

Now, create another one, in exactly the same position as the other, but with the Blue Team texture:

Attribute Value
Name (targetname) (targetname) cap1sign

Flags: Starts Invisible is ticked.

Now in the cap1 multi_manager add this:

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
cap1sign 0

When the cap-point is captured, the multi_manager is targetted, which then targets the cap1sign func_wall_toggle's, one which turns invisible (Red Texture) and one which appears (Blue Texture).

Moving Capture Point

This is done using a func_door.

Create a func_door in the place that you want it to end up ie. covering the cap-point. Change these properties:

Attribute Value
Name (targetname) (targetname) cap1move
Angle: Down
Delay before close, -1 stay open (wait) -1
Lip (lip) -16
Damage inflicted when blocked (dmg) -1
Lip (lip) 1000 (So that a player blocking it dies instantly)
Speed (speed) 30
Move Sound (movesnd) Large rollers
Stop Sound (stopsnd) Light airbrake

Flags: Starts Open is ticked.

Lastly, in the cap1 multi_manager, add this:

Note.pngNote:Values without () may be added with SmartEdit off. Depending on the .FGD that is used
Attribute Value
cap1move 0

When the multi_manager is activated it immediately targets the func_door (which starts open) making it move to cover the cap-point.

Other effects can be created in the same way. Make the effect that you want eg. ambient_generic to add sound, env_sprite to add explosions. Just call these a certain name and add that name to the multi_manager.

Spawnpoints

In Dustbowl, after the first cap-point is captured the Attackers spawn in what was, previously, the Defenders respawn room.

This is not hard to make, just have 2 sets off spawnpoints in the same room, 1 for Defenders (spawn group 1) and 1 for Attackers (spawn group 2).

However, flag 2 starts in this room, and the Defenders should not be able to see it during round 1. This is simply overcome by making a func_wall_toggle which covers the flag during round 1, when the Defenders spawn there, but which disappears when the Attackers spawn there for round 2. Just call it cap1sign and it will disappear at the same time as the signs, above, change.

Timer Bar

In the respawns in Dustbowl, there are red bars which decrease showing how much time is left. They are simply func_doors which move very slowly.

Make a func_door 144 units long and change these:

Attribute Value
Name (targetname) (targetname) timerbar
delay before close, -1 stay open (wait) -1
Damage inflicted when blocked (dmg) 10000
Speed (speed) 0.1

This works for a 26 minute game. If your map lasts longer then change the speed or the length of the bar to suit.

The timerbar must also be targetted as soon as the map starts, so add a trigger_auto:

Attribute Value
Target (target) timerbar
Trigger State (triggerstate) On

This will target the timerbar as soon as the map starts.

Messages

These are the text and voice messages that could be heard in the game.

Text Messages

These are some of the entries from the titles.txt in the halflife/tfc folder.

dustbowl_you_secure_one
You secured Command Point ONE!!

dustbowl_you_secure_two
You secured Command Point TWO !!

dustbowl_protect_HQ
Protect your HQ from the Blue Team !!

dustbowl_bring_flag
Bring your flag to Red's HQ !!

dustbowl_take_flag_one
Take the flag to Command Point ONE.

dustbowl_take_flag_two
Take the flag to Command Point TWO.

dustbowl_take_flag_HQ
Take the flag to Red's HQ!

dustbowl_grenades
Grenades!!

dustbowl_blue_secures_one
Blue Team Secures
Command Point ONE !!

dustbowl_blue_secures_two
Blue Team Secures
Command Point TWO !!

dustbowl_flag_returned
Flag has returned to base

dustbowl_blue_caps
Blue team captured
Red's Headquarters!
	dustbowl_90_secs
90 seconds till gates open.

dustbowl_60_secs
60 seconds till gates open.

dustbowl_30_secs
30 seconds till gates open.

dustbowl_10_secs
10 seconds till gates open.

dustbowl_gates_open
Gates are open !!.

dustbowl_red_defends
Red team successfully
defended their Headquarters!

dustbowl_five_minutes_left
Time remaining:
Five minutes

dustbowl_four_minutes_left
Time remaining:
Four minutes

dustbowl_three_minutes_left
Time remaining:
Three minutes

dustbowl_two_minutes_left
Time remaining:
Two minutes

dustbowl_sixty_seconds_left
Time remaining:
Sixty seconds

dustbowl_thirty_seconds_left
Time remaining:
Thirty seconds 

Voice Messages

These are some of the entries from the sentences.txt in the halflife/tfc/sound folder.

DUST_CP1
Blue team secured
command point one

DUST_CP2
Blue team secured
command point two

DUST_HOLD
red team holds
red base

DUST_CAP
Blue team captured
red base

DUST_5MIN
time remaining,
five minutes
	DUST_4MIN
time remaining,
four minutes

DUST_3MIN
time remaining,
three minutes

DUST_2MIN
time remaining,
two minutes

DUST_60SEC
time remaining,
sixty seconds

DUST_30SEC
time remaining,
thirty seconds