so im watching atutorial (tornadotwins) and im trying to die but i useally dont what happens is when i get hit once most of the time it counts as 2 and when i am 1 away from dieing i just dont, i die when falling out of bouds but not from the fire balls i want to be hit by here is the health script any ideas?:
var health1 : Texture2D; //one live left
var health2 : Texture2D; //two lives left
var health3 : Texture2D; //full health
var bodypart1 : Transform;
var bodypart2 : Transform;
static var LIVES = 3;
static var HITS = 0;
function Update ()
{
print("Lives: "+LIVES+" Hits: "+HITS); //lives: 3 Hits: 0
switch(LIVES)
{
case 3:
guiTexture.texture = health3;
break;
case 2:
guiTexture.texture = health2;
break;
case 1:
guiTexture.texture = health1;
break;
case 0:
//gameover script here
break;
}
switch(HITS)
{
case 1:
//disable bodypart 1
bodypart2.renderer.enabled=false;
break;
case 2:
bodypart1.renderer.enabled = false;
bodypart2.renderer.enabled=false;
break;
case 3:
LIVES -= 1;
HITS = 0;
MoveAround.dead = true;
bodypart1.renderer.enabled = true;
bodypart2.renderer.enabled = true;
break;
}
}
heres my controler 4 my character
//Moving around
var speed = 3.0;
var rotateSpeed = 3.0;
//Shooting
var bullitPrefab:Transform;
//Dying
static var dead = false;
//Geting hit
var tumbleSpeed = 800;
var decreaseTime = 0.01;
var decayTime = 0.01;
static var gotHit = false;
private var backup = [tumbleSpeed, decreaseTime, decayTime];
function LateUpdate()
{
if(dead)
{
transform.position = Vector3(0,9,0);
dead = false;
}
if(gotHit)
{
if(tumbleSpeed < 1)
{
//we're not hit anymore... reset & get back in the game!
tumbleSpeed = backup[0];
decreaseTime = backup[1];
decayTime = backup[2];
gotHit = false;
}
else
{
//we're hit! Spin our character around
transform.Rotate(0,tumbleSpeed * Time.deltaTime,0, Space.World);
tumbleSpeed = tumbleSpeed-decreaseTime;
decreaseTime += decayTime;
}
}
}
//function OnControllerColliderHit(hit : ControllerColliderHit)
function OnTriggerEnter( hit : Collider )
{
if(hit.gameObject.tag == "fallout")
{
dead = true;
//substract life here
HealthControl.LIVES -= 1;
}
if(hit.gameObject.tag == "enemyProjectile")
{
gotHit = true;
HealthControl.HITS += 1;
Destroy(hit.gameObject);
}
}
function Update ()
{
var controller : CharacterController = GetComponent(CharacterController);
transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
var forward = transform.TransformDirection(Vector3.forward);
var curSpeed = speed * Input.GetAxis ("Vertical");
controller.SimpleMove(forward * curSpeed);
//shooting!
if(Input.GetButtonDown("Jump"))
{
var bullit = Instantiate( bullitPrefab,
transform.Find("spawnPoint").transform.position,
Quaternion.identity);
bullit.tag = "wormProjectile";
bullit.rigidbody.AddForce(transform.forward * 2000);
}
}
@script RequireComponent(CharacterController)