Stopping a script until a key is pressed

What I’m trying to do here is have one dialogue clip play when the E key is pressed while the main character is within the other object (a radio)'s collider. (The script is going on the radio) When the first clip of dialogue is over, the script stops until E is pressed within the collider again, and a second dialogue clip plays. This happens again, then the audio from the audio source plays the fourth time.
For now, I just have it scripted to play the first audio clip:

@script RequireComponent (AudioSource)
public var dialogue1: AudioClip;
public var dialogue2: AudioClip;
public var dialogue3: AudioClip;

function OnTriggerEnter (other : Collider) {
		if (Input.GetKey(Keycode.E)){
		audio.clip = dialogue1;
		audio.Play;
		}
	}

If I understand you correctly, you probably want to use OnTriggerStay and GetKeyDown (also). I would just set some booleans which indicate ‘in trigger’ and ‘e key was hit’, and a state variable which counts number of times ‘e’ was hit. Also check audio.isPlaying to see if the clip is done, and handle it in Update. But you could maybe do this with a yield.