nyuuzyou/wikis huggingface dataset:
TF2/Adding details

Now that you have the mechanics of your spawnroom down, now it's time to add some details. You will be using the entity prop_static quite a lot (but not too much) during this tutorial.
==Getting started==
What you want to first is make a point entity somewhere in your spawnroom. Make sure it is a prop_static, then double click it and click World Model. There will be a big list shown. The folders that I find spawnroom props are in the folders props_spytech and props_gameplay. Props that are common are usually towel racks, clocks, benches, and a whole lot more.
Please note that some props have different skins. If a prop is colored red/blue, but you're working on a blue/red spawnroom, you can open up the properties for the prop, then change the property Skin to 1.
==Lights==
If you're ever going to make a TF2 map, the first thing you'd want to do is have lighting. If you followed the previous tutorials, lights were never made. First, make a prop_static. When changing the world model, go to the folder props_lights. This has all sorts of light models included, and is very useful. After you have created your light, make a light_spot under it. Don't put it inside the prop itself, or the light may not cast light at all. Point it downward, or change the angles of it in the 2-D view(s) until it points where the prop points. Now you can edit the light's properties to your liking.
If you followed the tutorials correctly, your spawnroom could look something like this.
TF2/Creating Respawning Dispensers

== Create Dispensers ==
Start by placing a few obj_dispenser entities in your map. Name the first "spawned1", the second "spawned2", and so on.
== Create point_template ==
Add an equal number of point_template entities as you have dispensers. Set 'Name' to "template1", "template2", etc. Set 'Template1' to the matching dispenser, so point_template will have 'Template1' value "spawned1". In the 'Flags' tab, tick "Don't remove template entities" to make sure the dispensers spawn on start-up.
== Create env_entity_maker ==
Create an equal number of env_entity_maker entities, one entity per dispenser. Set 'Name' to "spawner1", "spawner2", etc. Set 'Point_template To Spawn' to the matching point_template, so env_entity_maker "spawner1" will have 'Point_template To Spawn' value "template1".
== Dispenser Outputs ==
On the output tab for each dispenser, add these values with the corresponding numbers:
 
:My output named: OnDestroyed
:Target entities named: template1
:Via this input: ForceSpawn
:After a delay in seconds of: 10
OnDestroyed is not one of the selectable outputs, so Hammer will say this is invalid. Ignore that, it will work in game. Adjust the delay to the number of seconds you want the dispenser to take to respawn.
Now, when your map loads, there should be a set of dispensers, which, when destroyed, make another one spawn in its place.
== See also ==
*Creating Respawning Sentries
Category:Tutorials 
Category:Level Design
Category:Team Fortress 2
TF2/Making an Arena map

is a gamemode for that came along with the . In this gamemode, you don't respawn until your team wins or loses. The goal is to kill everyone on the enemy team or 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 article will tell you how to set up the Arena gamemode for your map.
=Arena Gamemode Entities= 
First, we'll need an entity to check when a team captures the center control point.
*
::
Property Name	Value
Name 	master_control_point
*
This entity will be used to send an output when a round starts and when the control point is enabled. Specify the amount of seconds you want before it's activated here. 60 is the default setting.
::
Property Name 	Value
CapEnableDelay	60
Now add the following outputs to it:
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnCapEnabled 	cap_flag 	ShowModel 	<none> 	0.00 	No
	OnArenaRoundStart	relay_round_start	Trigger 	<none> 	0.00 	No
	OnCapEnabled 	relay_cap_enable 	Trigger 	<none> 	0.00 	No
The first output displays the model for the control point when it has been enabled. The other two triggers the relays for the round start and control point activation.
*
This will be used for outputs when the round starts.
::
Property Name	Value
Name 	relay_round_start
*
This will be used for outputs when the control point is enabled.
::
Property Name	Value
Name 	relay_cap_enable
That's about it for the basic gamemode.
== Control point setup ==
Now we'll set up the center control point entities.
*
This is the base model for the control point. It will be configured to change skin when a team captures it.
::
Property Name	Value
World Model 	models/props_gameplay/cap_point_base.mdl
Name 	prop_cap_1
*
This is the control point.
::
Property Name 	Value
Name 	cap_flag
Print Name 	#Arena_cap
Index 	3
BLUE model bodygroup	0
*Check the "Start with model hidden" flag. This is because it will be displayed when the control point is enabled
*
This is the trigger area, that will let the teams capture it after it's enabled.
You can modify these values to suit your map.
::
Property Name 	Value
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
::
	My Output 	Target Entity	Target Input	Parameter	Delay	Only Once
	OnCapTeam1	prop_cap_1 	Skin 	1 	0.00 	No
	OnCapTeam2	prop_cap_1 	Skin 	2 	0.00 	No
