FPS Tutorial AI robot (AI) Not loosing health.

I made sure that the character controller was formed around his body. I am using the official Unity FPS tutorial Script (CharacterDamage) and it has not been modified. Yes I have unity pro trial.But when i had it in normal it still wouldn’t work. The script:

var hitPoints = 100.0;
var deadReplacement : Transform;
var dieSound : AudioClip;

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)
	{
		Detonate();
	}
}

function Detonate () {
	// Destroy ourselves
	Destroy(gameObject);
	
	// Play a dying audio clip
	if (dieSound)
		AudioSource.PlayClipAtPoint(dieSound, transform.position);

	// Replace ourselves with the dead body
	if (deadReplacement) {
		var dead : Transform = Instantiate(deadReplacement, transform.position, transform.rotation);
		
		// Copy position & rotation from the old hierarchy into the dead replacement
		CopyTransformsRecurse(transform, dead);
	}
}

static function CopyTransformsRecurse (src : Transform,  dst : Transform) {
	dst.position = src.position;
	dst.rotation = src.rotation;
	
	for (var child : Transform in dst) {
		// Match the transform with the same name
		var curSrc = src.Find(child.name);
		if (curSrc)
			CopyTransformsRecurse(curSrc, child);
	}
}

Everything seems right with the function ApplyDamage...

Insert

function Update () {
if (Input.GetKeyDown ("space")) ApplyDamage(30.0);
}

before it and then test the function, the robot will receive damage everytime you press space in the game.

If that works, your problem is that the function ApplyDamage is not called when the robot is hit.

Then the problem would be in the script of the bullet or weapon.

Left click:

function Update()
{
	if (Input.GetKeyDown(KeyCode.Mouse0))
	{
		ApplyDamage(50.0f);
	}
}