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)
Say in a pre-interpret trigger you want to check is the command used is ‘look’. use:
trig compare 0 ==“look”
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 0 2 3
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.
- 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
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.