Thinking about it, you may actually be better off with Quip-based Conversation by Michael Martin: the follow-up to Reactable Quips. This allows you to more easily eliminate different menu options, though in both it is easy for different quips to go to the same place. e.g.:
Table of Quip Followups (continued)
quip option result
greeting "Hello!" greeting2
greeting "Good Day!" greeting2
As for flexible windows, have a look at this variant I just wrote up of the example in Reactable Quips:
[spoiler][code]“Joe Schmoe Revisited”
The story headline is “An Interactive Revisiting of the phtalkoo.h Test”.
Include Quip-Based Conversation by Michael Martin.
Include Flexible Windows by Jon Ingold.
The talk-window is a bordered g-window spawned by the main-window.
The position of the talk-window is g-placebelow.
Window-drawing rule for the talk-window (this is the construct talk rule):
move focus to talk-window, clearing the window;
continue the action;
return to main screen.
When play begins:
open up the talk-window;
move focus to the main-window.
Before quipping:
follow the window-drawing rules for the talk-window.
Check requesting a recap:
follow the window-drawing rules for the talk-window.
Before talking to:
follow the window-drawing rules for the talk-window.
Use no scoring and no deprecated features.
Chapter 1 - The Setup
When play begins, say “Joe Schmoe is your frend!”
Joe Schmoe’s Place is a room. “You are in Joe Schmoe’s place.”
Joe Schmoe is a man in Joe Schmoe’s Place. The description is “This is Joe. It’s your frend!” The litany of Joe Schmoe is the Table of Joe Comments.
The greeting of yourself is selftalk.
Casting Xyzzy is an action applying to nothing. Understand “xyzzy” as casting xyzzy. Carry out casting xyzzy: deliver the xyzzy quip; run a conversation on the Table of Magic Followups.
Chapter 2 - The Script
Section 1 - The Text
Table of Quip Texts (continued)
quip quiptext
selftalk “Talking to yourself is not particularly fun.”
who-am-i “‘My name is Joe Schmoe and Inform hates me.’”
why-hate “‘I tried to compile a game and it gave me 40 Problem messages.’”
yay-inform “‘Thanks so much! You’re the greatest!’”
hate-you “‘I hate you!’[paragraph break] Joe kills you.”
hate-you-2 “‘I hate you!’[paragraph break] Joe kills you.”
hate-you-3 “‘I hate you!’[paragraph break] Joe kills you.”
hate-pedants “‘I hate pedants!’[paragraph break] Joe kills you.”
yay-monkeys “‘Of course I like monkeys.’”
yay-you “‘Now we can be friends!’”
say-nothing “You decide not to say anything after all.”
ehn-apes “‘Apes are OK, I guess.’”
ehn-lemurs “‘I don’t really have an opinion on lemurs.’”
xyzzy “What’s the other magic word?”
Table of Joe Comments
prompt response enabled
“Who are you?” who-am-i 1
“Why does Inform hate you?” why-hate 0
“You probably just left out a semi-colon.” yay-inform 0
“I don’t care.” hate-you 0
“Ha, ha. Inform hates you.” hate-you-2 0
“Do you like a monkey?” yay-monkeys 1
“Only crazy people like monkeys.” hate-you-3 0
“No, I said ‘a monkey’, not ‘monkeys’.” hate-pedants 0
“I like monkeys too.” yay-you 0
“Say nothing” say-nothing 1
Table of Quip Followups (continued)
quip option result
yay-monkeys “What about apes?” ehn-apes
yay-monkeys “What about lemurs?” ehn-lemurs
Table of Magic Followups
prompt response enabled
“PLUGH” yay-you 1
“There are at least two; which one?” hate-pedants 1
Section 2 - Dialogue affects itself
After quipping when the current quip is who-am-i:
enable the why-hate quip;
enable the hate-you quip.
After quipping when the current quip is why-hate:
disable the hate-you quip;
enable the hate-you-2 quip;
enable the yay-inform quip.
After quipping when the current quip is yay-monkeys:
enable the hate-you-3 quip;
enable the hate-pedants quip;
enable the yay-you quip.
After quipping when the current quip is say-nothing:
enable the say-nothing quip;
terminate the conversation.
Section 3 - Dialogue affects the game
After quipping when the current quip is hate-you: end the story saying “You have died”.
After quipping when the current quip is hate-you-2: end the story saying “You have died”.
After quipping when the current quip is hate-you-3: end the story saying “You have died”.
After quipping when the current quip is hate-pedants: end the story saying “You have died”.
After quipping when the current quip is yay-inform: end the story finally saying “You have won”.
After quipping when the current quip is yay-you: end the story finally saying “You have won”.
Section 4 - Tests
test me with “talk to me / x joe / talk to joe / 1 / x me / 1 / repeat / 3 / x me / 1 / 1”.
test xyzzy with “xyzzy / 1”.
[/code][/spoiler]
As you’ll see, you make the window using something like:
[code]The talk-window is a bordered g-window spawned by the main-window.
The position of the talk-window is g-placebelow.
Window-drawing rule for the talk-window (this is the construct talk rule):
move focus to talk-window, clearing the window;
continue the action;
return to main screen.[/code]
This creates a window- you can change the size and border, background colour etc. The window-drawing rule is the rule is there to put output for certain actions in the bottom window. To choose these actions (in this case, talking) we use rules like:
Before quipping:
follow the window-drawing rules for the talk-window.
Uh, this may need a bit of polishing, but should get you started.