Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
Bromax
Wanderer


Joined: 03 Jan 2002
Posts: 66

PostPosted: Thu Jun 24, 2004 7:33 pm   

condition wont fire....
 
#CLASS {Autoclose}
#TRIGGER {open (%w)$(%w)} {
#VAR lastdir %2
#IF (@lastdir=n) {#VAR closedir s}
#IF (@lastdir=s) {#VAR closedir n}
#IF (@lastdir=e) {#VAR closedir w}
#IF (@lastdir=w) {#VAR closedir e}
#IF (@lastdir=u) {#VAR closedir d}
#IF (@lastdir=d) {#VAR closedir u}
#COND {^~[ obvious exits:(*)~]} {close %doorname( ,@closedir)} {within|param=40}
}
#CLASS 0

everything works fine...other than the door doesn't close..why won't the condition fire?
Reply with quote
geniusclown
Magician


Joined: 23 Apr 2003
Posts: 358
Location: USA

PostPosted: Thu Jun 24, 2004 8:43 pm   
 
I think your problem is that sneaky little comma in the %doorname function that shouldn't be there.

Also, make certain that your trigger is valid, using the Test tab in the Settings editor.
Reply with quote
Bromax
Wanderer


Joined: 03 Jan 2002
Posts: 66

PostPosted: Thu Jun 24, 2004 9:36 pm   
 
yeah trigger works....and the comma is supposed to be there I was told (typo in help guide)...if I enter it manually it works...but I don't wanna do it that way ;-)
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Thu Jun 24, 2004 10:31 pm   
 
The CONDITION would send "close" to the MUD even if you have the %doorname function wrong. If it doesn't, these seem the most likely possibilities:
1. You have "Trigger on commands" pref disabled
2. The #CONDITION pattern doesn't match the MUD output
3. The MUD output is a prompt and you haven't enabled the Prompt option

You can determine whether the primary trigger fires or not by checking what state it's in after you open a door and go through it.
Reply with quote
Bromax
Wanderer


Joined: 03 Jan 2002
Posts: 66

PostPosted: Fri Jun 25, 2004 12:38 am   
 
Allright...if I take the condition out it fires...but it does it quickly...before im in the room with the door I want to close...if I use an alarm to delay a little it works sometimes...unless I'm walking fast then it fires too late...is there a way to make it fire when I enter the room through the door...this is what the mud is doing:
speedwalk commands:


open celldoor
s
close
s
e
Ok.

o HP:Healthy MV:Full > Close what?

o HP:Healthy MV:Full > Entrance to the Dungeon
[ obvious exits: N S W U ]

it tries to close before I even move...even though the commands were sent in the correct order...and I'm not in the correct room so it fires the close command without a door name.
Reply with quote
geniusclown
Magician


Joined: 23 Apr 2003
Posts: 358
Location: USA

PostPosted: Fri Jun 25, 2004 9:17 pm   
 
I think I see your problem. You're missing a } before the #COND. Assuming you're right about the comma (which doesn't make sense, but I don't use it, so OK), try this:
quote:

#CLASS {Autoclose}
#TRIGGER {open (%w)$(%w)} {
#VAR lastdir %2
#IF (@lastdir=n) {#VAR closedir s}
#IF (@lastdir=s) {#VAR closedir n}
#IF (@lastdir=e) {#VAR closedir w}
#IF (@lastdir=w) {#VAR closedir e}
#IF (@lastdir=u) {#VAR closedir d}
#IF (@lastdir=d) {#VAR closedir u}
}
#COND {^~[ obvious exits:(*)~]} {close %doorname( ,@closedir)} {within|param=40}
}
#CLASS 0

Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net