Message-ID: <3CB5A7B4.382412BC@attNOSPAMglobal.net>
Date: Thu, 11 Apr 2002 08:11:48 -0700
From: Chip Hayes <chiphayes@attNOSPAMglobal.net>
X-Mailer: Mozilla 4.72 (Macintosh; U; PPC)
X-Accept-Language: en
MIME-Version: 1.0
Newsgroups: rec.arts.int-fiction
Subject: Re: Puzzling Nitfol error
References: <3cb4f7e9_3@news3.prserv.net> <8df06e254b.kevin@bracey-griffith.freeserve.co.uk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 32.103.15.244
X-Trace: 11 Apr 2002 15:09:25 GMT, 32.103.15.244
Organization: Global Network Services - Remote Access Mail & News Services
Lines: 44
X-Complaints-To: abuse@prserv.net
Path: news.duke.edu!newsgate.duke.edu!news-hog.berkeley.edu!ucberkeley!logbridge.uoregon.edu!newsfeed.us.prserv.net!prserv.net!news3.prserv.net!32.103.15.244
Xref: news.duke.edu rec.arts.int-fiction:102908



Kevin Bracey wrote:
>
> The other interpreters are being generous - you're invoking "unspecified"
> Z-machine behaviour, namely using the "get_prop" opcode on a property with
> length greater than 2.
>
> In Inform, that means you've declared a property as an array (of 18 entries,
> if that report's accurate), and attempted to access it with the standard
> "object.property" operator. You can't do that - you'll have to get the
> address with "object.&property" (and maybe the length with
> "object.#property") and access it using the "-->" array operator. Hopefully
> this is in your code somewhere, not the library.
>

Kevin... thanks for explaining that. Hmm. All my NPC describe props are
routines. For example, the one that threw that error:

describe [;
	if (self.npc_move_type ~= 2 && self.npc_stopped == 0)
		rtrue;
	if (self hasnt seen) give self seen;
	if (self has met)
		print "^", (The) self, " ";
	else print "^A woman ";
	print_ret "stands before you, studying you intently.";
		],

I'm using Volker Lanz' NPC_Engine, but nowhere in his code does he call
the describe property of an NPC object. That's left up to the library in
either Locale or LookSub, which both call describe as you, well,
describe (object.describe).

But how would the code above be considered an array? <scratching head>

I've been writing/testing this game for a while now, and this part of
the code has always worked fine on other interps... (yes, with Strict
mode enabled.).

I'll have to see if the PC version of Nitfol or any other PC 'terps
throw off something different.

Chip
