while true do script.Parent.Rotation = script.Parent.Rotation + Vector3.new(0,15,0) wait(.1) end
I have my script, and it works for 2 seconds until it stops and rapidly moved side to side. I've tried doing it as a for loop, but that doesn't work either. Why is it not working?
It has to do with vectors constraining to the world axis so that once it reaches the "limit" it's actually going -15 on the y axis, making it teeter back and forth.
The answer is to use CFrame instead: script.Parent.CFrame = script.Parent.CFrame * CFrame.Angles(0,15,0)