- Home /
 
EnemyHealth.js script not working...
I have been working on this script for the past month and my collisions are not working...
I have a drone and when a bullet hits the Sphere Collider, I want the drone to lose health and after it has been hit three times, I want the drone to add a rigidbody component and after 3 seconds, to disappear... Any suggestions?
Here's my code so far...
 #pragma strict
 
 function OnCollisionEnter(deadPlayer : Collision)
 {
     if (deadPlayer.gameObject.tag == "Drone")
     {
         Debug.Log("HIT");
        Destroy(GameObject.FindGameObjectWithTag("Drone"));
     }
 }
 
 
              Could you please clarify the question? If your question is clear, it helps us to help you. A quickly glance reveals that you're wanting drone to lose health first, then count to three, then add rigidbody (??), then wait for 3 seconds, and lastly, disappear. Am I right?
What I want the script to do is when a bullet hits the drone, i want it to lose health and once the drone loses 3 health, I want to add a rigidbody component, wait 3 seconds and then the drone to disappear from the scene @iklaiah...
rigidbody should exist on the enemy before the collision is fired.
to have a collision you need a rigidbody and a collider. non-kinematic
Does that mean that the bullet needs a collider and the enemy needs a rigidbody or both need a collider and a rigidbody?
Answer by CypherGames · Dec 24, 2013 at 01:13 AM
 #pragma strict
 
 var health : int = 3;
 var timer : float = 0.0;
 
 private var timerMax : float = 3.0;
 private isDead : boolean = false;
 
 function OnCollisionEnter(deadPlayer : Collision)
 {
    if (deadPlayer.gameObject.tag == "Drone")
    {
       Debug.Log("HIT");
       health --;
       
       if (health == 0)
       {
          rigidbody.enabled = true;
          isDead = true;
       }
    }
 }
 
 function Update()
 {
    if (isDead == true)
    {
       timer++;
    }
 
    if (timer >= timerMax)
    {
       Destroy(GameObject.FindGameObjectWithTag("Drone"));
    }
 }
 
               Like @KuPAfoo said, add a rigidbody beforehand, and then use this script.
Your answer
 
             Follow this Question
Related Questions
How i make the player damage the enemy specific enemy he is colliding with 1 Answer
how do i make an Enemy take damage from prefab bullet clone? 1 Answer
Enemy not taking damage on collisions. 2 Answers
Unity health problem and enemy colision 3 Answers
Enemy health not reducing on collision with bullet 0 Answers