How can somebody make text actually appear on the screen with a script

This is what I have sofar

private var text : String = String.Empty;

function Narrative()
{
    text = "Private what are you doing? ... (cut out)";
    yield WaitForSeconds(2.5f);
    text = String.Empty;
    yield WaitForSeconds(0.5f);

    text = "Private, you're on your own ... (cut out)";
    yield WaitForSeconds(3.5f);
    text = String.Empty;
    yield WaitForSeconds(0.5f);
}

function OnGUI()
{
    if (GUILayout.Button("Start Narrative"))
    {
        StartCoroutine("Narrative");
    }
    GUILayout.Label(text);
}

Now how do I actually put it onto the screen?

Well I'm not really sure what your doing there, but I don't see you calling the function Narrative anyware

other then that The script has be attached to a object in the scene. It wont work without being attached to something or other.

My answer is a little simple, so sorry if I'm just confused or misunderstood the question, but you should use a GUI Text object or something similar, or else your string isn't going to "print" on anything on-screen.