As a workaround for the extensions problem, you can copy the source code of an extension into your story to get its functionality.
Extensions are just plain text files which are structured like this:
Foo by Bar begins here.
"Short description"
[here is the actual source code]
Foo ends here.
---- Documentation ----
[documentation follows]
You can open any extension with a plain text editor and copy out the passage which I marked as “[here is the actual source code]
” and paste that into your own story, at the place where you would otherwise write “Include Foo by Bar.
” (This replacement is what the compiler would automatically do.)
So, for the current purpose, depending on what effect you’re going for, you could download Gavin Lambert’s extension “Secret Doors”, open it in a text editor and copy out the relevant part (or of course just copy it directly from the github page in your browser), so in this case:
Click to reveal code
A secret door is a kind of door.
A secret door can be revealed or unrevealed.
A secret door is unrevealed.
A secret door is scenery.
A secret door is closed.
A secret switch is a kind of thing.
A secret switch can be revealed or unrevealed.
A secret switch is unrevealed.
A secret switch is scenery.
To print the you can't go message:
say "[text of can't go that way rule response (A)][line break]".
To print the you can't see message:
say "[text of parser error internal rule response (E)][line break]".
Before going through a secret door which is unrevealed:
print the you can't go message instead.
Rule for setting action variables for going (this is the going through secret doors rule):
if the door gone through is an unrevealed secret door:
now the door gone through is nothing;
now the room gone to is nothing.
The going through secret doors rule is listed after the standard set going variables rule in the setting action variables rulebook.
The determine map connection rule is not listed in any rulebook.
Before doing something to a secret door which is unrevealed:
print the you can't see message instead.
Before doing something when a secret door is the second noun and the second noun is unrevealed:
print the you can't see message instead.
Before doing something to a secret switch which is unrevealed:
print the you can't see message instead.
Before doing something when a secret switch is the second noun and the second noun is unrevealed:
print the you can't see message instead.
Paste that into your story, and you’re good to go. The extension’s documentation includes a short example how to use it.
Here’s another workaround: You could try using “project-specific extensions”, as described in chapter 27.3 of the docs.
Having said all that, I think it would be good if you tried again sometime to get the installation of extensions running on your system. Unfortunately, I haven’t got a Mac, so I can’t help with that. Maybe some kind of permissions issue, where you don’t have the necessary permissions for the relevant directories?
I understand that computer issues can be very frustrating, but there are so many good extensions that it would be a shame to miss out on them. There are many people here who use Inform on a Mac, so I’m sure it should be possible to narrow down the cause of the problem with their help. And possibly others, who share your system configuration and might run into the same issue, could benefit in the future.