That's it!
It should be working now. Don't forget to add a spawnroom if you want to try it out. You might want to add a relay_round_start to trigger the spawndoors to open.
Now, if you load your map, you will notice the server will keep you in the spawn area as it waits for more players to join. To fix this, open up the console and type sv_cheats 1;bot. This will add a bot to the server and let you playtest the map. You haven't made the bot do anything though. They will just stand in spawn and do nothing
== See also ==
* Team Fortress 2 Level Creation
Category:Level Design
Making
TF2/Making non-standard maps "Rotation Friendly"

A common problem with many maps which are not standard gametypes (such as duels) is that they will reach the 0:00 timer countdown, but nothing happens after that. While some people may want the map to just continue, there are some events where adding rotation friendliness to maps will be quite simply, helpful.
This article does not cover how to do winning in a similar way as maps such as "Protect the Files", which triggers a victory when their slider reaches the top of a tower; instead, it will only teach how to do simple methods of allowing the map to end.
This article takes into consideration that you have placed a team_round_timer entity in your map and have set it up properly. This article also takes into consideration that you have a basic knowledge of how inputs/outputs work.
__TOC__
==Deciding how your map ends==
You first need to consider the type of end you want to your match. There are two methods by which you can do this; either by Sudden Death, which ensures one team will be able to win, or by Stalemate, where neither team will win. You should use Sudden Death when you have a map such as a duel map, and you want one team to win. You should use Stalemate instead if you cannot figure out a way of declaring a winner, or if your gameplay simply does not involve a winner in the first place.
==Sudden Death==
:Mumble... test if it works or not later... mumble...
First, place a game_round_win entity somewhere within your map. The following properties need to be configured. The rest you can change yourself.
::
Property Name 	Description 	Value
Name 	The name of the entity 	trigger_sd
TeamNum 	The team this entity belongs to (0 - any, 2 - RED, 3 - BLU) 	0
force_map_reset	Force the map to reset during the force respawn after the round is over	Yes
Now then, just add an output to your team_round_timer entity as follows:
::
	My Output 	Target Entity	Target Input	Parameter	Delay	Only Once
	OnFinished	trigger_sd 	RoundWin 	<none> 	0.00 	No
==Stalemate==
:Note: You don't need a team_round_timer here. Works perfect for any deathmatch map.
This is the most simple way. All you need is logic_auto and tf_gamerules (set the name "gamerules") entities and one output from logic_auto:
::
	My Output 	Target Entity	Target Input 	Parameter	Delay	Only Once
	OnMapSpawn	gamerules 	SetStalemateOnTimelimit	1 	0.00 	No
==Stalemate for CP maps==
:Note: With this, TF will treat your map as a Control Point one. This may or may not cause issues depending on what your map is.
You will need a team_control_point_master somewhere in your map. Set the options to whatever you want, but make the name trigger_stale. Now then, an output to team_round_timer...
::
	My Output 	Target Entity	Target Input	Parameter	Delay	Only Once
	OnFinished	trigger_stale	SetWinner 	0 	0.00 	No
Making
TF2/Modifying the Respawn Time

