I've made a loop to try get the lerp() function to work, but it doesn't do anything.
wait(2)
print("Moving") --Prints
for i = 0,1,0.1 do
script.Parent.Plat.Middle.CFrame:lerp(script.Parent.Floors.Floor2.CFrame,i)
wait()
end
print("Stopped") --Prints almost immediately
wait(5)
print("Moving")
for i = 1,0,-0.1 do
script.Parent.Plat.Middle.CFrame:lerp(script.Parent.Floors.Floor1.CFrame,i)
wait()
end
print("Stopped")
For reference, I replaced the print with warn to get timing
22:47:34.631 - Moving
22:47:35.003 - Stopped

7 comments
Try increasing the wait, since it is very small, and may appear to complete instantly to human eyes (also, running a test in studio usually makes you miss out on a second or two of scripts).
^ Sadly, not the case.
This should work then. There is nothing that could possibly break this. The loops is obviously running - maybe there is something preventing the part from moving?
It's CanCollide False, unless it's just once again one of ROBLOX's glitches...
I use lerp all the time for CFrame animations. I'm not having any trouble with it. The code looks like it should work fine.
You have to define the cframe as the lerp. Say script.Parent.Plat.Middle.CFrame = script.Parent.Plat.Middle.CFrame:lerp(script.Parent.Floors.Floor2.CFrame,i) and you should be good to go
^ Danke