TCL-Programs Reference Manual

Trigger Commands

Triggers are functions which select if a trigger is triggered. For example, a trigger with “trig true” is always triggered, a trigger with “trig chance 25” has a 25% chance of being triggered.

trig Command Reference

trig bribe value

Returns true if trigger value is greater or equal then the given value. This is normally used in the bribe triggers.

trig chance percentage

A value between 0 and 99 will be rolled. If value is less then [Missing] this function returns True, otherwise False.

trig compare argnum text

Can be used for easy comparisons like:

trig comp ==0 meaning [trig value]==0
trig comp =="test" meaning [trig value]=="test"
trig comp 0 =="test" meaning [trig value 0]=="test"
trig comp <=26 meaning [trig value]<=26
trig true Just returns true, to let triggers always be fired. (In the old mobprog system a chance of 100 percent was used)

User contributed notes: tclmobprogs trig compare
jodocus@fataldimensions.org
Dec 29, 2001 12:13

Say in a pre-interpret trigger you want to check is the command used is ‘look’. use:

trig compare 0 ==“look”

Verlag@fataldimensions.org
Jan 3, 2002 20:11

proc squeek {} {
  char echoaround Squeek squeek.
}
objtrigger 1 post_interpret { squeek } { trig compare 0 =="north" }
objtrigger 2 post_interpret { squeek } { trig compare 0 =="east" }
objtrigger 3 post_interpret { squeek } { trig compare 0 =="south" }
objtrigger 4 post_interpret { squeek } { trig compare 0 =="west" }
objtrigger 5 post_interpret { squeek } { trig compare 0 =="up" }
objtrigger 6 post_interpret { squeek } { trig compare 0 =="down" }

trig exits exit exit

Returns true if the exit entered is one of the given exits. You may use number or names. This is normally used in the leave and exit triggers.

trig exits north south west up

trig exits 0 2 3

User contributed notes: tclmobprogs trig exits
jodocus@fataldimensions.org
Jan 15, 2002 16:36

proc go_south {} {
! Bye, I am going south (or east)
return true
}
roomtrigger 1 leave {go_south} {trig exits south east }

trig give objid

Returns true if the object given matches the objid. This trigger doesn't look at the trigger value, but at the default object. This command is normally used in the give trigger.

trig hpcnt percentage

Returns true if the percentage of hitpoints of the mob is below this percentage. This is normally used in hpcnt triggers.

trig match regexp

Match a simple regular expression. This is always case insensitive.

trig text1

Returns the $t value from an act trigger.

trig text2

Returns the $T value or $d value from an act trigger.

trigger

See the trig value command.

trig words words ...

Returns true if one of the words has been found in the trigger text. Search is done case independent. Only complete words are found.

The text: This is a test?

trig words this
returns true
trig words this a
returns true
trig words test?
returns true
trig words "this test"
returns false
trig words tes
returns false

trig value argnum

Returns the string, text value of this trigger. If there is no trigger value an error will be generated. The trigger value is also stored in the global variable $::t. This variable will be empty if no trigger value is available. Different triggers have different trigger values. Also a lot of triggers don't have a trigger value at all. The following triggers have the following trigger values:

speech
The text spoken.
exit, exall, leave, leall
Number of the exit:
0
north
1
east
2
south
3
west
4
up
5
down
bribe
The amount of silver given
hour
The hour of the day in the mud.
timer
The current timer value
If argnum is specified only one word of the trigger value is returned. (0 means the first word)

trig wear wear-field

Returns true if the wear-field of an object is the same as specified in the field. This is normally used in wear or remove object-triggers. See the output of "? wear" for a list of wear-fields.

trig wordsand words ...

Returns true if all the words are found in the trigger text. Order is not important. Search is done case independent.

The trigger expression trig words key please will return true for the following sentences.

Could you give me the key please?
Could you please give me the key?
I want the please key.
Please, could you give me the key.