- Oct 25, 2007
- 219
- 690
First, let me say that on this example map, we'll be scoring using the flag. The Control Point is only being used as a visual trigger. This tutorial was created at Marnmai's request. I think this is what he wanted to know.
You can download my hammer VMF file here
You can download my playable BSP file here
Create a large two part or three part map. I create an L shaped map, where the control point, capture zone and flag are in seperate rooms. Add a light entity in each room, and a info_player_teamspawn in the capture zone room.
The door
Place a door between the capture zone and flag room. Give is a name, make it a toggle and remove the touch opens option.
Team Filters
Create a Filter_tfteam entity for each team. Give each one a specific name (like bluefilter and redfilter).
The control point
First, the base. It's a prop_dynamic, with a skin of 0. Give it a name (CPBASE).
Second, the team_control_point entity. Give it a name (like CP). Create two outputs.
OnOwnerChangetoTeam1->CPBASE->SKIN->1
OnOwnerChangeToTeam2->CPBASE->SKIN->2
Third, create a trigger_multiple over the control point. We're using trigger_multiple instead of trigger_capturezone because this is a CTF map, not a CP map. Give it a name, specify the blue team's filter in the filter name. Now create two outputs:
OnStarTouchAll->CP->SetOwner->3
OnStartTouchAll->DOOR->OPEN
Fourth, create another trigger_multiple, but for the red team filter. Create two outputs:
OnStarTouchAll->CP->SetOwner->2
OnStartTouchAll->DOOR->OPEN
The flag
Create a func_capture_zone entity in the capture room.
Create a item_teamflag entity in the flag room. Give it a name (like flag), keep the team to any. Create 2 outputs:
OnCapture->CP->SetOwner->0
OnCapture->DOOR->Close
If you capture the flag, the CP goes back to neutral and the door closes.
I added a few extras, such as a message when the door is closed saying that you must capture the control point. Play around, and let me know if you have any questions. If you want points awarded from the Capture Point, you can have an output pointed at a game_Score entity.
You can download my hammer VMF file here
You can download my playable BSP file here
Create a large two part or three part map. I create an L shaped map, where the control point, capture zone and flag are in seperate rooms. Add a light entity in each room, and a info_player_teamspawn in the capture zone room.
The door
Place a door between the capture zone and flag room. Give is a name, make it a toggle and remove the touch opens option.
Team Filters
Create a Filter_tfteam entity for each team. Give each one a specific name (like bluefilter and redfilter).
The control point
First, the base. It's a prop_dynamic, with a skin of 0. Give it a name (CPBASE).
Second, the team_control_point entity. Give it a name (like CP). Create two outputs.
OnOwnerChangetoTeam1->CPBASE->SKIN->1
OnOwnerChangeToTeam2->CPBASE->SKIN->2
Third, create a trigger_multiple over the control point. We're using trigger_multiple instead of trigger_capturezone because this is a CTF map, not a CP map. Give it a name, specify the blue team's filter in the filter name. Now create two outputs:
OnStarTouchAll->CP->SetOwner->3
OnStartTouchAll->DOOR->OPEN
![cp-flag-trigger.jpg](/proxy.php?image=http%3A%2F%2Fi28.photobucket.com%2Falbums%2Fc216%2Fdrdread%2Ftf2tutorials%2Fcp-flag-trigger.jpg&hash=ddec66664cf8cd61e42606c0ebd7b97c)
Fourth, create another trigger_multiple, but for the red team filter. Create two outputs:
OnStarTouchAll->CP->SetOwner->2
OnStartTouchAll->DOOR->OPEN
The flag
Create a func_capture_zone entity in the capture room.
Create a item_teamflag entity in the flag room. Give it a name (like flag), keep the team to any. Create 2 outputs:
OnCapture->CP->SetOwner->0
OnCapture->DOOR->Close
![cp-flag-flag.jpg](/proxy.php?image=http%3A%2F%2Fi28.photobucket.com%2Falbums%2Fc216%2Fdrdread%2Ftf2tutorials%2Fcp-flag-flag.jpg&hash=cd508b06742c6ff71c0f8bb19bbafdf7)
If you capture the flag, the CP goes back to neutral and the door closes.
I added a few extras, such as a message when the door is closed saying that you must capture the control point. Play around, and let me know if you have any questions. If you want points awarded from the Capture Point, you can have an output pointed at a game_Score entity.
Last edited: