Axe Software Forums
  Quest Developer Forum
  Drop default msg and QDK issues


Author Topic:   Drop default msg and QDK issues
RKFM posted 01-12-2001 20:02 GMT     
First off I'd like to say I really enjoy what I'm seeing so far. I downloaded the demo to check this IF tool out and it's a nice middle ground between pure code tools like INFORM and TADS and simple windows driven tools such as ADRIFT. I hope to see more support for this in the future.

Now, I've come across a few problems with QDK.

1. The default drop message doesn't seem to use the modified article for an object. i.e. if you change the article for marbles to "them" taking works correctly (You pick them up.) but not drop (You drop it.) I have to edit the Drop Details for the object for it to work right. I would have to do this for every non 'it' noun.

2. This is similar to other posts: It seems that if I make something takeable then make a script for some aesthetic take message, then later change my mind and delete the script (but keep it takeable) its not takeable any longer. The changes don't seem to stick sometimes, cause me to delete the object and start anew. And yes, I'm sure to save.

3. If been having difficulty with properties (and I think some problems stem from the about issue). Here is an example: I have matches (obj) and a lantern (obj). Now I give the lantern a property 'lit' with a value of 0 (lit=0). Now I tried to add a use script to change the lantern's property to 'lit=1' (using the matches). Here is the code (or how QDK writes it): Change "lantern"'s property: "lit=1"

Then in a room I have this code (in the print desc. script): Print "The cavern narrows here ending at a wall. There is a lantern hanging from a support beam.";
If "lantern" has the property "lit=1" Then Print "The light from the lantern casts shadows against the wall."

It doesn'nt seem to work out. I've got it to work by the Use Script giving the lantern the property 'lit', then checking for that property. But adjusting property values doesn't seem to work. However, perhaps it's because I deleted the object and started anew (per 2 above).

I have the most recent downloads including the upgrade to 3.03.

Any comments?

Thanks,

RK

RKFM posted 01-12-2001 22:04 GMT          
Another issue with QDK:

I cannot save a new player command. It's there when I'm working, but if I exit the file and open the app again, it's gone. (Yes, I saved it.)

Plus, here is something odd: I had loaded an example file that came with the download into QDK. Looked at it, then loaded my test file into QDK. When I was putting in a property, a property value from the example file was automatically entered in the value. The example file was somehow still in QDK?

I may have to just use ASL scripting by itself. A pity, QDK was looking good for a while there.

Alex posted 01-12-2001 23:15 GMT          
Hi

Thanks for pointing out these various issues - I'll take a look into them when I find the time.

The "drop article" problem is one that I know about, and I've fixed it for Quest 3.1, which is coming soonish (hopefully within a month).

If you do decide to drop QDK, you shouldn't find ASL too difficult anyway - ASL has always been designed to be as easy as possible, and QDK hasn't always been around, so give it a go. There is unfortunately no tutorial for ASL3 at the moment (MaDbRiT was updating his ASL2 tutorial but I'm not sure how far that's progressed), but you should be able to pick it up from the reference guide included with Quest.

RKFM posted 01-12-2001 23:39 GMT          
Alex,

Thanks for the quick feedback.

I've discovered why the property values weren't working with the conditional statement. According to the ASL reference, conditional statements don't work with properties with values! I didn't realize that when I was fooling with QDK (might want to put a note in the next update)

Yes, ASL is an easy scripting language and very robust. Reminds me of ALAN, but with functions and procedures. Very nice!

Actually, QDK can be very useful for doing grudge work quickly. It can be useful for creating objects and rooms quickly and 'drafting' ASL code.

I'm looking forward to playing with ASL, a fine scripting language.

Thanks,

RK

Alex posted 02-12-2001 21:00 GMT          
OK I've sorted out your issue #2 for QDK 3.1 - basically when you delete a multi-line "take" script, the { braces } remain, which means that an empty script is specified. This is fixed in QDK 3.1, but you can fix any file affected by removing the braces in a text editor.

A new player command won't be saved if you don't specify a script for it - this is also fixed in QDK 3.1 (even if having a player command with no script is a bit silly).

I don't know how to replicate your "odd" find of QDK remembering something from a previous file (actually it's not that odd - it just means I've forgotten to get QDK to reset that particular variable when a new file is loaded). It doesn't sound like a huge problem but if it is, email me (or post here) with precise steps on how to reproduce the problem.

As for the property confusion, I can see how things might get a bit confusing. I might add "if property <someobject; property = whatever>" as a valid syntax as it won't break anything. Although already supported in Quest 3.1 is a nicer syntax: "if ( #someobject:property# = whatever)" - in any case I'll make the documentation a bit clearer.


Cheers
Alex Warren

MaDbRiT posted 03-12-2001 14:17 GMT          
Alex wrote

quote:
MaDbRiT was updating his ASL2 tutorial but I'm not sure how far that's progressed

I got to someway past the half way mark in writing a new tutorial, then got sidetracked into improving my library quite substantially which consumed all my free coding time for a good while.

I'm currently in another 'bad spell' with my ongoing health problem and am not able to do very much at all, but when I am fit enough, completing the tutorial is near the top of my list of 'things to do' in my spare time.

Al

RKFM posted 03-12-2001 15:06 GMT          
I didn't realize that:
if ( #someobject:property# = whatever)

was valid syntax. So, this is an example?:

if #bag:open# = yes then.....

Correct?

RKFM posted 03-12-2001 16:57 GMT          
Sorry,

Ignore the above post. That's for 3.1.