Waypoint help.

This is the waypoint code i use:
`
// SeekSteer.cs
// Written by Matthew Hughes
// 19 April 2009
// Uploaded to Unify Community Wiki on 19 April 2009
// URL: unifycommunity.com
using UnityEngine;
using System.Collections;

public class SeekSteer : MonoBehaviour
{

public Transform[] waypoints;
public float waypointRadius = 1.5f;
public float damping = 0.1f;
public bool loop = false;
public float speed = 2.0f;
public bool faceHeading = true;

private Vector3 currentHeading,targetHeading;
private int targetwaypoint;
private Transform xform;
private bool useRigidbody;
private Rigidbody rigidmember;


// Use this for initialization
protected void Start ()
{
    xform = transform;
    currentHeading = xform.forward;
    if(waypoints.Length<=0)
    {
        Debug.Log("No waypoints on "+name);
        enabled = false;
    }
    targetwaypoint = 0;
    if(rigidbody!=null)
    {
        useRigidbody = true;
        rigidmember = rigidbody;
    }
    else
    {
        useRigidbody = false;
    }
}


// calculates a new heading
protected void FixedUpdate ()
{
    targetHeading = waypoints[targetwaypoint].position - xform.position;
   
    currentHeading = Vector3.Lerp(currentHeading,targetHeading,damping*Time.deltaTime);
}

// moves us along current heading
protected void Update()
{
    if(useRigidbody)
        rigidmember.velocity = currentHeading * speed;
    else
        xform.position +=currentHeading * Time.deltaTime * speed;
    if(faceHeading)
        xform.LookAt(xform.position+currentHeading);
   
    if(Vector3.Distance(xform.position,waypoints[targetwaypoint].position)<=waypointRadius)
    {
        targetwaypoint++;
        if(targetwaypoint>=waypoints.Length)
        {
            targetwaypoint = 0;
            if(!loop)
                enabled = false;
        }
    }
}


// draws red line from waypoint to waypoint
public void OnDrawGizmos()
{
    Gizmos.color = Color.red;
    if(waypoints==null)
        return;
    for(int i=0;i< waypoints.Length;i++)
    {
        Vector3 pos = waypoints*.position;*

if(i>0)
{
Vector3 prev = waypoints[i-1].position;
Gizmos.DrawLine(prev,pos);
}
}
}

}
`
Now i have a helicopter with the player in it. The helicopter has a waypoint: the ground. It will crash. It works and all, but how would i make it so that when it hits the ground it goes to a different scene?

If your helicopter and the ground have colliders attached to them, you can use

http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnCollisionEnter.html

This function will be called whenever a collision appears and you can then check if the collision is in fact with the ground (by checking the name or tag of the other collider).

Once you have the collision, you can use this function to load another scene

http://unity3d.com/support/documentation/ScriptReference/Application.LoadLevel.html

Sth like this

void OnCollisionEnter(Collision collision) 
{
    if( collision.gameObject.name == "Ground" )
    {
        Application.LoadLevel( "youAreDeadLevel" );
    }
}