- Home /
Question by
Ipwndthebeast · Jan 31, 2014 at 05:44 AM ·
healthbarhealth
Help me with scripting please
my zombies wont deal me damage. this is my zombie script var target : Transform; //the enemy's target var moveSpeed = 3; //move speed var rotationSpeed = 3; //speed of turning
var myTransform : Transform; //current transform data of this enemy
var isNotDead : boolean = true;
var health : float = 100;
function Awake()
{
myTransform = transform; //cache transform data for easy access/preformance
}
function Start()
{
target = GameObject.FindWithTag("Player").transform; //target the player
}
function Update () {
if(health < 1){
isNotDead = false;
animation.Play("die");
Destroy(gameObject, 1);
}
if(isNotDead){
//rotate to look at the player
myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);
var distance = Vector3.Distance(target.position, myTransform.position);
if (distance < 3.0f) {
animation.Play("attack1");
}
else{
//move towards the player
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
animation.Play("walk1");
}
}
}
function ApplyDamage(dmg : float){
health -= dmg;
}
i need a health script to go with this and i dont know where to start.
Comment
Answer by getyour411 · Jan 31, 2014 at 05:48 AM
On player create a script with a variable say int health = 100;
On this script get a reference to that component
playerHealth = target.gameObject.GetComponent<PlayerHealth>();
playerHealth.health -= 10;
This is pseudocode. This question - how to get/set a variable on another script - is frequently asked with many examples. Please check out this site too for a really good review of this topic: http://unitygems.com/script-interaction-tutorial-getcomponent-unityscript/
Your answer