Trains: Difference between revisions
Line 33: | Line 33: | ||
Now change the following items in the list: | Now change the following items in the list: | ||
Name: RazorTrain | |||
Max Speed: 1000 (Or whatever you want) | Max Speed: 1000 (Or whatever you want) | ||
Initial Speed: 700 (Or whatever you want) | Initial Speed: 700 (Or whatever you want) | ||
Move Sound: ambient/machines/razor_train_wheels_loop1.wav (Or whatever you want) | Move Sound: ambient/machines/razor_train_wheels_loop1.wav (Or whatever you want) | ||
First Stop Target: path | First Stop Target: path | ||
== Notes == | == Notes == |
Revision as of 07:34, 15 October 2009
This page is about Source train entities. Train entities move along a predetermined track, and can look represent anything that moves.
Entities
Main entities
- func_tracktrain - The part that moves. Brush-based.
- path_track - A waypoint on the track. Invisible and non-solid.
- func_tanktrain - Train that attacks and dies.
Other entities
- func_platrot - Raises or lowers a stopped train, turning as it changes height (as seen in Half-Life).
- func_traincontrols - Lets players control the train.
- func_trackchange
- func_trackautochange
Entities not in the FGD
- func_train
- func_plat - Raises or lowers a stopped train (without rotation).
Setting Up a Basic Razor Train
First of all start off with where in your map you wish to put your train and get a general idea of how your map will look and how the train will travel in this area. Here is an example, nothing special. http://developer.valvesoftware.com/w/images/3/37/Trains1.png
Next create a standard block with the tools/invisible texture, this will be our actual func_tanktrain entity. Now add a prop_dynamic and go to the model viewer and select your train model, in this case a Half Life 2 Combine Razor Train. Visible in the pic below is the razor train engine and the small block that we have made so far. http://developer.valvesoftware.com/w/images/9/9c/Trains2.png
Now, we are going to give the prop_dynamic model a name, in this case the name is Train_1 we are also going to set the parent to "RazorTrain" we have not made the actual func_tanktrain entity yet but we will! We are also going to no size the small block that we have made to be that shape of the engine and all of the cars. (when we add them)Once you have finished that select the box model and hit ctrl+T and select the entity item to func_tanktrain. http://developer.valvesoftware.com/w/images/2/24/Trains3.png
Now change the following items in the list:
Name: RazorTrain Max Speed: 1000 (Or whatever you want) Initial Speed: 700 (Or whatever you want) Move Sound: ambient/machines/razor_train_wheels_loop1.wav (Or whatever you want) First Stop Target: path
Notes
- If you want a prop to behave as a train, parent it to an invisible func_tracktrain.
- Trains must be constructed facing east (in the Top viewport of Hammer, this is facing right) otherwise they will be pointing the wrong direction in-game. They will turn themselves to face the correct direction.
- You don't need to create each path_track by hand. Create the first one, then
Shift-drag
it to create another; the new one will be automatically linked from the previous one. This works even for inserting newpath_tracks
between existing ones. - For Team Fortress 2 mappers: If you wish to duplicate the trains as seen in CP Well, it is necessary to parent a trigger_hurt to a func_tracktrain, as trains will not normally hurt on touch. To get the "killed by train" icon in the killbar, the damage type must be set to freeze.
See Also