Drivable Train/Tram

Hello! I have just gotten into the ROBLOX Developer forum and I’m glad that I’m here! I’m with a team of builders & scripters that are trying to make our tram/train move on tracks smoothly. I know there IS “TweenService”, but we’re not creating a linear / straight track. We’re planning on making tracks that curve, intersect, and basically what a normal train would do in real life. This tram / train is NOT automatic, it’s operated with a manual driver.

I have tried searching this up on the developer forums, but most of them don’t have enough detail on tracks, bogeys, and how is it going to work. Our team already worked on the structural build even with the bogeys, and this is our outcome without any scripts:


9 Likes

I just realized that the bogeys are unfinished, but currently in the works! That isn’t a major problem though, I’d just like to know how developers script drivable track vehicles. Thanks! :heart::sweat_smile::rofl:

1 Like

This is an amazingly detailed build, I specifically love the front of the tram it looks really good.

3 Likes

These builds are all towards @Greeism. :smiley:
We’re working together to make a functional tram for his projects.

1 Like

This thread could definitely be helpful for you How do I make my minecart stay on the rails?

2 Likes

I don’t know if I can rely on nodes as this will be a drivable vehicle, not automated as said earlier. (Moving the track vehicle is by keybind (W or S). Thanks for the suggestion though!

Hmm okay. The only options, that I know, are to move the train by CFrame:lerp(), Tweening or using Bodymovers but I don’t have any experience with something like this. I think the best option would be to create nodes and to move the train between these. So, if you press W, the train moves closer to one node and so on.

Take a look here:

The responses here summarise most of the options available to you.

1 Like

If that method (which I still use… it’s awesome) doesn’t work because the player can move the vehicle wherever they want, simply using BodyMovers and setting the NetworkOwner of the vehicle to the player usually does the trick for me.

One thing you could do is make the train a Humanoid and animate it that way.

To add onto said statement about our bogey system for the CLRV, we are also looking for a way to implement a “Next Stop” system. I believe the simplest way to achieve this is with blocks embedded in the track with the glider making contact with the blocks to execute functions for said stop. I may be incorrect but it’s just my guess. :slight_smile:

@Coyann @madattak We plan to use BodyVelocity to move the CLRV. We’ll however take this into consideration when designing the rails for the CLRV to run on. Thanks for the suggestions you two!

@dispeller Could you link us some pointers on how to achieve this? Redirecting to a different page on a similar topic within the devforum would most certainly help!

@Coyann @madattak @Intended_Pun @dispeller
Thank you all for the suggestions, we’ll look into it and see if we can try to use one of your ideas and we’ll post again to update our status! :smiley:

1 Like