i try to make fps game from fps tutorial i want to add score when i destroy a game object use my machine gun or rocket launcher....
here the damage receiver script:
var hitPoints = 100.0;
var detonationDelay = 0.0; var explosion : Transform; var deadReplacement : Rigidbody; var score = 100;
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) {
//add score
BroadcastMessage("AddScore", score, SendMessageOptions.DontRequireReceiver);
// 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;
}
}
i want to show score on my gui but it don't work
here my score script:
var playerScore = 0;
function OnGUI () { GUI.Button (Rect (10, 10, 100, 20), score.ToString()); }
//So that you can print your score, etc.
function AddPoints(score : int) { playerScore += score; }
i use BroadcasMessage to store score value to score script
anybody can help???