Player health and dying not triggering

Hi there and thanks for looking at this i have no idea why this is not working correctly. If someone could please let me borrow your brain that would be great

static public var dead = false;
static public var dying = false;
var mydeadsound : AudioClip;
var hitSound : AudioClip;
var health : int = 100;

function OnControllerColliderHit(hit : ControllerColliderHit) {

//if hit fallout and player is not already dead
if((hit.gameObject.tag == "fallout")&&(!dying)) 
	
		{
		
		dying=true;
	
		HealthControl.LIVES -=1;
	
		AudioSource.PlayClipAtPoint(mydeadsound,transform.position);
		
		yield WaitForSeconds(1.08);
		
		dead = true;

        }
		
		if((hit.gameObject.name == "Bullet")&&(!dying))

		{
			health -= 10;
			Debug.Log(health);
		}
		
		if(health <=0)
		{
			dead = true;
			
		}
		
		
		
		
		

}

function LateUpdate() { 
if(dead)

{

    transform.position = Vector3(78.0576,0.1387409,0.352224);

    dead = false;
    dying = false;
}

}

It seems you’re mixing triggers (“fallout”) and colliders (“Bullet”). If the fallout object is a trigger, you must use OnTriggerEnter. Projectiles usually are rigidbodies, and must be detected by OnControllerColliderHit:

static public var dead = false;
static public var dying = false;
var mydeadsound : AudioClip;
var hitSound : AudioClip;
var health : int = 100;

function OnTriggerEnter(hit : Collider){

  //if hit fallout and player is not already dead
  if((hit.gameObject.tag == "fallout")&&(!dying)){
    dying = true;
    HealthControl.LIVES -= 1;
    audio.PlayOneShot(mydeadsound);
    yield WaitForSeconds(1.08);
    dead = true;
  }
}

function OnControllerColliderHit(hit : ControllerColliderHit) {

  if ((hit.gameObject.name == "Bullet")&&(!dying)) {
    health -= 10;
    Debug.Log(health);
  }
  if (health <=0){
    dead = true;
  }
}

Remember that tag is case sensitive, so “Bullet” and “bullet” are different things