How do I tweak the ">" prompt?

I’d like very much to adjust the user input prompt. Specifically, I’m allowing the player to switch PCs at will, so it would be clearer if the prompt indicated which PC the player is currently playing.

The desired behavior would be:

JOHN> SWITCH TO AMY

Switching from John to Amy… You are now playing Amy.

AMY>_

–I’ve been reading the docs for a couple days on this, and I know that there are PromptDaemons and OneTimePromptDaemons, and so forth, but I’m not finding where to splice into that string.

Any leads?

Conrad.

The libMessages object is responsible for rendering the prompt, in its mainCommandPrompt() method. Simply override that method. The default implementation is in lib/adv3/en_us/msg_neu.t, line 436.

Brilliant! – Thank you, RealNC.

For the record, this is the code:

modify Person
    promptName = name
;

modify libMessages
    mainCommandPrompt(which)
    {
        "\b<<gPlayerChar.promptName>>&gt;"; 

    }
;

And this is the output:

…Now, the one frill I’d like to add in is to have TADS automagically convert John into JOHN>. However, the code:

promptName = toUpper(name)

Reports no error, but yields the old ‘>’ prompt. Any notions?

Try making it a full-blown method.

promptName() { return toUpper(name); }

I think it’s accepting the code as a function but not returning a value, so nil gets pasted into the prompt.

toUpper() is a String class method. You use it like this:

promptName = name.toUpper()

Thanks both; RealNC’s version did the trick!

C.