Axe Software Forums
  Quest Developer Forum
  not xxxx property


Author Topic:   not xxxx property
RKFM posted 02-12-2001 21:48 GMT     
Thanks Alex for the help in the drop topic...I have something else here which I think I'm coding incorrectly:

I'm working on a open/close command and procedure but I'm not sure how to assign the property 'opened' and 'not opened' to objects.
It seems that I need to assign the object either one, but (I think) I had it woking by not assigning either 'openend' or 'not opened'.

Here are the procedures:

define procedure <open_proc>
if here <#dobj#> or got <#dobj#> then {
if property <#dobj#; openable> then {
if property <#dobj#; opened> then msg <It's already opened!> else {
msg <You open the #dobj#.>
property <#dobj#; opened>
}
}
else msg <You can't open that!>
}
else msg <You don't see that here!>
end define

define procedure <close_proc>
if here <#dobj#> or got <#dobj#> then {
if property <#dobj#; openable> then {
if property <#dobj#;not opened> then msg <It's already closed!> else {
msg <You close the #dobj#.>
property <#dobj#; not opened>
}
}
else msg <You can't close that!>
}
else msg <You don't see that here!>
end define

I hope that pasted correctly. How should I set the object originally? opened or not opened? It seem that when originally set as 'opened', closing the object, then closing it again makes it 'opened'.

I'd wecome any suggestions on this as well as any suggstions on using 'not' with properties.

Thanks,

RK

Computer Whizz posted 03-12-2001 02:32 GMT          
Right, here's AN error :
quote:
if property <#dobj#;not opened> then msg <It's already closed!> else {
msg <You close the #dobj#.>
property <#dobj#; not opened>
}

Well, that might be causing the problem!

Also I noticed that one of your "if's" are like this : "if property <#dobj#;not opened>" and as Al has pointed out before, there should be a space between the ; and the next piece of code (can't remember how he put it now!) but this is also said to cause errors!

Computer Whizz

RKFM posted 03-12-2001 15:10 GMT          
CW,

I did notice the missing space and corrected it, but it still doesn't work.

But:

Maybe I've been looking at the code for too long, but I don't see the error in the fragment you pasted? I coded it with QDK (though there were so many nested IF-THEN statements that I might have gotten confused).
Is it the braces?

Alex posted 03-12-2001 20:44 GMT          
Try instead:

if not property <#dobj#; closed> ...

As far as I know spaces shouldn't make any difference, but I'll take a look anyway (and I'll probably make "if property <thing; not something>" valid syntax for Quest 3.1 as well).

Computer Whizz posted 04-12-2001 01:09 GMT          
I'm sorry - my misjudgment (SP?)!
I was TOTALLY ignoring the else in there.... and so thought it was going in a loop saying if it's NOT that, then set it to - NOT that.

Computer Whizz

RKFM posted 04-12-2001 01:45 GMT          
Thanks Al, and thanks for the reply anyway CW.

I was having some trouble there with the whole 'not' business, but I got it straightened out.

Intuitively, I thought that if the sytax goes:

if property <bag; opened> then...

was ok, then:

if property <bag; not opened> then...

was valid.

Thanks again for the assist,

RK