Most of FPS,RPG and other games must needs player health and enemy damage scripts.
Here we are giving Some Health Scripts You should see!.
Health Scripts unity You should see!
Unity official health scripts:
This is the unity official tutorial script
using UnityEngine;
using System.Collections;
public class PlayerHealth : MonoBehaviour
{
public float health = 100f; // How much health the player has left.
public float resetAfterDeathTime = 5f; // How much time from the player dying to the level reseting.
public AudioClip deathClip; // The sound effect of the player dying.
private Animator anim; // Reference to the animator component.
private PlayerMovement playerMovement; // Reference to the player movement script.
private HashIDs hash; // Reference to the HashIDs.
private SceneFadeInOut sceneFadeInOut; // Reference to the SceneFadeInOut script.
private LastPlayerSighting lastPlayerSighting; // Reference to the LastPlayerSighting script.
private float timer; // A timer for counting to the reset of the level once the player is dead.
private bool playerDead; // A bool to show if the player is dead or not.
void Awake ()
{
// Setting up the references.
anim = GetComponent();
playerMovement = GetComponent();
hash = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent();
sceneFadeInOut = GameObject.FindGameObjectWithTag(Tags.fader).GetComponent();
lastPlayerSighting = GameObject.FindGameObjectWithTag(Tags.gameController).GetComponent();
}
void Update ()
{
// If health is less than or equal to 0...
if(health <= 0f)
{
// ... and if the player is not yet dead...
if(!playerDead)
// ... call the PlayerDying function.
PlayerDying();
else
{
// Otherwise, if the player is dead, call the PlayerDead and LevelReset functions.
PlayerDead();
LevelReset();
}
}
}
void PlayerDying ()
{
// The player is now dead.
playerDead = true;
// Set the animator's dead parameter to true also.
anim.SetBool(hash.deadBool, playerDead);
// Play the dying sound effect at the player's location.
AudioSource.PlayClipAtPoint(deathClip, transform.position);
}
void PlayerDead ()
{
// If the player is in the dying state then reset the dead parameter.
if(anim.GetCurrentAnimatorStateInfo(0).nameHash == hash.dyingState)
anim.SetBool(hash.deadBool, false);
// Disable the movement.
anim.SetFloat(hash.speedFloat, 0f);
playerMovement.enabled = false;
// Reset the player sighting to turn off the alarms.
lastPlayerSighting.position = lastPlayerSighting.resetPosition;
// Stop the footsteps playing.
audio.Stop();
}
void LevelReset ()
{
// Increment the timer.
timer += Time.deltaTime;
//If the timer is greater than or equal to the time before the level resets...
if(timer >= resetAfterDeathTime)
// ... reset the level.
sceneFadeInOut.EndScene();
}
public void TakeDamage (float amount)
{
// Decrement the player's health by amount.
health -= amount;
}
}
more unity script:
3 lives Health script:
This script show 3 lives of player, one is empty but 2 are live ,
#pragma strict
// Controls player health using 3 lives, 2 of which are visable
var fullHealth : int = 3;
var curHealth : int = 3;
var player : GameObject;
var explosion : GameObject;
var life1 : GameObject;
var life2 : GameObject;
function OnTriggerEnter(collider : Collider) {
if(collider.tag == "Hazard") {
curHealth -= 1;
}
}
function Update () {
if(curHealth >= fullHealth){
curHealth = fullHealth;
}
if(curHealth == 2){
curHealth = 2;
Destroy(life2);
}
if(curHealth == 1){
curHealth = 1;
Destroy(life1);
}
if(curHealth <= 0){
curHealth = 0;
Destroy(player);
Instantiate(explosion,transform.position, transform.rotation);
}
}
Decreasing the health:
Use this script to decrease player health, It decreases health after few seconds. have a look at this.
#pragma strict
//Health Textures
var health9 : Texture2D;
var health8 : Texture2D;
var health7 : Texture2D;
var health6 : Texture2D;
var health5 : Texture2D;
var health4 : Texture2D;
var health3 : Texture2D;
var health2 : Texture2D;
var health1 : Texture2D;
//Intigers
static var player_Health = 9.0;
var speed = 0.5;
//Textures
var HealthGUI : GUITexture;
function Update()
{
player_Health -= Time.deltaTime * speed;
if (player_Health < 0.0)
player_Health = 0.0;
SetHealth();
}
function SetHealth() {
switch (Mathf.RoundToInt(player_Health))
{
case 9:
HealthGUI.texture = health9;
break;
case 8:
HealthGUI.texture = health8;
break;
case 7:
HealthGUI.texture = health7;
break;
case 6:
HealthGUI.texture = health6;
break;
case 5:
HealthGUI.texture = health5;
break;
case 4:
HealthGUI.texture = health4;
break;
case 3:
HealthGUI.texture = health3;
break;
case 2:
HealthGUI.texture = health2;
break;
case 1:
HealthGUI.texture = health1;
//Don't forget to add a death script here!
break;
}
}
If you like and never wants to miss our articles then just subscribe us,
And join our Facebook group with Lots of great developers.
Comments
Post a Comment