Tutorial instructions leading me into bugs and glitches?

E_H_Amos
17 Apr 2011, 03:47
I apologize greatly if this has been discussed before, but I have searched the forums heartily and cannot seem to find an answer to my problem. As a matter of fact it seems like I'm the only one with this problem!

I'm running through the tutorial PDF and I've reached the place where I am supposed to build a "fridge" and make it open-able close-able and to retrieve "milk", beer", and "cheese" from the fridge. I have followed the instructions to the letter from Chapter 13 to 13.3 but something is wrong. Inside the game I type, "open fridge" and it gives the print message I wrote, but that's it. It won't list the items inside the fridge, and seems to disregard their existence after I tell them their parent object is the fridge. It won't list the items, you can't look at the m or take them, it's as if I checked "Inaccessible."

So what am I doing wrong? I added those items and selected fridge as the parent object, and now they don't exist anymore when I play the actual game itself! :?

EDIT: With a little poking and prodding it seems that after giving the print message that I opened the fridge, it's actually still closed... any suggestions on what I might be doing wrong?

EDIT #2: So I got it to work, but not the simple way the tutorial told me. Instead of checking the "open container" box I had to check the "Run Script" box and write:

Open "fridge"
Print "A foul smell wafts from inside the fridge and the humming grows a little louder. Be sure to [BOLD ON]Look[BOLD OFF] inside the fridge for anything of use."


The specifying of the "LOOK for anything of use" is a separate problem I now have. After opening the fridge, it still acts as if the items aren't there. Items can only be taken after you "look fridge" when it's open. Is there a script I can add to the above that will list the items immediately after opening the fridge, or even force the player to "look fridge" after it's open?

EDIT #3:: Trying to move on while I await an answer, I've bumped into another problem. I'm unable to "use defibrillator on bob". For some reason, even though I've set the Boolean Property to "dead" and the defibrillator to to script his coming alive and changing of description ("not dead"), when I type in "use defibrillator on bob" it says, "I can't see that here." but when I type in "look bob" it gives his description! What did I do wrong??

Hammock
17 Apr 2011, 14:47
The best way to solve all these problems is by defining each step of your script. When you open the fridge set the flag "fridge open" to on, you can set the flag to off thru another action. This makes it open and closable and allows you to use the flag as a condition for further actions. If you want the objects to appear in the room list when you open the fridge then first make them unaccessible, then make them accessible when the player types open fridge.
You can also list the objects in your text for open fridge with an ending that goes something like - you may take whatever you like - player then types take eggs and you have a script here that gives an object to the player. Under fridge - give to - allow eggs to be given to fridge, I use a drop verb here because I can never get object interaction to work, which has a script of give object to another object. There are many ways to accomplish things in Quest, I have found that keeping it simple by using the same meachanics throughout (once you find what works for you) makes it much easier to move from script to script and to make changes to script as the story progresses. Conditions give you a lot of room for maneuvering when you need to take into account multiple possibilities.
Here is a script I wrote for an object in my game that allows a player to retreive an object as well as put it back up for future use, it also allows for different conditions and even controls the appearance of a key character in this part of the story.
When player types “open chest”

If “large wooden chest” is available for interaction (this object is initially a hidden object)

THEN If the flag “chest open” is set [THEN] “The large wooden chest is already open.”

ELSE - If “sash of alliance” is available for interaction - THEN “You open the large wooden chest and peer into its dark interior.”

ELSE “You open the chest and remove the sash of alliance from its dark interior.”
Make “sash of alliance” available
Make “Shemer Guard 1” accessible
Set the flag “chest open” to on

[ELSE] “You might try talking to Warrant Guard Arenn before trying to locate the large wooden chest.”

When player types “take sash”

If “sash of alliance” is available for interaction

THEN If player has “sash of alliance” [THEN] “You are already in possession of the sash of alliance.”

ELSE “You drape the fine sash of alliance over your right shoulder in a display of allegiance.”
Give “sash of alliance” to the player
Make “Shemer Guard 1” accessible (this only needed to be included one time but since it has no ill affect I have not deleted it)

[ELSE] “You may need to open the large wooden chest to take possession of the sash of alliance.”

When player types “drop sash”

If “large wooden chest” is in the current room

THEN “You place the sash of alliance back in its rightful storage inside of the large wooden chest.”
Take “sash of alliance” from the player
Add “sash of alliance” to “large wooden chest” (sash must be listed in the chests 'give to' properties
Set the flag “chest open” to off

ELSE “You may only leave the sash of alliance in the Front Foyer of Government Hall where the Warrant Guards can keep a watchful eye on it.”

I hope this helps somewhat in figuring out your problem. Most actions are interdependent on one or more other script commands and they can be spread out over more than one object, I keep a notebook in front of me at all times. Good luck.

Game text © Feb 25, 2011 Albert Alfred Minugh, Jr USA

Alex
18 Apr 2011, 08:16
If you attach your game file (.asl) here or email it to me at alex@axeuk.com, I can take a look and see what's going wrong.