- Home /
Damage Reciever Won't Destroy Object
My damage reciever, when the hitpoints run out, instantiates an explosion and a dead replacement, but the original object doesn't destroy itself. Here's the script:
var hitPoints = 100.0;
var detonationDelay = 0.0;
var explosion : GameObject;
var deadReplacement : Rigidbody;
function ApplyDamage (damage : float) { // We already have less than 0 hitpoints, maybe we got killed already? if (hitPoints <= 0.0) return;
hitPoints -= damage;
if (hitPoints <= 0.0) {
// Start emitting particles
var emitter : ParticleEmitter = GetComponentInChildren(ParticleEmitter);
if (emitter)
emitter.emit = true;
Invoke("DelayedDetonate", detonationDelay);
}
}
function DelayedDetonate () { BroadcastMessage ("Detonate"); }
function Detonate () { // Destroy ourselves Destroy(gameObject);
// Create the explosion
if (explosion)
Instantiate (explosion, transform.position, transform.rotation);
// If we have a dead barrel then replace ourselves with it!
if (deadReplacement) {
var dead : Rigidbody = Instantiate(deadReplacement, transform.position, transform.rotation);
// For better effect we assign the same velocity to the exploded barrel
dead.rigidbody.velocity = rigidbody.velocity;
dead.angularVelocity = rigidbody.angularVelocity;
}
// If there is a particle emitter stop emitting and detach so it doesnt get destroyed
// right away
var emitter : ParticleEmitter = GetComponentInChildren(ParticleEmitter);
if (emitter) {
emitter.emit = false;
emitter.transform.parent = null;
}
}
// We require the barrel to be a rigidbody, so that it can do nice physics @script RequireComponent (Rigidbody)
How do I make it so the object is destroyed when the hitpoints run out? Thanks in advance.
Answer by SisterKy · Aug 08, 2011 at 11:01 PM
I think you only missed one detail; before the last } add the line:
[Nonsense]Destroy (this);[/Nonsense]
Edit: oops, nonsense... I meant
Destroy (gameObject);
Your answer
Follow this Question
Related Questions
problems with dead replacement of the damage reciever??? 1 Answer
How to I calculate damage when using AddExplosionForce? 0 Answers
Explosion damage script only deals damage in the first explosion and none afterwards 0 Answers
GetComponent on Collider not working 2 Answers
Decrease ExplosionForce and damage continously by distance 2 Answers