hello, I took an AI script from an other topic around here and I saw that the “zombies” merge together and that is unwanted, I added a function “Stay away” but I don’t know what to do.

If you have any other ideas, feel free to speak of them.

```
var player : GameObject;
```

var otherzombie : GameObject;

var speed : float=6f;

var range : float=15f;

var hitRange : float=6f;

var separationRange : float=3;

var enemyDamage : float=10f;

var rotationSpeed : float=5f;

var damageTimer : float=0f;

var delta : Vector3;

var distance;

var distancefromzombie;

function Start()

{

```
player = GameObject.FindGameObjectWithTag("1Player");
```

}

function Update()

{

```
//calculate the enemy's distance from player and do a check to see if we should
//progress then call the necessary methods
distance = Vector3.Distance(transform.position, otherzombie.transform.position);
if(distance<=range)
{
MoveTowards();
RotateTowards();
AttackPlayer();
}
distancefromzombie = Vector3.Distance(transform.position, player.transform.position);
if(distancefromzombie<=separationRange)
{
StayAway();
}
```

}

function MoveTowards()

{

```
delta = player.transform.position - transform.position;
delta.Normalize();
delta.y = 0;
if(distance<=(hitRange/1.5))
{
return;
}
var moveSpeed = speed * Time.deltaTime;
transform.position = transform.position + (delta * moveSpeed);
```

}

function RotateTowards()

{

```
transform.rotation = Quaternion.RotateTowards (transform.rotation, Quaternion.LookRotation(delta), rotationSpeed);
transform.rotation = Quaternion.Euler(0, transform.eulerAngles.y, 0);
```

}

function AttackPlayer()

{

```
damageTimer+=Time.deltaTime;
if (distance < hitRange && damageTimer>=1.5)
{
damageTimer=0f;
player.SendMessageUpwards
("ApplyDamage", enemyDamage, SendMessageOptions.DontRequireReceiver);
}
```

}

function StayAway()

{

}

Regards

Furdak