Simple AI problem

I have the script :

var target : Transform;
var damp = 5.0;
var speed = 3.0;

function Start () {
	// Auto setup player as target through tags
	if (target == null  GameObject.FindWithTag("Player"))
		target = GameObject.FindWithTag("Player").transform;
}

function Update () {
	if (target  Vector3.Distance(transform.position, target.position) < 30) {
		var rotate = Quaternion.LookRotation(target.position - transform.position);
		transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp);
		
		var controller : CharacterController = GetComponent(CharacterController);
		
		var forward : Vector3 = transform.TransformDirection(Vector3.forward);
		controller.SimpleMove(forward * speed);
	}
	
	else if (target  Vector3.Distance(transform.position, target.position) > 30) {
		
	}
}

and I want the enemy to only rotate around the y axis. How would I do this?

before you do your Quaternion.LookRotation, I think you can zero out any axis you don’t want to use in the target’s position, like this:

var targetPos : Vector3 = target.position;
targetPos.y = 0;
var rotate = Quaternion.LookRotation(targetPos  - transform.position);

Please don’t spam, JM. One thread on the subject is enough.

-Rob