Clearing a destination...

How do I have my AI script stop moving towards its way-point while still moving forward? I’m trying to make my AI run in fear when clicked on. Right now, it runs, but he will make a large circle in order to keep going for the way-point.

I just tried replacing variable dir with “transform.forward * speed * Time.deltaTime;” when mouse clicks object but its not working.

The Full AI code:

var speed = 6;
var deer = 10;
var tap = 100;
var rotate;
var target : Transform;
private var waypoint : int;

//Movement Script

function Awake(){

}

function Update () {
	var dir = (target.position - transform.position).normalized;
	var hit : RaycastHit;
	if(Physics.Raycast(transform.position, transform.forward, hit, 15)){
		if(hit.transform != transform){
		dir += hit.normal * 50;
		}
	}

	var leftR = transform.position;
	var rightR = transform.position;
	
	leftR.x -= 2;
	rightR.x += 2;
	
	if(Physics.Raycast(leftR, transform.forward, hit, 8)){
		if(hit.transform != transform){
		dir += hit.normal * 50;
		}
	}
	
	if(Physics.Raycast(rightR, transform.forward, hit, 8)){
		if(hit.transform != transform){
		dir += hit.normal * 50;
		}
	}
	
	var rot = Quaternion.LookRotation(dir);
	
	transform.rotation = Quaternion.Slerp(transform.rotation, rot, Time.deltaTime);
	transform.position += transform.forward * speed * Time.deltaTime;
	
//Destroy Object at Destination
	if (target) {
		var dist = Vector3.Distance(target.position, transform.position);
			if(dist <= 5){
				Destroy(this.gameObject);
			}
	}
	
}   

//Mouse Events
function OnMouseEnter() {
    LevelController.Points += deer + 10;
}

function OnMouseDown () {
    LevelController.Points += tap + 100;
    speed = 25;
	ChangeDirection();
	yield WaitForSeconds (60);
	Destroy(this.gameObject);
}

//Random Direction Script
function ChangeDirection() {
    rand = Random.Range(2,-2);

    switch(rand){
       case -2:
         rotate = -135;
       break;

       case -1:
         rotate = -45;
       break;

       case 1:
         rotate = 45;
       break;

       case 2:
         rotate = 135;
       break;

       default:
         rotate = 0;
       break;
       }

    if(rotate!=0){
       transform.Rotate(Vector3.up, rotate);
    }
}

The script above looks like it is creating a direction to run towards ‘target’. Using this script you would need to change the target of where you want the game object to move towards.