BodyPosition issues with linear tram system

please forgive me for using the word tram… but yeah

Okay, so I’ve been holding off asking for help because I wanna exhaust all my options before coming here, but I have no clue how to actually properly use BodyPositions.

What I’m trying to do is have the tram go back and forth between receiving platform A and B, while stopping at each platform for a set amount of time.

I sort of achieved the wanted result, but I had to set massless to true on the tram itself to do so… which allows players to move it into a position where it’ll stop functioning and ruin this major component of the game. I haven’t actually been able to overcome all the forces without massless set to true either.


Players could also push the tram against the wall, which would result in the player and others falling through the map when attempting to board the tram.

If I turn Dampening to 1500 the tram can no longer be pushed into a compromising position by players, but it’ll slam into the wall and bounce for a bit before actually stopping at the station platform.

The tram is one model held together by a qPerfection weld with the tram floor set as the PrimaryPart.

Here the properties for my BodyGyro and BodyPosition:
image
image

and here is the script that runs it all:

local tram = script.Parent.Parent.Parent
local tramFloor = script.Parent
local pointA = tram.pointA
local pointB = tram.pointB
local bodyPosy = tramFloor.BodyPosition
local interval = 60 -- remember dude its in seconds

while true do
	bodyPosy.position = pointA.Position --far platform
	wait(interval)
	bodyPosy.position = pointB.Position --close platform (to the wall)
	wait(interval)
end

game link: https://www.roblox.com/games/5633579623/tram-be-nice-to-be-please

It’d be awesome if someone could let me know what I’m doing wrong, thanks!

EDIT: A friend helped me fix it, there wasn’t enough force to overcome friction