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