Preventing speaking/talking/saying, etc.

Hello all. I am very new IF writing and Inform7. I am trying to limit speaking, but I can’t seem to get anything to compile.

Instead of talking when location is Dark Solitude or location is Dusky Solitude, say "You cannot speak in solitude".

This returns an error about it not understanding “talking”.

Also, are there any pointers on how to know what actions are default. I kind of feel (currently) like my hands are tied. I’ve looked through the documentation, but it’s quite a bit to take in.

Thanks for helping the noob.


To see what actions exist already, you can use the Index tab - go to the Actions sub-tab and they’ll be listed there. Use “Actions A-Z” to find the actual grammar lines that can be used as player commands.

There are a few different actions that might be considered talking: Answering it that is the action generated by “say X to NPC,” telling it about is the action generated by “tell NPC about X” and asking it about is the action generated by “ask NPC about X.” There is also the ‘orders’ syntax, which processes commands like “NPC, go north” into actions like “asking someone to try doing something.” Finally, the Standard Rules include actions for saying yes, no, and sorry.

You can define all of those as “talking” using a kind-of-action definition:

Answering someone that is talking. Telling someone about is talking. Asking someone about is talking. Asking someone to try doing something is talking. Saying yes is talking. Saying no is talking. Saying sorry is talking.

And I think that will make your code work. You might throw singing in there too.

If you ever want to see what the parser does with a particular command, use the “actions” debugging command. It will then tell you every action that is being tried.

Excellent help. Thanks a lot!