Why doesnt loads?

So heres the script i made when the yield time gets to 0 it doesnt loads level.
Can someone help me?

function OnTriggerEnter (col : Collider)
{
  if(col.gameObject.name == "Portal_Model");
  {
    yield WaitForSeconds(5)
    {
      Application.LoadLevel("Kino_Dar_Zona"); 
    }   
  }
}

Delete the coma after your “if” statement :

if(col.gameObject.name == "Portal_Model")

instead of

if(col.gameObject.name == "Portal_Model");

You code has some errors, I believe.

function OnTriggerEnter (col : Collider)
{
  if(col.gameObject.name == "Portal_Model"); //additional semicolon?
  {
    yield WaitForSeconds(5) //missing semicolon
    { //random brackets. Not that they are an actual error. It's just a bit weird
      Application.LoadLevel("Kino_Dar_Zona"); 
    }   
  }
}

Based on the [documentation][1]:

Do ();
print ("This is printed immediately");

function Do () {
    print("Do now");
    yield WaitForSeconds (2);
    print("Do 2 seconds later");
}

your code should look like this instead:

function OnTriggerEnter (col : Collider)
{
  if(col.gameObject.name == "Portal_Model")
  {
     DoTrigger();
  }
}
function DoTrigger()
{
   yield WaitForSeconds(5);
   Application.LoadLeve("Kino_Dar_Zona");
}

This should do the trick.
[1]: http://docs.unity3d.com/Documentation/ScriptReference/index.Coroutines_26_Yield.html