You have to change the value of the boolean variables that you have after intro clip has played. Initialise all boolean variables except StartingQuest to false and then make use of yield WaitForeSeconds:
if(StartingQuest == true){
audio.clip = intro;
audio.Play();
yield WaitForSeconds (audio.clip.length);
QuestOne = true;
}
if(QuestOne == true){ //now questone can play
audio.clip = firstQuest;
audio.Play();
yield WaitForSeconds (audio.clip.length);
//now question one has completed
QuestOne_done = true;
}
if(QuestOne_done == true){ //play what is to be played when QuestOne is done
audio.clip = Getting_sword;
audio.Play();
//then again
yield WaitForSeconds (audio.clip.length);
}