Controller Collision Load Scene

Hi guys sorry for bothering again but i really cant figure out what is wrong with this script for hours.Heres my script.i need it to load a level when i colide with a cube.I turned on rigidbody with kinematic and put in a box collider with Is Trigger On but it still doesnt work.

#pragma strict

 function OnControllerColliderHit (hit : ControllerColliderHit)
    {
    if(hit.gameObject.tag == "Player")
    Application.LoadLevel(1); 
    }

You can use OnTriggerEnter for isTrigger enabled objects.

function OnTriggerEnter(hit : Collider)
    {
        if(hit.gameObject.tag == "Player")
         {
              Application.LoadLevel(1);
         }
    }

or OnCollisionEnter for checking if colliders touching each other.

    function OnCollisionEnter(hit : Collider)
        {
            if(hit.gameObject.tag == "Player")
             {
                  Application.LoadLevel(1);
             }
        }

var level : String = “LevelWhatever”;
var waittime : int;
function OnTriggerEnter (other : Collider) {
yield WaitForSeconds (waittime);
Application.LoadLevel(level);
}
so all you need to do is have an object with a collider, make sure its a trigger, then apply this javascript here onto that object, and you’ll be able to edit what level you want to load and the wait time before, if you don’t want the level to load immediately without having to go into monodevelop. Cool, huh?