- Home /
shield if hit get visible?
hey guys i have made a simple energy shield i want to make it so that the shield only becomes visible if its mesh collider got hit with somthing i dontknow how to do this but i wil need a gameobject slot to put in the shield
if its possible can you make a script for me please i have 2 sorts of weapons (real projectile`s)like the rocket louncher witch hase a rigid body and the mashine gun on raycast so my shield hase to be able to get hit with both weapons
thank you verry mutch you would help me so mutch with this fixed
i used this script i it was a fpsplayer script i tweaked it . it works by works i mean unity doesnt crash on the script but i think it hase still some bugs like the activate sound isnt playing when my shield activates
var maximumHitPoints = 100.0; var hitPoints = 100.0; var detonationDelay = 0.0; var explosion : Transform; var deadReplacement : Rigidbody; var painLittle : AudioClip; var painBig : AudioClip; var dieSound : AudioClip; var ActivateSound : AudioClip;
function ActivateSoundSound () { if (ActivateSoundSound) AudioSource.PlayClipAtPoint(dieSound, transform.position); }
function ApplyDamage (damage : float) { // We already have less than 0 hitpoints, maybe we got killed already? if (hitPoints <= 0.0) return;
hitPoints -= damage;
if (painBig && painLittle) {
// Play a big pain sound
if (hitPoints < maximumHitPoints * 0.2 || damage > 20) {
audio.PlayOneShot(painBig, 1.0 / audio.volume);
Random.Range(painBig.length * 2, painBig.length * 3);
} else {
// Play a small pain sound
audio.PlayOneShot(painLittle, 1.0 / audio.volume);
Random.Range(painLittle.length * 2, painLittle.length * 3);
}
}
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); if (dieSound) AudioSource.PlayClipAtPoint(dieSound, transform.position);
// 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)
Your answer
Follow this Question
Related Questions
if hit something 3 Answers
Is object at least partly visible? 1 Answer
if shield got hit show 1 Answer
Detect Shield Mesh Sides Hit 1 Answer
if statement error 1 Answer