TF2/Making an Arena map
The Arena gamemode
This is a new gamemode that came along with the heavy update. In this gamemode, you don't respawn until your whole team is dead. The goal is to kill everyone on the enemy team, or to capture the center control point of the map. The control point is locked for 60 seconds in Valve's Arena maps, and cannot be captured until it's unlocked.
This tutorial will show you how to set up the Arena gamemode exactly as it is in arena_lumberyard.
for those of you who doesn't want to go through the tutorial; I've made a prefab with the entities and settings ready, get it Here
Place it in this folder: $SteamUserDir\sourcesdk\bin\orangebox\bin\prefabs\
Tutorial
1. Add the following entities:
team_control_point_master
Name: master_control_point
OnWonByTeam1 | counter_red_win | Add | 1
OnWonByTeam2 | counter_blu_win | Add | 1
math_counter(red)
Name: counter_red_win
Maximum Legal Value: 3
OnHitMax | text_red_game_win | Display
OnHitMax | end_game | EndGame | <none> | 6
math_counter(blu)
Name: counter_blu_win
Maximum Legal Value: 3
OnHitMax | text_blu_game_win | Display
OnHitMax | end_game | EndGame | <none> | 6
game_text(red)
Name: text_red_game_win
Message Text: Red Wins the Game!
Color2: 240 0 6
Check the "All players" flag.
game_text(blu)
Name: text_blu_game_win
Message Text: Blue Wins the Game!
Color2: 0 0 240
Check the "All players" flag.
game_end
Name: end_game
logic_auto
OnMapSpawn | tf_gamerules | SetStalemateOnTimelimit | 1 (This will appear as a broken Output)
logic_relay
Name: relay_round_start
logic_relay
Name: relay_cap_enable
tf_logic_arena
CapEnableDelay: 60
This entity does not exist in the tf.fgd file, so you'll have to enter the keyvalues yourself.
2. Save your map and open it in notepad.
3. Press ctrl+F and search for tf_logic_arena
4. Add this text above "origin":
connections
{
"OnCapEnabled" "cap_flag,ShowModel,,0,-1"
"OnArenaRoundStart" "relay_round_start,Trigger,,0,-1"
"OnCapEnabled" "relay_cap_enable,Trigger,,0,-1"
}
5. Add these control point entities:
prop_dynamic
World Model: models/props_gameplay/cap_point_base.mdl
Name: prop_cap_1
team_control_point
Name: cap_flag
Print Name: #Arena_cap
Index: 3
BLUE model bodygroup: 0
Check the "Start with model hidden" flag.
trigger_capture_area
Name: cap_trigger
Control point: cap_flag
Number of RED players to cap: 3
Number of BLUE players to cap: 3
Time to cap (sec): 4
OnCapTeam1 | prop_cap_1 | Skin | 1
OnCapTeam2 | prop_cap_1 | Skin | 2
OnEndCap | relay_resettimer | Trigger
Q & A
How do I make something happen when a round starts? Such as opening spawnroom doors.
The logic_relay named relay_round_start will trigger when a round starts.
How do I make something happen when the control point is activated?
The logic_relay named relay_cap_enable will trigger when the control point is activated.
How do I modify the time it takes before the control point is activated?
In the tf_logic_arena entity, change the CapEnableDelay to the amount of seconds you want.
How do I test my map? It's waiting for players all the time
Write "bot" in the console and it'll add a player for you, allowing you to test the map
Contact: Acegikmo_Trackmania@hotmail.com
--Acegikmo 07:57, 20 Aug 2008 (PDT)