OK, I think I misunderstood what you were using scenes for and what you meant by “a command is read.” Is this the current situation:
Sometimes you start a scene that activates your special input program.
The player interacts with an input program to eventually produce an output. (I’m picturing something like Ultimate Flirt-Off.)
Once the program produces an output, it gets sent to the Inform program.
Now you need a way to end the scene?
I’m not a scene expert, but this seems like something that should be doable. You can set a flag that determines whether the scene ends:
[code]Conversation happened is a truth state that varies. [note: The name of the variable is “conversation happenedd.” It’s like conversation_happened; the individual words don’t have a special role]
Talking to Steve is a scene. Talking to Steve begins when [your condition here]. Talking to Steve ends when conversation happened is true.
When talking to Steve begins: now conversation happened is false.[/code]
And the question is where to set the flag. You can set it at the beginning of the action-processing rules:
First before during Taking to Steve: now conversation happened is true.
…I was going to add something here about trying it during the After reading a command rules, but the scene-changing machinery doesn’t run until the end of a turn. so that won’t work. It might be possible to make the machinery run other times, but I’m not sure if that’ll work.
Here’s a sample of scene-changing machinery, without the cool external conversation mechanics of course:
[code]Lab is a room. The huge box is an enterable closed openable container in Lab. Steve is a man in the huge box.
Conversation happened is a truth state that varies.
Talking to Steve is a scene. Talking to Steve begins when Steve is visible. Talking to Steve ends when conversation happened is true.
When Talking to Steve begins: now conversation happened is false.
First before during Talking to Steve: now conversation happened is true.
When Talking to Steve ends: say “Conversation ended.”[/code]
This scene will only run once. If you want a scene that runs more than once, you have to declare it a “recurring” scene. (And while I was typing, I see that you’ve asked a question about this! Yes, recurring scenes are what you want.)
Hope this helps–let me know what I’ve misunderstood!