More object disambiguation issues (adv3Lite)

Here’s a pretty little problem. I have four small objects in my game. We’ll call them acorns. (They’re not acorns.) Two of them are rather easy to find and pick up. The other two are visible, but not reachable. They have to be acquired using roundabout methodologies.

The problem is, once the player has grabbed one of the easy-to-find ones and tucked it into the carry-all, when she encounters one of the ones that is visible but not reachable, the command ‘take acorn’ will grab the one from the carry-all. This is very likely to confuse her into thinking she just grabbed the visible one, even though she didn’t.

I don’t want to prevent the player from getting an acorn out of the carry-all, so ‘take acorn’ has to be able to do that. But the parser will prefer the one that’s nearby to the one that isn’t accessible, so the parser won’t ask which acorn the player is referring to; it will just guess, and guess wrong.

2 Likes

Can they print a disambigName based on their location?

I’m not by my computer right now, but there is a disambiguation method that you can put on an object that basically says “if the player is doing these kinds of interactions, and there are better alternatives in scope, then disregard me entirely.”

It uses the same functionality as an “unthing”.

It’s also got a whole entry at the bottom of the adv3Lite manual, I think where it talks about rooms and things.

I am going crazy trying to remember what it’s called. One sec; violently rushing to my computer from a distant location. When I get there, I’ll edit this.

EDIT: Okay, it’s here, and you scroll down to filterResolveList()

I’m pretty sure this fixes the situation you’re in.

1 Like

I meant to say something along the lines of, for your okayTakeMsg you could force it to announce which acorn you are taking, if another one is in scope. So that if they type ‘take acorn’ thinking they’re getting the hard to reach one, it will say ‘you take your acorn back out of the carryall’ Just something along those lines…

1 Like

You can also tweak the logicalRanks of taking the acorns to be equal, so that the parser will prompt for disambig…

1 Like

That could work. Thanks for the suggestion. I’ll give it a try.

I’ll give that a try – thanks. Right now I’m using a sort of kludge that solves the original problem but creates a lesser problem. After I get done sorting out a few other bugs, I’ll give this a try.

1 Like