Ignore Character Controller Collision

Hi everyone, I'm having some trouble with a proximity attack that I'm working on. Basically I want to instantiate an explosion on my character whenever he jumps and lands. The problem is that my character takes damage from this and I only want it to hurt my enemies. I put the explosion script on a collider child of my character so that whenever he impacts something it explodes. I want it so that the player takes no damage from the explosion but that the enemies do. Please help!

Attached to collider child:

var thirdPersonController : ThirdPersonController;
var explosion : GameObject;

function OnTriggerEnter (col : Collider)

{
    var smasher = thirdPersonController.slammed;

    if (col.transform.tag != "Player" && smasher == true) // not the player.
    {
        Instantiate(explosion, transform.position, transform.rotation);
    }
}

Attached to explosion:

var explosionRadius = 5.0; var explosionPower = 10.0; var explosionDamage = 100.0; var explosionTimeout = 2.0;

var hero : GameObject; function Start () {

var explosionPosition = transform.position;

var colliders : Collider[] = Physics.OverlapSphere (explosionPosition, explosionRadius);
for (var hit in colliders) {

var closestPoint = hit.ClosestPointOnBounds(explosionPosition);
var distance = Vector3.Distance(closestPoint, explosionPosition);

var hitPoints = 1.0 - Mathf.Clamp01(distance / explosionRadius);
hitPoints *= explosionDamage;
if (hit.transform.tag != "Player")
        {
  print(hit);
  if (hit != hero.GetComponent(CharacterController))//Not working
  hit.SendMessageUpwards("ApplyDamage", hitPoints, SendMessageOptions.DontRequireReceiver);
}

}

Your check wether hit is the player seems somewhat fishy. You should better tag your player object with the player tag and use

if (!hit.compareTag("Player")))//Maybe working
  hit.SendMessageUpwards("ApplyDamage", hitPoints, SendMessageOptions.DontRequireReceiver);