Get out of car - unreasonable?

Hi guys - so, making the car a container has done a huge amount of work for me, but for some reason, we can’t “get out of car”, as this provides the baffling message “I only understood you as far as wanting to go outside.” To which I respond “…well duh!” The same problem happens with “exit the car”.

I have tried a number of ways to address this, without success, so I’ve removed those before showing you the example.

Here is my code (I omitted a lot of stuff about the Parking Lot of course);

The Ferrari is in the Parking lot.  
The description of the Ferrari is "You always dreamed of owning one.  Now, with your salary, you do.".
 The Ferrari is a container. The Ferrari is transparent. The Ferrari is enterable. The Ferrari is scenery. 
The Ferrari is openable. The Ferrari is closed. Understand "car" or "the car" as The Ferrari.
Driving is an action applying to one visible thing.
Understand "drive [the Ferrari]" as driving.
Understand "start [the Ferrari]" as driving.
Instead of driving the Ferrari, say "You can't leave now - you are too excited to attempt your experiment."
Some car keys are in the Ferrari.
Before entering the Ferrari:
	if the Ferrari is closed, try opening the Ferrari.
Before exiting from the Ferrari:
	if the Ferrari is closed, try opening the Ferrari.

The player is in the Ferrari.

Including “Modified Exit” by Emily short seems to go a long way in the right direction

Include Modified Exit by Emily Short

inform7.com/extensions/Emily%20S … doc_0.html

You also might want to check this old forum thread: https://intfiction.org/t/wont-process-commands-to-leave-closet-closet-is-container/11416/1

Is “exiting from” a standard verb? I think Inform may just want EXIT or GET OUT. The easiest thing when dealing with a weird verb form is create it and redirect it to what Inform wants.

[code]Exiting from is an action applying to one thing. Understand “exit from [something]” and “exit [something]” and “get out of [something]” as exiting from.

Instead of exiting from something:
try exiting.[/code]

Or, to make your before exiting the Ferrari rules work (Instead renders all other rules moot):

check exiting from something: try exiting instead.

Side note:

Understand "car" or "the car" as The Ferrari.

You don’t need to include articles in understand phrases in most cases, and you can use slashes between single words:

Understand "car/auto/automobile" and "my car/auto/automobile/ferrari/ride" and "my sweet ride" as the Ferrari.
Double hyphens mean “this word can be omitted”

Understand "my/-- car/auto/automobile/ferrari" as the Ferrari.

This saves a ton of time. Just remember that very specific phrases with multiple words need to be separated in their own quotation marks as “my sweet ride” above.

Not Before rules. They happen before Instead.

I seriously did not know that. I thought Instead was literally “instead of any other rules for this action”.

Thanks everyone :slight_smile:

HanonO I used your solution, and I really appreciate your optimisations too, I knew there was probably some fancy Inform stuff I’d forgotten to take advantage of. It’s been a while.

I ended up including all the extra stuff as a reminder to myself, even though I don’t intend the player to use it all;

The Ferrari is in the Parking lot.  The description of the Ferrari is "You always dreamed of owning one.  
Now, with your salary, you do.". 
The Ferrari is a container. The Ferrari is transparent. The Ferrari is enterable. 
The Ferrari is scenery. The Ferrari is openable. The Ferrari is closed. 

[slash means you can swap this word.  Double hyphen means the word can be omitted.  
You don't need to include "the".  But specific phrases need their own quotes.]
Understand "my/-- car/auto/automobile/ferrari" or "my sweet ride" as the Ferrari.
Driving is an action applying to one visible thing.
Understand "drive [the Ferrari]" as driving.
Understand "start [the Ferrari]" as driving.
Instead of driving the Ferrari, say "You can't leave now - you are too excited to attempt your experiment.".
Some car keys are in the Ferrari.
Before entering the Ferrari:
	if the Ferrari is closed, try opening the Ferrari.
Before exiting from the Ferrari:
	if the Ferrari is closed, try opening the Ferrari.

[Some stuff to let typing "get out of car" instead of only "get out" working]
Exiting from is an action applying to one thing. Understand "exit from [something]" and "exit [something]" and "get out of [something]" as exiting from.
check exiting from something:
	try exiting instead.

Yes, it’s Before rules, then accessibility rules, then Instead rules. So:

[code]The delicatessen is a room. The pastry case is a closed transparent container in the delicatessen. The cruller is in the pastry case. The vegan cheesecake is in the pastry case.

Before eating the cheesecake: say “While you have great respect for the vegan ethos, you would rather that the vegan dishes you eat not be cheesecake.” instead.

Instead of eating the cruller:
say “You devour the cruller.”;
now the cruller is nowhere. [/code]

“Eat cheesecake” gives you the Before rule, “Eat cruller” tells you the pastry case isn’t open.

The diagram in 12.2 of Writing with Inform is probably the most helpful thing in it.

That’s actually handy to know that you can interrupt an Instead with a Before. <files memory, dot matrix sound from brain>