Hl1 train flag means that it allows the player to be on top of it while it moves without it the train to thinks the player is a object that prevents it from moving.
It sounds like your func_tracktrain origin is not in the right place. The func_tracktrain is where it will attach to the track. The origin is the small ball thing you see in the 2D views when you have your brush entity selected, there should be a dotted line leading towards it from your selection if I recall correctly, you can just click and drag it into the place where you want your func_tracktrain to attach to the rail.
What you can do is make several paths like you did, and also give each crow its own destination. The path that you want a crow to take should be the one that has the shortest distance from the crow's starting position to its goal. That's how I've done it if I recall correctly.
Yep. Just use a trigger_multiple or trigger_once depending on your needs. Set up its outputs so that the train moves when the player enters it. If you don't know how outputs work there should be a few tutorials that can teach you that here on TH-cam. Good luck!
Oh one more thing, how can I add custom models to hammer? I have a custom model of a stealth bomber. The idea is I was going to make the stealth bomber like a train, except the train tracks are above the map and invisible so it creates the effect of a bomber flying overhead. Thanks!
@Silwerfish Maybe if it is a special toggle, cause fire once is usually the case with most outputs/inputs (a tick in the corner when you add an output). Instead of "startForward" or "startBackward" maybe it applies to "toggle"? Hey as a idea, maybe you should tell people how to use branches. I think they need some sort of switching outputs that allows it to switch between the branch paths and the 'normal' next path.
@chickenmobile I don't understand what you mean by that first part, but if you want to you could try it out and see if that's how it works. I'll add your idea to the request list, thanks!
Thank you! I assume you have placed info_node entities? To get some info about what's going on, write developer 2 in the console. Then get the NPC to do what you want and bring up the console again, there you should now have a bunch of information that might help you in understanding what's going wrong. Do that and tell me if you manage to figure it out.
I think HL1 train is the tyle of train that when you E-press it you are binded to the entity and move with it, controlling speed with the W and S keys, remember that from HL1?
@TakeBackTheWorld If you make the door a func_tracktrain and go into flags, there is an option that says "HL1 Train that you can check, that might be it.
@TakeBackTheWorld I do remember that. But that's not it, because you can drive the train by default, there's a flag that says something like "not drivable" that you have to check in order to remove that functionality. Perhaps it has something to do with how it behaves on a more basic level? In any case, it's probably not too important. :P
They had an invisible brush entity as the functional part of the train, and then they took a prop_dynamic model entity and parented it to the brush (this makes the prop_dynamic follow the train's movement). Thank you for the stars and the comment. :D
You can't parent the actual spawn point, what you need to do is have the player spawn location be inside of a teleporter volume that will teleport him to a destination, and that destination can be parented to a moving train brush.
That is quite hard to do, I've done it a few times before but getting a custom model into Source can take a bit of work, at least when you haven't done it before. I suggest you try finding a full tutorial on the subject as I can't remember the entire process in my head, and a TH-cam comment surely isn't enough space to describe the whole process either way.
Perhaps an elevator tutorial? It's very similar but there are a lot of added elements that I don't think a lot of people get when looking at written tutorials.
@AguyinaRPG you can make a simple elevator just by following this tutorial, it really depends on how advanced you want the elevator to be. But when you have the basic elevator it's easy to expand from there. I'd rather do a tutorial on parenting and another one on triggering and then let people figure out how to parent a model to the elevator and set up a trigger to make it move. I try to be as general and focused as possible in my tutorials you see.
Hm, I don't think you should need to deactivate the paths, shouldn't you just have to make sure the train starts without moving and then starts moving when you push the button? I'm sorry, it was such a long time since I played around with this stuff so I don't quite remember how everything works with these trains. :(
@dabadguy4273 You should be able to just undo stuff like that. (ctrl - z). Otherwise you might be able to load an old autosave if you have that activated. Also, don't use make hollow. Ever. It can mess things up and doesn't produce optimal brushwork. It's better to just use duplicating, clipping and vertex manipulation.
Good thing you managed to sort it out! This tutorial is for the Source engine. HL1 and CS 1.6 use the GoldSource engine which works differently from the Source engine in many aspects.
@stephenisakeeper I did try it out several times though and that was not the case for me, so I really don't know what it does. If you manage to make it do what it sounds like it's supposed to do, then let me know!
@Silwerfish ...and without having the source code. Thanks for the info. I'm guessing that GMod SEnts are all the same class in hammer, and that GMod is the only game with that feature. Is that correct, or have you no experience with GMod?
I'm making an elevator using this same func_tracktrain, and path_track method. What I can't figure out is how to make a button that takes you to a specific floor when it's pressed. I have 4 different floors the elevator moves to and they all have different spacing between them. Can you or anyone help me out?
Hello Silwer, I am working on my simple, but a fun map and was wondering before i start and do everything and then it wont work, but i was wondering can you make 2 trains and let those trains follow their own paths what i mean is can i make 2 trains that move in their own tracks not in eachotheres
@Silwerfish Do I have to move up every single waypoint tsrget for every brush, or will it just have one waypoint target that will work far all the brushes?
Hm, that is quite odd, I don't really know what might be the issue, I suggest you make sure you follow the tutorial very closely just to make sure you're doing everything the same way I am. If you're unlucky there might have been an update of some sort that broke func_tracktrain.
Hmm i tried to make a brush that moves upwards but when i spawn it always flip over to 90° left... What is this?? I am using portal 2 authoring tools btw..
@cortorboch12 The brush that was blocking it. If you want to I could take a look at the map, there are some problems that are hard to find without looking at the map. Upload your .vmf somewhere and send me a link in a PM, or just send me a PM and we'll work out another way.
I have a problem. im trying to make a train that would start moving by the path when i press a button, or trigger it but it doesnt seem to work. This is how i made it.. I made a logic_auto entitie so that it would set the 2 path_tracks to be disabled when the map starts. And then i added a func_button with the triggers: OnPressed path1 EnablePath OnPressed path2 EnablePath OnPressed train StartForward But it doesnt work! i tried adding other options, but still its not working. I need some help!
@KisukeMoto1 What he did was just move it from one point to the other, pressed enter and then used the cutting tool again to cut another. You should be able to use the cutting tool, its one of the most useful tool in the hammer editor.
i was working on a map, it was pretty nice when i put the skybox in, i pushed control+H to hollow it so i could play on my map... what happend? IT DELETED EVERYTHING IN MY MAP!!!
oh i just forgott..... i got a little problem: i made a map and triggerd an npc to youse a teleporter to another section of the map witch is detached from the rest of the map... after teleportation the npc was ment to go to a rally-point but it keeps standing on the teleportation exit... it's not stuck. tryed the teleporter by myself as info_player_start... how may i fix it?
When I heard your voice in the beginning of the video, I thought you were a bot speaking. Lol. On a serious note, thanks for the tutorial! Great job explaining and got it real well down. :D
That could work, but I don't know if it's possible to do that only though the editor, I think you'd need a mod for the game to do that. however if you could make it work, it would still act like and actually _be_ a hostage.
hay im trying to get crows flying on my map(for gmod and i use css as sdk) it works pretty good but the crows are annoying and don't fly nicely spread so i wanted to make several paths with the branch path options but it seems its ignoring it :s and i tried making another solution by putting 2 logic_relays on the map and trying to make em loop on each other so the tracks get switched every second and im testing it on lights now to see if it works but i can't get it right to restart it just stops
@guyboy625 All entities in the Source engine are pre fabricated and hard coded, yes. So you have to work with what's there, what the mapper can do though is use inputs/outputs to make the entities communicate by sending information to one another and so on. There is a good online reference at "developer valvesoftware com" (replace spaces with dots). I think you can just press F1 when Hammer is open and it'll take you there as well.
Ok, so I get that func_tracktrain and path_track are Source Engine object classes. But they seem extremely prefabricated and single-purposed. I'm guessing that they are hard-coded in every version of the Source Engine, and therefore not customizable without enormously tedious reverse-engineering if you don't have the Source engine's source code. I'm guessing you have to work with what is there, correct? Is there at least an online reference for these objects?
Hello, i wanna know, why my car (I know, a car... Not a train lol) spawns far away from the "track1" point, its everything like you said, but it stills spawning far away. Can you help me? I cant make my mod like this D:
@csguitarsk8dude Then you can for instance make the train start at 0 speed and when you push the button you set the speed of the train to 1 (that means 100% of its max speed).
Oh, I removed it because it didn't work, I forgot to add an annotation about it in the video. I stopped adding them because it was too much work in relation to how many people liked them.
This tutorial helps, but my sound I have on my thing doesn't stop when the func_movetrain reaches the end, and since you skipped passed the sounds, I don't know what to do. x.x
@ZPS0 re: Huh? i have setted the intinial speed to 0, And stil it moves when it spawns. ______ u can use start disanbled if u want it to stop u know :D
@cortorboch12 Hehe, I actually have no idea. :P I guess it's some kind of legacy thing they might have used for Half-Life: Source or something perhaps?
Thanks! I actually tested it because I couldn't find any info on it, it could pass the point any amount of times even with that flag checked, so I really don't know.
Sorry, but I don't make tutorials any longer. I have never seen moving NPCs in CS:S other than the hostages, so unless you've seen it done it's probably not possible.
(Facepalm)... I now seem to understand the problem... I have a mounted machine gun in my helicopter, but it doesn't work... And the origin texture of the gun was guiding the helicopter...
@KillTheGrasshopper In the properties of the prop (you might need to have it be a prop_dynamic), set the parent property to the name of your train brush.
Oh, ok. Well they provide NPCs with information about their surroundings. So they can know where there's cover, interesting places for them to look, if there's a narrow doorway where only one NPC will fit and so on.
Yeah maybe, I suggest you follow the tutorial very closely the first time you do it just to make sure you're doing it right, and then you can start using the knowledge that you learned to create your own stuff.
Hl1 train flag means that it allows the player to be on top of it while it moves without it the train to thinks the player is a object that prevents it from moving.
I was gonna comment that!
@@grande1900 you were 4 years late
@@sirpootsman i was gonna comment that!
@@JustBluu 👽
@@sirpootsmani was gonna comment that
@KisukeMoto1 I use the clipping tool several times. I use the shortcut shift - X here to select the tool quickly.
wow 12 years i hope this legendary dude is alive
I thank you alot for helpful comments!
@JasperTheDoxie That's great to hear! :D
Thanks for letting me know you liked it! ^^
It sounds like your func_tracktrain origin is not in the right place. The func_tracktrain is where it will attach to the track. The origin is the small ball thing you see in the 2D views when you have your brush entity selected, there should be a dotted line leading towards it from your selection if I recall correctly, you can just click and drag it into the place where you want your func_tracktrain to attach to the rail.
Yeah the brush will tilt upwards or downwards by default if there are slopes.
What you can do is make several paths like you did, and also give each crow its own destination. The path that you want a crow to take should be the one that has the shortest distance from the crow's starting position to its goal.
That's how I've done it if I recall correctly.
@cortorboch12 You need to press W or S to make it move when you've activated it with use.
Yep. Just use a trigger_multiple or trigger_once depending on your needs. Set up its outputs so that the train moves when the player enters it. If you don't know how outputs work there should be a few tutorials that can teach you that here on TH-cam. Good luck!
I am not sure what I was doing wrong, but I finally got a train working on my map. Thanks for the help! Have a good one
Oh one more thing, how can I add custom models to hammer? I have a custom model of a stealth bomber. The idea is I was going to make the stealth bomber like a train, except the train tracks are above the map and invisible so it creates the effect of a bomber flying overhead.
Thanks!
@TheSisisspore Yeah if you select several brushes and make them all into one single train entity they will work like one train.
@Silwerfish Maybe if it is a special toggle, cause fire once is usually the case with most outputs/inputs (a tick in the corner when you add an output). Instead of "startForward" or "startBackward" maybe it applies to "toggle"?
Hey as a idea, maybe you should tell people how to use branches. I think they need some sort of switching outputs that allows it to switch between the branch paths and the 'normal' next path.
@chickenmobile I don't understand what you mean by that first part, but if you want to you could try it out and see if that's how it works.
I'll add your idea to the request list, thanks!
Thank you!
I assume you have placed info_node entities?
To get some info about what's going on, write developer 2 in the console. Then get the NPC to do what you want and bring up the console again, there you should now have a bunch of information that might help you in understanding what's going wrong.
Do that and tell me if you manage to figure it out.
I think HL1 train is the tyle of train that when you E-press it you are binded to the entity and move with it, controlling speed with the W and S keys, remember that from HL1?
@TakeBackTheWorld If you make the door a func_tracktrain and go into flags, there is an option that says "HL1 Train that you can check, that might be it.
@TakeBackTheWorld I do remember that. But that's not it, because you can drive the train by default, there's a flag that says something like "not drivable" that you have to check in order to remove that functionality.
Perhaps it has something to do with how it behaves on a more basic level? In any case, it's probably not too important. :P
@cortorboch12 I know that the player can block it at least, you could just test hiding the other brush to see if that is the problem.
@pakrantz I'm not saying it's impossible by any means, it would just take a good amount of time to set it all up.
They had an invisible brush entity as the functional part of the train, and then they took a prop_dynamic model entity and parented it to the brush (this makes the prop_dynamic follow the train's movement).
Thank you for the stars and the comment. :D
You can't parent the actual spawn point, what you need to do is have the player spawn location be inside of a teleporter volume that will teleport him to a destination, and that destination can be parented to a moving train brush.
That is quite hard to do, I've done it a few times before but getting a custom model into Source can take a bit of work, at least when you haven't done it before. I suggest you try finding a full tutorial on the subject as I can't remember the entire process in my head, and a TH-cam comment surely isn't enough space to describe the whole process either way.
Perhaps an elevator tutorial? It's very similar but there are a lot of added elements that I don't think a lot of people get when looking at written tutorials.
not if you manage to replace the mesh , but well idk if that possible and the hostage has animations to it. just a thought
Hey can you like make it so the train moves ONLY when you step on a certain spot in the map?
@AguyinaRPG you can make a simple elevator just by following this tutorial, it really depends on how advanced you want the elevator to be. But when you have the basic elevator it's easy to expand from there.
I'd rather do a tutorial on parenting and another one on triggering and then let people figure out how to parent a model to the elevator and set up a trigger to make it move. I try to be as general and focused as possible in my tutorials you see.
Hm, I don't think you should need to deactivate the paths, shouldn't you just have to make sure the train starts without moving and then starts moving when you push the button?
I'm sorry, it was such a long time since I played around with this stuff so I don't quite remember how everything works with these trains. :(
@TheSisisspore If you select all the brushes and turn them all into one train then they will stay in their shape.
@dabadguy4273 You should be able to just undo stuff like that. (ctrl - z). Otherwise you might be able to load an old autosave if you have that activated.
Also, don't use make hollow. Ever. It can mess things up and doesn't produce optimal brushwork. It's better to just use duplicating, clipping and vertex manipulation.
Good thing you managed to sort it out! This tutorial is for the Source engine. HL1 and CS 1.6 use the GoldSource engine which works differently from the Source engine in many aspects.
@stephenisakeeper I did try it out several times though and that was not the case for me, so I really don't know what it does. If you manage to make it do what it sounds like it's supposed to do, then let me know!
@Silwerfish ...and without having the source code. Thanks for the info. I'm guessing that GMod SEnts are all the same class in hammer, and that GMod is the only game with that feature. Is that correct, or have you no experience with GMod?
could i make an incline like make the track go up and it will go in that incline degree angle thing?
Is it possible to tie a Spawn point to a moving train brush? I've seen it done I'm just wondering if I'm heading in the right direction.
I'm making an elevator using this same func_tracktrain, and path_track method. What I can't figure out is how to make a button that takes you to a specific floor when it's pressed. I have 4 different floors the elevator moves to and they all have different spacing between them. Can you or anyone help me out?
Hello Silwer, I am working on my simple, but a fun map and was wondering before i start and do everything and then it wont work, but i was wondering can you make 2 trains and let those trains follow their own paths
what i mean is can i make 2 trains that move in their own tracks not in eachotheres
@Silwerfish Do I have to move up every single waypoint tsrget for every brush, or will it just have one waypoint target that will work far all the brushes?
If I group multiple brushes together, will they become one big train?
Hm, that is quite odd, I don't really know what might be the issue, I suggest you make sure you follow the tutorial very closely just to make sure you're doing everything the same way I am. If you're unlucky there might have been an update of some sort that broke func_tracktrain.
@ZPS0 That's odd, is the new train speed on the path_track set to 0 as well? Have you tried setting the max speed to 0 also?
Hmm i tried to make a brush that moves upwards but when i spawn it always flip over to 90° left... What is this??
I am using portal 2 authoring tools btw..
@cortorboch12 The brush that was blocking it. If you want to I could take a look at the map, there are some problems that are hard to find without looking at the map. Upload your .vmf somewhere and send me a link in a PM, or just send me a PM and we'll work out another way.
I have a problem. im trying to make a train that would start moving by the path when i press a button, or trigger it but it doesnt seem to work. This is how i made it..
I made a logic_auto entitie so that it would set the 2 path_tracks to be disabled when the map starts. And then i added a func_button with the triggers:
OnPressed path1 EnablePath
OnPressed path2 EnablePath
OnPressed train StartForward
But it doesnt work! i tried adding other options, but still its not working. I need some help!
I keep trying to make a train, but nothing works. When i create func_tracktrain and edit the values, it disappears.
@KisukeMoto1 What he did was just move it from one point to the other, pressed enter and then used the cutting tool again to cut another. You should be able to use the cutting tool, its one of the most useful tool in the hammer editor.
i was working on a map, it was pretty nice when i put the skybox in, i pushed control+H to hollow it so i could play on my map... what happend? IT DELETED EVERYTHING IN MY MAP!!!
oh i just forgott..... i got a little problem:
i made a map and triggerd an npc to youse a teleporter to another section of the map witch is detached from the rest of the map... after teleportation the npc was ment to go to a rally-point but it keeps standing on the teleportation exit... it's not stuck. tryed the teleporter by myself as info_player_start... how may i fix it?
@guyboy625 You can't add custom entities without programming in C++.
Nice tut.
BTW "Fire Once" allows the train to pass this point only once.
When I heard your voice in the beginning of the video, I thought you were a bot speaking. Lol.
On a serious note, thanks for the tutorial! Great job explaining and got it real well down. :D
You do a wonderful job. I also like how you use annotations to allow me to watch the video in low quality and still see it. Keep up the great work :D
That could work, but I don't know if it's possible to do that only though the editor, I think you'd need a mod for the game to do that. however if you could make it work, it would still act like and actually _be_ a hostage.
hay im trying to get crows flying on my map(for gmod and i use css as sdk) it works pretty good but the crows are annoying and don't fly nicely spread so i wanted to make several paths with the branch path options but it seems its ignoring it :s and i tried making another solution by putting 2 logic_relays on the map and trying to make em loop on each other so the tracks get switched every second and im testing it on lights now to see if it works but i can't get it right to restart it just stops
@guyboy625 All entities in the Source engine are pre fabricated and hard coded, yes. So you have to work with what's there, what the mapper can do though is use inputs/outputs to make the entities communicate by sending information to one another and so on.
There is a good online reference at "developer valvesoftware com" (replace spaces with dots). I think you can just press F1 when Hammer is open and it'll take you there as well.
oh and btw when you make 2 trains do they work the same way?
FINALLY! AN UNDERSTANDABLE TUTORIAL! I finally got my map to do what I wanted it to do! :D Thanks
Are there scripting capabilities in the Source Engine to add custom Entity classes, or is that GMod only?
I'm sorry, I don't understand what you mean, what is "havver cameha"?
You can make two trains that work differently. If you want them to work the same way you just give them the same settings. :)
@guyboy625 I don't have any experience with gmod, but that might be the case, it's a gmod specific thing anyhow.
Ok, so I get that func_tracktrain and path_track are Source Engine object classes. But they seem extremely prefabricated and single-purposed. I'm guessing that they are hard-coded in every version of the Source Engine, and therefore not customizable without enormously tedious reverse-engineering if you don't have the Source engine's source code. I'm guessing you have to work with what is there, correct? Is there at least an online reference for these objects?
TUTORIAL REQUEST:
Can you make a tutorial on how to create code for opening door ? Like this in map zm_dd_v1 if you played it.
@Jacc0s Thanks for the suggestion!
Hello, i wanna know, why my car (I know, a car... Not a train lol) spawns far away from the "track1" point, its everything like you said, but it stills spawning far away.
Can you help me? I cant make my mod like this D:
I know this request is a bit tricky but can you make a tutorial for general tips for faster mapping and making a map feel more detailed?
@csguitarsk8dude Then you can for instance make the train start at 0 speed and when you push the button you set the speed of the train to 1 (that means 100% of its max speed).
@LauwereysM No, the game won't show up in the games list.
Thank you!
Any requests? :)
Oh, I removed it because it didn't work, I forgot to add an annotation about it in the video.
I stopped adding them because it was too much work in relation to how many people liked them.
This tutorial helps, but my sound I have on my thing doesn't stop when the func_movetrain reaches the end, and since you skipped passed the sounds, I don't know what to do. x.x
@ZPS0
re: Huh? i have setted the intinial speed to 0,
And stil it moves when it spawns.
______
u can use start disanbled if u want it to stop u know :D
can I connect multiple blocks to one train so I have a real train?
can't you attach some objects to hostage so it looks like other type of NPC ?
I'm glad you liked it! Good luck with making your train! :)
Huh? i have setted the intinial speed to 0,
And stil it moves when it spawns.
@cortorboch12 Hehe, I actually have no idea. :P
I guess it's some kind of legacy thing they might have used for Half-Life: Source or something perhaps?
I'll add your request to the request list.
Thank you!
can u make a tutorial of prop elevator?
@chickenmobile I tried that, that is not the case.
Want a tutorial on info_hint entities? I'll add it to the list!
GREAT tutorial, nice slow talking, good graphs and good explaining :D kudos
Thanks!
I actually tested it because I couldn't find any info on it, it could pass the point any amount of times even with that flag checked, so I really don't know.
@jeffjohnvol Put a nodraw brush under it, then tie the nodraw to func_tracktrin
tutorial for making choregraphy in maps please, all the others are jibberish
Ah, shift-Z will maximize the current viewport, do it again to go back. Press ctrl-A to reset the viewport sizes.
I hope this helps! :)
Thank you!
I try to make my tutorials as accessible as possible and I'm happy to hear it's appreciated. :)
Sorry, but I don't make tutorials any longer. I have never seen moving NPCs in CS:S other than the hostages, so unless you've seen it done it's probably not possible.
Hi! I'm afraid I don't make tutorials any longer, sorry!
Thank you very much for making this video! Helped me out alot!
Good to hear, glad I could help!
Where is download links to VMF?
very good tutorial, all explained well and no bullshit! keep it up man know i see how easy creating train tracks is :D!
Is it possible to make this but with a prop instead of a brush ? How is it possible to tie the brush and the prop so the prop moves with the brush ?
I don't remember, so long since I worked in Hammer now!
That would be pretty advanced, there might be a simple solution, but not one that I'm aware of.
(Facepalm)... I now seem to understand the problem... I have a mounted machine gun in my helicopter, but it doesn't work... And the origin texture of the gun was guiding the helicopter...
Awesome tutorial! I love your Swedish accent :) I love Sweden, I visited last summer. Keep it up buddy!
@KillTheGrasshopper In the properties of the prop (you might need to have it be a prop_dynamic), set the parent property to the name of your train brush.
Oh, ok.
Well they provide NPCs with information about their surroundings. So they can know where there's cover, interesting places for them to look, if there's a narrow doorway where only one NPC will fit and so on.
Yeah maybe, I suggest you follow the tutorial very closely the first time you do it just to make sure you're doing it right, and then you can start using the knowledge that you learned to create your own stuff.