So I have this work in progress java script, but once I reach the “if (distance < AttackDistance) {”… it does not do this “moveSpeed = 0.0;” or this “animation.Play(“Attacking”);” however it does do this “animation.Stop(“Running”);” and this “enemy.LookAt(target);”. I receive no errors, can anyone help me figure out why this is happening?
The animation running stops, but Attacking does not start.
the speed is never changed to 0.0, it remains at 2.5
var target : Transform;
var enemy : Transform;
var origin : Vector3;
var moveSpeed : float = 1.0;
var distance = 0.0;
var maxvision = 30.0;
var vision = 10.0;
var AttackDistance = 5.0;
var rotationSpeed = 1.0;
var following = false;
var enemyCC : CharacterController;
origin = enemy.position;
function Update() {
distance = Vector3.Distance(enemy.position, target.position);
if (distance < vision || following) {
if (distance < AttackDistance) {
enemy.LookAt(target);
moveSpeed = 0.0;
animation.Stop("Running");
animation.Play("Attacking");
}
else if (distance > maxvision){
following = false;
moveSpeed = 2.5;
}
else
following = true;
enemy.LookAt(target);
enemy.eulerAngles = Vector3(0, enemy.eulerAngles.y, 0);
enemyCC.SimpleMove(enemy.forward * moveSpeed);
animation.Play("Running");
moveSpeed = 2.5;
}
else
enemy.LookAt(origin);
enemy.eulerAngles = Vector3(0, enemy.eulerAngles.y, 0);
enemyCC.SimpleMove(enemy.forward * moveSpeed);
animation.Play("Running");
}