By default, there is a delay of up to 20 seconds between death and respawn in Team Fortress 2. However, the level designer can designate a custom respawn time for a map, and can even set different respawn times for each team. Remember, spawn time can make or break a map!
== Dealing with Spawn Times ==
Some things you may want to consider before making spawn time adjustments are:
*Make sure the entire layout of your map is complete. It makes no sense to do this until everything is finalized.
*Measure the time it takes to reach a goal with every class. While this takes time to do, it can make spawn times much more realistic based on the goal the team should be after. 
*Balance out the time it may take for a goal to be captured, based on the time it takes for the opposite team to re-spawn, and then travel to the goal. Your ideal solution is to have the spawn time based on half of the goal capture time. However this might also change based on how far a team might need to travel to actually get to a goal.
*Always make it fair! It's almost never a good idea to have one team spawn faster then the other. If so, make them work for it.
After considering all this you can adjust your spawn times to better match how each team should spawn and handle a goal. Whether that be a flag or capture point, the ideal spawn time should always start off low and become longer if a team loses more of it's objectives.
== Editing Spawn Times ==
To start off you'll need a tf_gamerules in the map. Its exact location doesn't matter. This is the entity that controls most of how the gameplay in your map plays out.
You can also edit the respawn time based on which mode of gameplay your map will incorporate. A good example is modifying the respawn time based on capture points, which is briefly discussed in the next section below.
== Capture Area ==
Based on a capture area, much like a control point, you can then edit the spawn time based on a team capturing a control point.
== See also ==
*Team Fortress 2 Level Creation
Modifying
TF2/Respawn Areas

A respawn area is a section of the map where players will respawn after they are killed and the respawn timer expires. Players in a friendly respawn area will also be able to change their class at will, without dying. For this tutorial, we will create a respawn area for the RED Team.
__TOC__
== Basic respawn areas==
This is the simplest respawn area, similar to those found on ctf_2fort. All respawn areas are variations on this format.
=== The func_respawnroom ===
First, create a brush at least 96 units high that touches the floor of the soon-to-be respawn area and stretch out the sides of the brush so they touch the walls inside the room. Tie the brush you just made to the func_respawnroom brush-based entity. Its material should be tools/toolstrigger. Set its team to RED and its Name to something like respawn_red_01.
=== The info_player_teamspawns ===
Next, create an info_player_teamspawn in your room, set its Team property to RED, and name it something like: spawnpoint_red_01. Then, shift-drag to copy this spawnpoint to create however many spawnpoints you want in this room, making sure each one falls inside your func_respawnroom brush. We'll make 12 spawnpoints for our example. Make sure there is a tiny bit of space between the spawnpoint and the floor, or they won't work properly.
And that's it, you have a working respawn area for the RED team!
== Design theory ==
*A starting spawn area for a round should have at least 16 spawnpoints to support a 32 players game, this keeps two players from spawning in the same exact location. You can lower this number for forward spawn rooms in Control Point maps.
*Teamspawns and func_respawnrooms should have numbered (or lettered) Name properties for team and location to make them easier to keep track of. This not only helps identify which entity spawns in what spawnroom, but is also useful for debugging purposes.
*Respawn areas are often accompanied by Resupply Areas, Team-Specific Doors, and Team-Specific Barriers, but none of these are strictly required. Such combinations are commonly referred to as respawn rooms.
*NO Resupply Locker in Mann VS. Machine
== See also ==
*Creating a Spawnroom
* Team-Specific Barriers
* Team-Specific Doors
* Resupply Areas
*Team Fortress 2 Level Creation
Category:Level Design
Category:Team Fortress 2
Category:English
TF2/Round time

