zMUD wildcards

by Unknown

Back to Mechanic's Corner.

Unknown2005-01-07 02:07:43
Okay, so I made a trigger that captures the message for timeslip as well as the user and does so with (%w). It's supposed to echo "'s timeslip up". Instead, I get "%1's timeslip up." Any help?


#TRIGGER {With a look of intense concentration, (%w)'s fingers pluck at non-existant} {} "Triggers|Defenses|timeslip"
#COND {objects in the air, then stops and smiles with satisfaction.} {#echo %1's timeslip up.} {within|param=1}
Drago2005-01-07 02:19:52
#TRIGGER {With a look of intense concentration, (%w)'s fingers pluck at non-existant} {#echo %1's timeslip up.}

You may as well just do that, I think its because, when the cond comes up, you're no longer "in" the first trigger, so any variables set by it are cleared.

#TRIGGER {With a look of intense concentration, (%w)'s fingers pluck at non-existant} {timeslip=%1} "Triggers|Defenses|timeslip"
#COND {objects in the air, then stops and smiles with satisfaction.} {#echo @timeslip's timeslip up.} {within|param=1}

Should work though.
Unknown2005-01-07 02:39:50
You can use %t1..%t99 to refer to values saved in previous states in a multi-state trigger.

CODE
#TRIGGER {With a look of intense concentration, (%w)'s fingers pluck at non-existant} {} "Triggers|Defenses|timeslip"
#COND {objects in the air, then stops and smiles with satisfaction.} {#echo %t1's timeslip up.} {within|param=1}
Unknown2005-01-07 20:04:45
Ahh, thanks. So I just put t before the number.
Unknown2005-01-10 14:36:07
in this case, yes
%1 refers to the first bit of data you got from the pattern of your current trigger/condition, %t1-99 refers to all the data gathered anywhere in the processing of the current parent trigger, no matter which condition you use it in.

Um. Like,

#Trigger {(Bob) likes Lucy} {-->%1=Bob, %t1=Bob}
#COND {(Lucy) likes Bob too!} {-->%1=Lucy, %t1=Bob, %t2=Lucy}
#COND {But none of them like Daevos!} {-->no %1, only %t1=Bob and %t2=Lucy}