For an example of what I'm talking about, please look at that link.

So when I launch my game, it waits 10 seconds, and when it is meant to rotate (which it does), the position of the part goes mental.

My code

script.Parent.Parent.Status.Changed:connect(function()
	if script.Parent.Parent.Status.Value == "Up" then
		for i = 360, 1 do
   			script.Parent.Rotation = Vector3.new(0, i, 90)
   			wait()
		end
	elseif script.Parent.Parent.Status.Value == "Down" then
		for i = 1, 360 do
    		script.Parent.Rotation = Vector3.new(0, i, 90)
    		wait()
		end
	end
end)

while wait() do
	script.Parent.CFrame = script.Parent.Parent.WheelRPos.CFrame
end

1 comment

1

CFrame also contains rotation, so it's setting the rotation back when you do that CFrame while loop.