Time is a precious thing, without it, a map could never end, but with it, you can do amazing things.
__TOC__
== Why time is important ==
Time can change the outcome of a match, and it can make it completely unbalanced.
Too little time will make the defensive side of a map easier to win with, while too much time will give the offensive side too much time to complete the objective, making constant defense hard. For example, imagine Dustbowl with 30-minute round times...
With that in mind, make sure to adjust the round time until it isn't too challenging for either team.
==Before you start==
#Place the team_round_timer anywhere on the map. This entity controls the round time, so it's very important!
#Name the entity something, a suggestion would be roundtimer.
==Setting up time==
=== Setup Timer ===
To create setup time (the time before the round starts), all you need is a team_round_timer entity.
#Open up the Properties of team_round_timer.
#Change setup_length (Setup time length) to the time of the setup period (in seconds). 
#Remember to change Start Paused to No.
ADVICE: Do not make the setup time extremely long, anything above 2 minutes is too long!
===Adding (or Subtracting) time===
This simply involves using the AddTime input into the team_round_timer entity (that I assume you have placed somewhere).
#On the entity you want the output to come from, type in the name of the team_round_timer entity (which you should have named).
#On the "Via this input" section, enter AddTime.
#Enter the number of seconds you want to add/subtract in the "With a parameter override of" section (I assume entering negative numbers will subtract time).
#(Optional) Place the delay between the time the input starts and when it is activated in the "After a delay in seconds of" section.
===Adding (or Subtracting) time for a team===
This is the same as the previous one, except that instead of a generic "Time has been added message", there will be something along the lines of "Congratulations. We have been awarded additional time" for the team receiving time, and "The enemy has received addition time!" for the other team. Use the input AddTeamTime. For the parameter override, type 2 for red or 3 for blue along with a space before the time to add, e.g. 3 300
AddTeamTime is commonly used for the Attack/Defend Control Points and Payload goal systems.
===Setting time specifically===
Using the SetTime input, you can set the time to any specific time you want.
#On the entity you want the output to come from, type in the name of the team_round_timer entity (which you should of named).
#On the "Via this input" section, enter SetTime.
#Enter in the time you want to set it to in seconds.
#(Optional) Place the delay between the time the input starts and when it is activated in the "After a delay in seconds of" section.
SetTime is commonly used for the Symmetric Control Points goal system.
==See also==
Team Fortress 2 Level Creation
Round
TF2/Setting the cap point layout

From the Hammer editor: Cap Layout, a string that tells the HUD how to lay out the cap points. It should be a string with indexes of cap points separated by commas to denote a new line. So 2,0 1 would create a pyramid, with cap point 2 on the top and cap points 0 & 1 on the bottom.
The cap layout value in the team_control_point_master entity does not change anything other then the layout of the control points on the HUD.
==General guidelines==
For the three cap layout examples below, assume that you're dealing with a three control point map with the team_control_point entities having these index settings: 
 0 = Red's Final Control Point
 1 = Neutral Center Control Point
 2 = Blue's Final Control Point
*The cap layout box is blank by default, by leaving it blank, the control points will be laid out on the HUD in a line from left to right, least to greatest, by order of their assigned index values. With a blank cap layout, the HUD would look like this in-game:
*You can rearrange the order of the control points in the HUD by altering the order of their index values in the cap layout box
:{|	Using:	
 2 0 1	for your cap layout would give you this instead of the above:
|}
*The control points can also be arranged in a vertical layout on the HUD by separating the index values with commas; all values to the right of the comma would lie underneath the values to the left of the comma.
:{|	If you had	
 0,1,2	for the cap layout, you would see this in-game:
|}
==More examples==
:
  Cap layout setting  	In-game appearance
 0 2,1 	
 1 3,0 2 4 	
 2,0 1 3 4 	
 0 1,2,3 4 	
 0,1 2 3,4 	
Setting
TF2/Setup Gates

Setup Gates are orange-colored gates that open for the attacking team on Control Point and Payload maps once the setup timer ends.
== Create the Props ==
=== Door Frame ===
First, place a , and set it to props_gameplay/door_grate001_frame.mdl, to size your doorway correctly. Next, create a second and set it to props_gameplay/door_grate001_floorplate.mdl. Align the floorplate with the bottom of the door frame, and copy it rotate it for the top of the doorway.
=== Door Grates ===
*Create a and set the model to props_gameplay/door_grate001_top.mdl.
::
Property Name 	Description 	Value
World Model 	The model of the entity 	props_gameplay/door_grate_001_top.mdl
Disable Shadows	Self Explanatory 	Yes
Name 	Self Explanatory 	grate_prop_top
Collisions 	Type of collisions for this model	Not Solid
*This is your grate top, align it with the top of the door frame.
*Copy this model and change the model to props_gameplay/door_grate_001_bottom.mdl and the name to grate_prop_bottom.
*This is your grate bottom, align it with the bottom of the door frame.
== Door Entity Setup ==
=== The Func_Door's ===
*Create a brush as close to the size of the top grate model as possible. Texture it metal/imetal001b or any other metal texture.
*Tie this brush to the entity.
::
Property Name 	Description 	Value
Name 	Self Explanatory 	grate_door_top
Render Mode 	Self Explanatory 	Dont Render
Disable Receiving Shadows	Self Explanatory 	Yes
Disable Shadows 	Self Explanatory 	Yes
Speed 	Rate at which the door opens	300
Delay Before Reset 	Set to -1 to stay open 	-1
Move Direction 	Direction Door Opens 	Up
*Open the Flags tab and uncheck Touch Opens, so that players cannot prematurely open the gates by touching them.
*Copy this func_door and drag it to cover the bottom grate. Set the name to grate_door_bottom. Change the Move Direction parameter for the new door to Down.
=== Parenting the Props ===
*Set the Parent parameter of the top grate model (grate_prop_top) to grate_door_top.
*Likewise, parent the bottom grate model to grate_door_bottom.
=== Timer Setup ===
This tutorial assumes you know how to set up a correctly.
*Select your and select the Outputs tab.
::
	My Output 	Target Entity 	Target Input	Parameter	Delay	Only Once
	OnSetupFinished	grate_door_top 	Open 	<none> 	0.00 	No
	OnSetupFinished	grate_door_bottom	Open 	<none> 	0.00 	No
