- Home /
What is causing my AI script to interpret wrong data?
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");
}
Answer by getyour411 · Feb 09, 2014 at 04:50 AM
When in a situation like this, use break points and Monodevelop or simply copious debug statements amongst the various if/else if/else blocks to help highlight the issue(s).
For example, I see a few places here where you have else but it's not followed by {} so only the line immediately after the else is in that scope, the other lines are free game regardless of the if/then conditions; add simple debug.log("In block 1") to demonstrate
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
Scripting Tut. 1 Answer
How i make this code in Unity Javascript 2 Answers
using Application.OpenURL for opening new tab? 2 Answers
How to move an object along the X and Z axis with arrow keys/wasd with javascript? 1 Answer