One train thought

I am wondering if there is a way in a scene where only 2 actions are possible, and otherwise, nothing will happen.
I was specifically looking for eating and drinking but blocking and killing is an option too. If you try any other action it does not work.

Also 2. In some games (I can’t really think of any offhand right now; maybe all roads but I’m not sure) the game locks you so that whatever you type in it will always say one thing like “eat food” even if you were trying to put something else.
Actually now that I think of it, I think that was used in pytho’s mask at the end. Any thoughts on how this works?

Sure. The example “Dearth and the Maiden” shows how to do this with kinds of activities being blocked in a certain location; you’d just replace “in the Inn” from that example with “during the Banquet” (or whatever your scene is called).

The Basic Screen Effects extension has an example of how to do exactly this. (I recommend using it sparingly, though. But it’s there if you want it.)

For your first question, example 96, “Zodiac,” or 109, “Dearth and the Maiden,” may be useful to you.

As for the second, there’s definitely an example of just that, along with a disclaimer about how you probably shouldn’t do it, somewhere in the documentation, but I honestly just spent ten minutes of my precious behind-schedule time to try to find it and turned up nothing, so I’m going to admit defeat. If it helps anybody else find it, the example is about being on a stage and being forced to “> sing” if I recall correctly.

This is great thank you muchly.

To elaborate on the first point a bit, what I’m trying to do is when an action is inputed, To have the text randomly generated “[one of] blablabla [or] blablabla [or]blablabla [at random]” but depending on which one it chooses (1st, 2nd, or 3rd) it will begin a completely dependent scene. I don’t really think that it’s possible, but if so, is there any example I can look at?

Here’s a possible solution:

[code]Train is a room.

Rejection-reason is a kind of value. The rejection-reasons are unrejected, thrown-off, arrested, and robbed.
The reason for rejection is a rejection-reason that varies.

On-Rails is a scene. On-Rails begins when play begins. On-Rails ends when the reason for rejection is not unrejected.

Instead of doing anything other than looking or examining during On-Rails:
say “[one of][thrown off][or][arrested][or][robbed][at random]”

To say thrown off:
say “You are thrown off the train for your inappropriate behavior.”;
now the reason for rejection is thrown-off.

To say arrested:
say “You are arrested for your inappropriate behavior.”;
now the reason for rejection is arrested.

To say robbed:
say “While you engage in inappropriate behavior, you are robbed.”;
now the reason for rejection is robbed.

Lost is a scene. Lost begins when the reason for rejection is thrown-off.

Jailed is a scene. Jailed begins when the reason for rejection is arrested.

Broke is a scene. Broke begins when the reason for rejection is robbed.

test me with “scenes/l/x me/s”[/code]

Is there a way to guarantee that the output comes out in exactly the same format as commands the player types herself? The example in Basic Screen Effects prints the fake command in bold, but I don’t think every interpreter echoes the player’s commands in bold.

(I just tried the move in Pick Up the Phone Booth and Aisle that yields this effect, in Parchment:

undo

and the fake command appeared in small caps, even though ordinary commands show up in ordinary lowercase roman. That’s the sort of thing I’d prefer to avoid, though obviously it works fine in PUTPBAA.)