== Conclusion ==
You should now have one setup gate that opens at the end of the setup timer.
== See also ==
* Team Fortress 2 Level Creation
Category:Level Design
Setup
TF2/Team-Specific Barriers

Category:Level DesignCategory:Team Fortress 2
The entity creates team-specific barriers that are normally used to keep would-be spawnkillers out of respawn rooms, but they could be used anywhere you want to limit access to one team. This type of barrier is invisible to the friendly team, but it is usually made visible to the enemy. It will block the movement of the enemy team, but not their gunfire.
==Tutorial: Respawn Area Barriers==
Team-Specific Barriers are made with the func_respawnroomvisualizer brush-based entity, which requires a to tell it which team to allow through. 
In this tutorial, we will make a team-specific barrier for a RED respawn area, which will keep BLU players out. Make sure you have a func_respawnroom with its Team set to Red and a unique Name value somewhere on your map before continuing.
First, create a func_respawnroomvisualizer brush-based entity with the material tools/toolsnodraw in the doorway of the spawn area. This will be the barrier itself. Set its Associated Respawn Room property to the name of your RED func_respawnroom. The example map uses red_spawn.
Next, using the texture application tool (), select the face of the func_respawnroomvisualizer brush that faces away from your respawn room. Set its material to overlays/no_entry. You may also want to align it to the center of the brush. The fastest way to do so is by pressing either "Fit" or "C" in the "Justify" part of the Face Edit Sheet.
You should now have a barrier that will stop the BLU team, but not the RED team!
Download the demo map here: Download Here 
== Design Theory ==
=== Materials === 
You can assign a visible material to one or more sides of the brush to make it visible to the enemy team. Usually, the overlays/no_entry material is used. You may be able to achieve other effects by using various materials. Not all materials will fade over distance like overlays/no_entry does, resulting in a solid wall that only exists for one team!
== See also ==
*Team-Specific Doors
*Respawn Areas
* Team Fortress 2 Level Creation
TGAtoDUDV

==More Info on DUDV Materials==
Du/dv_map
==Summary==
A Third party program designed to move TGA's into a DuDv format, without the need of having Steam to be running.
==Usage==
* Download the application
* Place the Application in the same folder as your materials. (Optional)
* Open the TGAtoDUDV.exe and it will ask you to choose a TGA file to convert.
* Double click the file you want to convert (Sorry no batch support as of yet)
* A message should appear saying "Sucess! Your new DUDV map was saved to ..."
* The new DUDV texture will have the appended _dudv to the end of the filename.
For best results, Convert a pre-ready Normal Map with this program
==See also==
* Normal2dudv - utility to convert normal maps to dudv maps (Requires steam running)
* Height2Normal - utility to convert height maps to normal maps
----
==Credits==
* File published and coded by Jenkins08.
* Using codes from ATI Technologies Inc..
* Compiled using VS2008.
Category:Material System
Category:Tutorials
Category:Third Party Tools
Category:Non-Steam Applications