Jailbreak train platform system?

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?
Jailbreak train platform system script problem
Best method to create a moving object that players can stand on?
Moving platform issue
Tween player together with truck?
Need Help With TweenService
How to weld a player to an elevator?
Moving ship bug
Ability to preserve Humanoid momentum
Player camera lagging behind when riding tweened part
How to make Player Move with Model
Make a player stick to a part that is being tweened?
Player falling sliding off moving platform
How can I make players stick to a train?
Making a sideways elevator
How to make smooth moving platform that moves players on it?
How would I make a boat that a player can jump on
Making a player move while standing on a moving part
Player jump on moving unanchored platform, Landed State delay
How to conserve momentum when jumping/falling off moving objects?
How do I make a player move with a part?
How can I move a player on a tweened object?
Addind position to HumanoidRootPart every stepped doesn't allow me to move
Players falling of train
Player Momentum when jumping on moving boat
How I can make a rideable moving platform?
Jumping on a moving object
How do I prevent the player from falling off the part?
I don't know what to call this JUST CLICK!
Is it possible to move a model slowly to another place?
Smooth player standing on the train system?
Smooth player standing on the train system?
Hinge Motor Spinners get out of sync in obby game
Model:SetPrimaryPartCFrame() not moving the player as the model move
Walking in a moving BasePart (plane/spaceship)
Moving platform wont go vertical correctly
Make part move with other part
Make a player stick to a client handled moving object
How to create a moving platform with BodyMovers?
Help in improving the code
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?
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?

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.


Hey, thank you a lot. this worked and I appreciate for your help.