How Do I Fix Flinging?

I have a model that moves with Instance:TranslateBy() and when the player gets on it it will

A

Fling player across map

B

Drop player out

Video:

How do I fix this?

The easiest solution is to add some seat and make the player unable to jump off until the model reach its goal?

I tried that. But it would be nicer if it didn’t need a seat

Maybe you can anchor the player or set Humanoid.PlatformStand to true

How would I make that when the player touches a block?

This depends on what you want.

When the player touches the part, do you want to make the player anchored or set PlatformStand to true?

I want Platform Stand (30 characters)

Make code with a touched event to make humanoid.PlatformStand to true

Here’s some code I put together:

--Put code script inside the part
local part = script.Parent

part.Touched:Connect(function(hit)
    if not hit.Parent:FindFirstChild('Humanoid') then return end --checks for humanoid for the parent of the part hit; will work for NPC's; if there is no humanoid then it returns
    
    local char = hit.Parent
    
    if not game.Players:GetPlayerFromCharacter(char) then return end --checks a character is a player; remove this line of code if you want this to work on NPC's; if there is no player which corresponds to the character then it returns
    
    local humanoid = char:WaitForChild('Humanoid')
    humanoid.PlatformStand = true
end)