TELL/ORDER verb (PERSON, Go up) not working

For specifics, it is making you do the action. I looked in the manual and did what it said, and yet it still doesn’t work. I’m not sure why, but I appreciate the help.

1 Like

I’m can’t remember if I done that but could you please post some more details? What manual and maybe some code examples that illustrates the issues? Might be easier to help then.

Edit: Are you using the Zilf library or are you trying to do this in the abandoned Infocom game (Gallaways?)?

2 Likes

The Steve Meretzky (and apparently Stu Galley, but I don’t know) one.
Learning_ZIL_Steven_Eric_Meretzky_1995.pdf (207.3 KB)

Both, in fact. I took the code from the Infocom version of Milliways, and compiled it in ZILF.

Sorry I can’t give some examples, I’m sending this via phone. I’ll see if I can send them later.

Then you probably don’t use the Zilfs libraries. Zilf, and Inform6 for that matter, is a compiler that compiles the code for the z-machine. The z-machine don’t have code for parsing and such, this is usually done in library code that you include (i.e. i6 Standard library, PunyInform and so on). Zilf also have a library. The code logic to handle, for example, TELL/ORDER are in these libraries. Milliways probably have a version of Infocoms library code. Due to that Milliways was in early developing there could lurk errors in this code.

1 Like

Sorry, I have a new (and more annoying) question: How do you use the EVERYWHERE definition (like HAVE TAKE MANY etc.)? Apparently, there is no EVERYWHERE definition, which makes it feel impossible to do the ASK command on objects.

I’m not sure what you mean but guess that you want to be able to TELL/ASK/ORDER persons about objects not present in the room. Is this correct?

I think EVERYWHERE is a concept in something Infocom called the “new parser”. This parser was only used in Arthur, Zork Zero, Shogun and the two unpublished projects Abyss and Restaurant. You activate this with <SETG NEW-PARSER? T>. There is no support for this in the Zilf libraries.

Looking att the Milliways files there is a line <XFLOAD "parser.h2"> that includes the new parser libraries (the zillib found in obsessively complete infocom). I can’t find the parser.h2 file but it probably is similiar to the parser.zork0 found in the zork0 project.

The “new parser” isn’t very well tested with Zilf so I can’t guarantee that it’ll work, but it probaly should.

In earlier versions of the parser libraries you can use GLOBAL-OBJECTS, GENERIC-OBJECT and LOCAL-GLOBALS to define objects that are abstract or not present in the current location. Have a look at the ZIL version of Craverly Heights if you want to see an example on how I used it.

4 Likes

As @heasm66 mentioned, EVERYWHERE isn’t implemented in ZILF’s library. The typical way to implement topics of conversation is with GLOBAL-OBJECTS, as seen in globals.zil from Hitchhiker’s Guide to the Galaxy, for example.

Some Infocom games also implement an “everywhere”-type search for certain verbs as a special case in the parser. ZILF generally favors solutions that don’t involve game-specific modifications to library files, but this could be done by adding those functions to the library in replaceable sections.

I’ve updated the existing issue for this: [ZILF-140] - JIRA

4 Likes

Thank you for maintaining Zilf.

2 Likes

Thank you for this - and could you notify when this has been fixed? Thanks.

1 Like

Even better, you can get automatic notifications when this JIRA issue (or any other) is fixed/updated by subscribing to it with the “eye” icon in the top right.

4 Likes

ALERT - I found out a way to fix this without MOBY-FIND. I can send you some files via if you want them. Not sure if it had already been fixed, but it has personally.

1 Like

I’m interested in what you did. Please share here or you can send me a PM if you prefer that.

1 Like