I placed this script in the cylinder part:
function onTouched()
script.Parent.CFrame = CFrame.new(script.Parent.Position.X, script.Parent.Position.Y - 0.2, script.Parent.Position.Z)
end
script.Parent.Touched:connect(onTouched)
When I touch the cylinder part, it's rotation goes from (0, 0, -90) to (0, 0, 0)! How can I prevent this? Thank you!

2 comments
This script is not the source of the problem, simply show all the scripts.
Yes it is. You missed it.