The CFrame Turret I’m making seems to work fine when moved along one axis, but when it moves along a second axis it seems to rotate strangely and chaotically. It seems I have Monkey Pawed myself with this as the turret can move along 2 axes, it just doesn’t move in the way I hoped.
The problem with your code is that you are assuming that the CFrame of the turret is based on its direction. In reality, it is based on the location of the turret. What you need to do is get the CFrame of the turret and change the direction of the turret to the CFrame direction. local direction = Vector3.new(1,0,0)
game.Workspace.Part.CFrame = CFrame.new(game.Workspace.Part.Position, game.Workspace.Part.Position + direction)