Some triggers stop others from working

Posted by Boxknife on Fri 09 Jul 2010 06:19 PM — 8 posts, 25,379 views.

#0
Some triggers stop others from working. I'm not exactly sure which triggers do or why because I've got so many (I'll delete all the triggers but one not working, and it'll start working). What could be a possible reason?
Australia Forum Administrator #1
They are supposed to do that. This lets you set up scenarios like this:


Trigger 1:
Match: Nick waves at you
Send: emote grin at Nick

Trigger 2:
Match: * waves at you
Send: emote smile at %1


In that case the first trigger stops the second one from firing, which is what you want. You should also give the first one a lower "sequence" (eg. 90 for the first, and 100 for the second) to guarantee it gets tested first.

However if you want triggers to allow others to fire too, check the "keep evaluating" flag (for both triggers, unless you are sure one of them will fire first because of its sequence number).
USA #2
I typically make sure "Keep evaluating" is always checked unless I have a good reason not to. You have far fewer real cases where you want to block other triggers from matching.
Australia Forum Administrator #3
As an efficiency note, leaving it unchecked is faster. Especially if you have something (eg. a prompt) that occurs very often. Making your prompt trigger have a low sequence number, and not "keep evaluating" stops the program potentially having to do hundreds of matches, which you already know won't match, as it is a prompt.
USA #4
In my experience, prompt triggers are actually among the most common, or at least the most duplicated. It's unfortunate that there's no way to selectively 'keep evaluating', heheh. Leaving "keep evaluating" unchecked on a prompt trigger is something I'd never recommend, having dealt with related issues other Achaean players have.
#5
Ooh, gotcha. Thanks guys.
Australia Forum Administrator #6
Twisol said:

It's unfortunate that there's no way to selectively 'keep evaluating', heheh.


A trigger can set or clear the "keep_evaluating" flag for itself, if done in send to script.
USA #7
Hmm. You could kludge together some kind of selective keep-evaluating with that and setting up specific sequences, I suppose.