Timer Issues

I am using a tier in my game that should start once an aspect of a quest is active( boolean = true). I found the timer code from this area, seeing as it is GUI based but i am running into an issue. Every aspect of the time works, it counts down from 90 seconds, restarts the quest if timer reaches zero.

However the time starts ticking down when the game starts instead of when i would like it to…I have a little over a day to complete this, since it is a school assignment. Any help would be appreciated. I am semi new to using unity, though not totally new at scripting, but this has me a bit stumped…

There’s a script in this thread that implements a timer you can reset whenever necessary.

it isn’t exactly that i need it to reset. The issue is this: I set the time to 90 seconds. When you start the game you make your way to the first quest giver. You find out some info and then are given the task of answering the correct number to continue the quest line( game for very young children). once you do you are given the errand of collecting the missing amount of times , say 8, before the timer runs out.

Unfortunately once you get to the portion that requires the timer, it is between 1:02 and 0:58… it is starting at the beginning of the level instead of when given the timed task

i used the following code to make it

rivate var startTime;
private var restSeconds : int;
private var roundedRestSeconds : int;
private var displaySeconds : int;
private var displayMinutes : int;

var countDownSeconds : int;

function Awake() {
    startTime = Time.time;
}

function OnGUI () {
    //make sure that your time is based on when this script was first called
    //instead of when your game started
    var guiTime = Time.time - startTime;

    restSeconds = countDownSeconds - (guiTime);

    //display messages or whatever here -->do stuff based on your timer
    if (restSeconds == 60) {
        print ("One Minute Left");
    }
    if (restSeconds == 0) {
        print ("Time is Over");
        //do stuff here
    }

    //display the timer
    roundedRestSeconds = Mathf.CeilToInt(restSeconds);
    displaySeconds = roundedRestSeconds % 60;
    displayMinutes = roundedRestSeconds / 60; 

    text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds); 
    GUI.Label (Rect (400, 25, 100, 30), text);
}

the idea is that once the boolean covering the timed retrieval part of the quest become active (true), the time should start at 1:30 and count down…