Misc questions thread

Essentially, if an object is in a specific container, put the object off-stage, then put another object in the container.
How would I do so? I know the movement of objects, but not the inside-container-check.

Something like this should work:

The slug is in East End. There is a snail. Every turn when the slug is in the transmogrifier: now the slug is off-stage; now the toad is in the transmogrifier; if the player can see the toad: say "The slug transmogrifies into a toad!"

Ah ha haaa aaaah.
I did not think of every turn. I was thinking about after-placed-in and the like.

Thanks.

Whoa, you are quick on responding. Please note that the indentation was messed up on my original post and I fixed it (what happened was, I pasted some stuff in from the IDE and then tried to manually indent some other stuff, and it came out wrong).

Knocking is an action applying to one visible thing. Understand “knock on [something]” as knocking.

It’s saying there is an improper use of understand. What.

Looks fine to me. Could you post the entire error message?

Just taking that line compiles without incident here. So it looks like there may be an error somewhere else in your code?

Knocking is an action applying to one visible thing. Understand "knock on [something]" as knocking.

Probably you want knocking to be an action applying to one thing rather than one visible thing.
If you tell Inform that something is “an action applying to one thing”, it means that the noun has to be touchable by the player (or other actor) when he/she attempts the action.
If you tell Inform that something is “an action applying to one VISIBLE thing”, it really only means that the noun DOES NOT HAVE TO TOUCHABLE by the player (or other actor) when he/she attempts the action; in particular it does NOT by itself mean that the noun has to be visible (i.e. that the player or other actor must be able to see the noun).
The following code

Knocking is an action applying to one visible thing. Understand "knock on [something]" as knocking.

will let the player knock on a thing in the location, if he/she can see it, whether or not he/she can also touch it (examining works that way).
But this code

Knocking is an action applying to one visible thing. Understand "knock on [any thing]" as knocking.

where “any thing” is written as TWO words, will let the player knock on a thing even if it is in another room or inside a closed opaque container or even in darkness.

Well, that’s not needed anymore; thanks for that though.
However, this is broken:
Check reaping:
if the scythe is not carried, say “You don’t have your scythe!” instead.
if the noun is unreapeable, say “You can’t reap [The noun].” instead.

This is the report produced by Inform 7 (build 6G60) on its most recent run through:

Problem. You wrote ‘if the noun is unreapeable, say “You can’t reap [The noun].” instead’ : but this seems to give something a name which contains double-quoted text, which is not allowed. If you do need quotes in a name, one option would be to write something like ‘In the Saloon is ‘Black’ Jacques Bernoulli.’; but this problem message is often caused by an accident in punctuation, in which case you never intended to create an object - you thought that the text ended a sentence because it finished with sentence-ending punctuation, when in fact it didn’t, so that I read the next words as following on.

The line beginning “If the scythe is not carried” should end in a semicolon rather than a period.

Now I feel stupid. XD

Now for a question I can’t find the answer for:
What directory do Location Images files go to?

I haven’t tried this extension, but I’m pretty sure you’re supposed to put these files in a directory/folder called “Figures” inside the materials folder of your project. At least that’s where image files generally go. (See ch. 22.4, 22.5 in the documentation.)