x


Ai continues to move after calling it to stop

i have tried calling the skeleton to stop when he is within 2f of the player(Capsule) but he just ploughs through me. here is my code any help?:

var object1 : GameObject; var object2 : GameObject;

var MaxHealth : int = 100; var CurrentHealth : int;

//Defines Which Audio Clip To Play // public var ZombieMoanAudio : AudioClip; //Defines Which Audio Clip To Play // public var ZombiePissedAudio : AudioClip; //Defines Which Audio Clip To Play // public var ZombieDeathAudio : AudioClip;

var speed : float = 1.4; var target : Transform; //the enemy's target var moveSpeed = 3; var Stop = 0; var stop : int = 0; //move speed var rotationSpeed = 5; //speed of turning var myTransform : Transform; //current transform data of this enemy

function Awake() { myTransform = transform; //cache transform data for easy access/preformance } function Start () {

CurrentHealth = MaxHealth; } function ApplyDamage ( Damage : float) {

if(CurrentHealth < 0) {
return;
}

CurrentHealth -= Damage;

if(CurrentHealth > 50){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombieMoanAudio();
}
if(CurrentHealth == 50){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombiePissedAudio();
}
if(CurrentHealth == 40){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombieMoanAudio();
}
if(CurrentHealth == 30){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombieMoanAudio();
}
if(CurrentHealth == 20){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombieMoanAudio();
}
if(CurrentHealth == 10){
GameObject.Find("Skeleton").animation.Play("gethit");
PlayZombieMoanAudio();
}
if(CurrentHealth == 0){
GameObject.Find("Skeleton").animation.Play("die");
PlayZombieDeathAudio();
}

} function PlayZombieMoanAudio(){ audio.PlayOneShot(ZombieMoanAudio); } function PlayZombiePissedAudio(){ audio.PlayOneShot(ZombiePissedAudio); } function PlayZombieDeathAudio(){ audio.PlayOneShot(ZombieDeathAudio); } function Update() {

myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
var distance = Vector3.Distance(object1.transform.position, object2.transform.position);
//move towards the player
if( CurrentHealth > 0)
{
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
GameObject.Find("Skeleton").animation.Play("run");
}
else
{
  myTransform.position += myTransform.forward * Stop * Time.deltaTime; 
  rotationSpeed = 0;
  GameObject.Find("Skeleton").animation.Stop("run");
}
    if(distance < 2f)
{

    GameObject.Find("Skeleton").animation.Stop("run"); 
    if( CurrentHealth <= 0){
    GameObject.Find("Skeleton").animation.Play("attack");
    }
    else
    {
    //Nothing!//
    }
}

}

`

more ▼

asked Apr 06 '12 at 10:03 AM

thommoboy gravatar image

thommoboy
24 1 9 19

Your distance checks object1.transform.position, object2.transform.position, what are they? You could simplify some parts using transform.LookAt(target); and target is the player. then you move your guy forward. then distance = Victor3(transform.position,target,position)

Apr 06 '12 at 10:09 AM fafase
(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

Here you could try to add a Character Controller to your zombie. Then they would interact with the environment. This is simplified so you still need to tweak it all to your wishes.

var target : Transform;  // Drag the player here
var speed : float = 10;  // the speed

function Update(){
      transform.LookAt(target);  // the NPC looks at the player
      if(Vector3.Distance(transform.position,target,position)> 2){
           enemy.GetComponent(CharacterController).SimpleMove(speed*forward);
           animation.Play("Walk"); 
       }
}
more ▼

answered Apr 06 '12 at 10:17 AM

fafase gravatar image

fafase
10.5k 9 15 41

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x3461
x2488
x960

asked: Apr 06 '12 at 10:03 AM

Seen: 364 times

Last Updated: Apr 06 '12 at 10:17 AM