Trains: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Nesciuse moved page Trains/en to Trains without leaving a redirect: Move en subpage to basepage)
 
(16 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{otherlang2|
{{LanguageBar}}
ru=Trains:ru|}}


This page is about [[Source]] train entities. Train entities move along a predetermined track, and can look represent anything that moves.
{{Abstract Mapping}}
__NOTOC__
Train entities move along a predetermined track, and can represent anything that moves.
 
== Articles ==
* [[Setting up a basic razor train]]


== Entities ==
== Entities ==
Line 20: Line 24:
*{{ent|func_plat}} - Raises or lowers a stopped train (without rotation).
*{{ent|func_plat}} - Raises or lowers a stopped train (without rotation).


== Setting Up a Basic Razor Train ==
[[Category:Hubs]]
 
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
 
You are also going to have to check the following flags aswell: (I made a small change to the texture and size, just ignore that)
http://developer.valvesoftware.com/w/images/f/ff/Trains6.png
 
Next we are going to make our path_tracks so go ahead and make one now. Position it right on top of the tracks and name it path. Then all you have to do after that is hold shift and move it along the tracks. Next create a ambient_generic with the sound of the razor train horn and set it up to be triggered somehow. As in on one of the path_tracks tell it to play the razor train sound on pass. (See Pic)
http://developer.valvesoftware.com/w/images/7/79/Trains4.png
 
Now all you have to do now is tell each path_track to go the speed you want and your done. But wait, what about more cars? You can hold shift on your original prop_dynamic model and drag it to the position you want. Now all that is left is to change the name, leave is parented to the func_tanktrain entity, change the model and resize the block to fit the train.
http://developer.valvesoftware.com/w/images/9/99/Trains5.png
 
Now don't forget to add a player spawn and test out the map. You will also have to add a logic_auto with the following items:
 
On Map Spawn
RazorTrain
StartFoward
 
Our finished product:
http://developer.valvesoftware.com/w/images/f/fc/Trainsfinal.png
 
== Notes ==
* If you want a prop to behave as a train, parent it to an invisible {{ent|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 {{ent|path_track}} by hand. Create the first one, then <code>Shift-drag</code> it to create another; the new one will be automatically linked from the previous one. This works even for inserting new {{ents|path_track|s}} 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 ==
* [[:Category: Level Design]]
 
<!-- all dead
== External links ==
The following SDKNuts tutorials all includes the use of trains:
* [http://sdknuts.net/akg/tutorials/wiseTrains.asp Player Controllable Trains]
* [http://sdknuts.net/akg/tutorials/wiseTrains2.asp HL2 Automated Trains]
* [http://sdknuts.net/akg/tutorials/wiseTrains3.asp HL2 Synchronized Trains]
* [http://sdknuts.net/akg/tutorials/wiseTrains4.asp HL2 Trains and Complex paths]
* [http://sdknuts.net/akg/tutorials/wiseAltpath.asp Alternate Paths]
* [http://sdknuts.net/akg/tutorials/wiseElevators.asp HL2 Elevator]
* [http://sdknuts.net/akg/tutorials/wiseLaser.asp Moving Laser]
-->

Latest revision as of 11:45, 12 July 2024

English (en)Esperanto (eo)Русский (ru)中文 (zh)Translate (Translate)
Abstract Mapping series Discuss your thoughts - Help us develop the articles or ideas you want

Ammunition | List of HL2 Animals and Creatures | Mapping with Antlions | Beams and Lasers | Cables and Ropes | Moving Clouds | Color Theory in Level Design | Combat | Combine | Compression (Source 1) | Doors | Dust, Fog, & Smoke | Elevators | Level Transitions | Environmental Lighting, Sun, Weather, & Outdoors | Explosions | Fire | Half-Life 2 Foliage | Glass & Windows | Headcrab | Health | Ladders | Lighting | Optimization (level design) | Physics | Retinal scanners | Sound and Music | Special effects | Terrain | Trains | Turrets | Water | Weapons | Zombie

Train entities move along a predetermined track, and can represent anything that moves.

Articles

Entities

Main entities

Other entities

Entities not in the FGD