Problem Calling Function from Other Script

So basically I have two scripts, the enemy health script that I attach to the enemy that goes as follows.

#pragma strict
 var Health = 100;
 var animDie : AnimationClip; // Drag your animation from the project view in here (to inspector)
 
 function ApplyDammage (TheDammage : int)
 {
     Health -= TheDammage;
     if(Health <= 0)
     {
        Dead();
     }
 }
 
 function Dead()
 {
     GetComponent.<Animation>().Play(animDie.name);
     Destroy(this.gameObject, animDie.length);
 }

I also have the script that I attach to my Bullet, that goes as follows…
#pragma strict

function OnCollisionEnter (col : Collision)
{
	if(col.gameObject.name == "char4_snipersnest_char4")
	{
		gameObject.SendMessage("ApplyDammage",100);
	}
}

However, when they collide the console says the following: “SendMessage ApplyDammage has no receiver!” I’ve seen some other threads on the SendMessage has no Receiver problem but I can’t quite follow them in my case. Any help here would be massively appreciated. Thanks.

I do not know if it works in JS but this is my C# Script for the Bullet/Laser:

I hope it will help somehow.

public class LaserDamage : MonoBehaviour {

	public float damage = 1;

	void OnTriggerEnter2D (Collider2D other)
	{
		if (!other.CompareTag ("Player")) 
		{
			other.SendMessage("ApplyDamage",damage,SendMessageOptions.DontRequireReceiver);
			Destroy(gameObject);
		}
	}
}

Actually as I look at your Bullet script @KaiserDE, you are asking the Bullet script for the method ApplyDamage when it’s actually you’re enemy that has that method.

function OnCollisionEnter (col : Collision)
 {
     if(col.gameObject.name == "char4_snipersnest_char4")
     {
         //asks the bullet script for the method ApplyDammage (no method exists)
         gameObject.SendMessage("ApplyDammage",100); 
         //the below should work since the method you want is on the enemy object
         col.gameObject.SendMessage("ApplyDammage",100);
     }
 }