Spawn Object If Boolean Equals True, Boolean Set To True On Level Load

Not sure what I messed up on here, but I know I messed up on something because the script isn’t working. Any help would be appreciated, thanks.

#pragma strict

var belt : GameObject;
var champ : boolean = false;

function Start ()
{
DontDestroyOnLoad (transform.gameObject);
}

//Give Belt

function OnLevelWasLoaded (level : int)
{
	if(champ == true)
	{
		if(Application.loadedLevel == 7)
		{
	 	 givebelt ();
		}
	}
}

function Update () 
{	
	if(Application.loadedLevel == 8)
	{
	 champ = true;
	}
}

function givebelt ()
{
var object = Instantiate(belt, Vector3 (0, 0, 0), Quaternion.identity);
object.transform.parent = transform;
}

Firstly make sure you haven’t set it to true in the inspector, secondly look through your script where you actually set the boolean to true. In your update function you check if the loaded level is equal to 8, perhaps it actually is.