Jailbreak train platform system?

I’m confused. Is this done on the client or server?


Both for replicating others

Client for preserving velocity to stay on the train


So your client is setting your character as fast as possible.

How about other client’s characters? How are they setted?


See what I don’t get, I can’t use CFrame on local scripts.


2 Months later and we still don’t have the answer… :frowning:


Yep, i have no idea on what to do differently.


This is what I do and my version works pretty well.

local Players = game:GetService("Players")
local player = game.Players.LocalPlayer
local RunService = game:GetService('RunService')

local LastTrainCFrame

local Function
local Function2

Function = RunService.Heartbeat:Connect(function()

--------------------------------------------------------------- CHECK PLATFORM BELOW

local RootPart = player.Character.LowerTorso

local Ignore = player.Character

local ray = Ray.new(RootPart.CFrame.p,Vector3.new(0,-50,0))

local Hit, Position, Normal, Material = workspace:FindPartOnRay(ray,Ignore)

if Hit and Hit.Name == "RaftTop" then -- Change "RaftTop" to whatever the moving part's name is

--------------------------------------------------------------- MOVE PLAYER TO NEW POSITON FROM OLD POSITION

local Train = Hit
if LastTrainCFrame == nil then -- If no LastTrainCFrame exists, make one!
	LastTrainCFrame = Train.CFrame -- This is updated later.
local TrainCF = Train.CFrame 

local Rel = TrainCF * LastTrainCFrame:inverse()

LastTrainCFrame = Train.CFrame -- Updated here.

RootPart.CFrame = Rel * RootPart.CFrame -- Set the player's CFrame

LastTrainCFrame = nil -- Clear the value when the player gets off.


Function2 = player.Character.Humanoid.Died:Connect(function()
	Function:Disconnect() -- Stop memory leaks
	Function2:Disconnect() -- Stop memory leaks


In my case, ‘RaftTop’ is the bright, large plank of wood on top of the raft. Slightly hard to see in the video but the player does turn with the platform. The player can jump on while it’s moving and move with it, it works just as the Jailbreak trains do. Also yes, I was testing a raft with no water. I know it looks ugly.

Hope I could help! Feel free to ask any other questions if you need extra help or if something doesn’t work.

How to stop players from falling off moving platform when jumping
Keep a player on top of a volatile moving platform?
Jumping on a moving object
Need help making a moving platform using only scripts
Character jumping on a moving platform
Moving Cframe plane
Good cframe-based train moving system?
Moving Platform issue
Keep player smooth on moving platform?
Best method to create a moving object that players can stand on?
Jailbreak train platform system script problem
How to make Player Move with Model
Make a player stick to a part that is being tweened?
How to weld a player to an elevator?
Player falling sliding off moving platform
Tween player together with truck?
Is it possible to move a model slowly to another place?
How can I make players stick to a train?
Player camera lagging behind when riding tweened part
Ability to preserve Humanoid momentum
Need Help With TweenService
Moving platform issue
Moving ship bug
Attach player to tweening model
Making a player move while standing on a moving part
How to conserve momentum when jumping/falling off moving objects?
Moving platform wont go vertical correctly
How to create a moving platform with BodyMovers?
How can I move a player on a tweened object?
Help in improving the code
Addind position to HumanoidRootPart every stepped doesn't allow me to move
Players falling of train
Player Momentum when jumping on moving boat
Players not sticking to moving platform [2]
Making your character move relative to the part it's standing on for parts being moved with CFrame and TweenService?
I don't know what to call this JUST CLICK!
Making a sideways elevator
Jumping on a moving object
How would I make a boat that a player can jump on
Attach player to tweening model
Smooth player standing on the train system?
Smooth player standing on the train system?
How I can make a rideable moving platform?
How do I make a player move with a part?
Model:SetPrimaryPartCFrame() not moving the player as the model move
How to make smooth moving platform that moves players on it?
Getting a largeish spaceship to move properly with players on board
Need Help Removing The Wall Stick Part of @EgoMooses Wall Stick Controller
How would I make a character move with a part that it is standing on?
Hinge Motor Spinners get out of sync in obby game

Wow. Thank you so much, this thread has gone unnoticed for such a long time and i lost all hopes. Ill be sure to give you credit whenever i use this.


No problem! I’m glad I could help!


Whats funny is that I was literally just looking for this and you posted a solution 40 mins ago lmao

Thanks my dude https://gyazo.com/a7ce4055d9cc3305451c77a15651b76d


Do you have any idea why it doesn’t work for body movers? I seem to get pulled around a lot for some reason and then I get flung off when the plane moves fast https://gyazo.com/3590beb2155a8d7271a4ad77d2ab4e52


I’ve never tried it with body movers so I’m not sure. My only idea is that something could be conflicting with it, because as long as the part is not anchored or welded to another anchored part Roblox tries to keep the player on it themselves.


Yeah I realised that. My current plan is to make a “fake” part that gets put to the position of the floor every second, and then Ill use that for the platform.


Thanks so much. Really helped me out. I noticed that if there is something blocking the ray from hitting the “RaftTop” it won’t move you.

Here is what I did to stop that.

--Replace Ignore with this.
local Whitelist = {} -- Table of Every "RaftTop"  (You could just make a model or folder for it.)

local ray = Ray.new(RootPart.CFrame.p,Vector3.new(0,-50,0))

local Hit, Position, Normal, Material = workspace:FindPartOnRayWithWhitelist(ray,Whitelist)

Hello there! I have been struggling to get this script working properly. I have been testing this out on a boat witch contains of some models not a part. I have not figured out how to get it working and I had been glad to get some help with my problem, since i am not a professional scripter. Every little help works!


It only works if the model is being Cframed.


When I did the improvement. was the game sending many error messages and didn’t stop. The “player” error was a nil value, and when I replaced the variable with “player” it didn’t work.

1 Like

Like below, you have to specify what the player is.

local Players = game:GetService(“Players”)
local player = game.Players.LocalPlayer

1 Like

How do I specify what the player is so everyone who touches it gets Cframed with it? keep in mind that I am not a professional scripter.

1 Like

Try on touched, otherwise i recommend making it a local script inside of the players starter player scripts.