Strange question for combatting meta-gamers in I6

Hello all. I am new. I am not sure how to search for a solution, so I figured the best way to start is to describe my problem.

I am trying to build a minor IF as a scavenger hunt clue. It’s not the most complex thing in the world, but I have something I want to include to punish the meta-gamers which has me stumped.

Essentially, I want to put an object in the game that is not referenced anywhere, which will set a deadflag if referred to in any way. I could set a before statement with every verb in the library, but that seems cumbersome and inefficient.

I would think there would be an easier way to accomplish this, but at the moment, I cannot think of one and I am sure it is not a common problem.

Thanks in advance,

Generally speaking, here’s what I would do. I’d create an object that had an AddToScope routine attached to it. Then, in the Initialise routine, change the player to that object. In that object’s AddToScope routine, have a PlaceInScope(your object). That way the player can refer to it wherever he is and yet the object is nowhere around.

This helps in the creating the object phase that I haven’t gotten to yet, thanks. My problem is I want to end the game if they refer to it.

If they examine it, smell it, or refer to it in any way, I want to take control of the interpreters response. Making a before statement for every verb is the only way I can come up with.

Can I throw a variable on the object that starts the first time its referred to? That could work.

Untested, but I think you can put a single line in the before block, rather than a bunch of verbs. Another option – possibly better – would be a react_before in that object that tests whether the object itself is the noun or second. This way, you get the desired result even when it’s the second (as in, ‘hit the monkey with the kryptonite’).

Thanks, I will try that out when I get back to developing it. I’ll follow up later and let you know how it works.

I’m pretty sure there’s an:

Instead of doing anything with the noun:
     say "I pity da foo'.";
     End the game with a hail of bullets wherein no one is actually shot;
     Smoke cigar.

Don’t hold me to it and perhaps not syntactically correct. I’m not at a machine where I can test it right now.

You missed the number in the topic title. :slight_smile:

Yeah, someday I should switch, since the majority of people are on 7, but all my half finished projects are on 6, and i really don’t understand programming in 7 right now. I can’t wrap my head around the natural language thing, but of course I have never really tried to either.

I did at that.

No more forum trolling before coffee…

Stick with what you know, I say. Both languages have a bit of a learning curve. The main drawback of I6 is that fewer people here will be able to give you advice. But you’ll probably need less.

It worked! I used your return_before option, and just omitted any verb references, and it applies to all of them. Thanks all, you saved me a ton of time.

Oops, spoke too soon. While it works, because I was using

found_in [; return true; ],

it triggers as soon as the game starts. I think poster’s placeinscope can help with that, so I have some reading to do to figure out how to use it.

Nope, same issue. react_before with no verb may just be too broad sweeping. It looks like when it determines which objects can be interacted with in the room, it triggers.

Oh well, unless someone chimes in with a different solution, I am satisfied with just having before work. This is supposed to be a simple little project after all.

Thanks for the help all, I appreciate it.