Return to Plugins
The trigger device is used only with other devices, and it is not possible to use this device alone. Internally this creates a device which it uses to relay from the actual data input path to the object. During the relay of information it processes for possible trigger conditions. If the data datapath is not currently open, it is impossible to create triggers. The object must have opened a device to be PARSEd. Trigger may also not be used on datapaths which have issued /FORMAT binary.
Create [Trigger] [Template]
Begins recording a new trigger on the currently open device. The template controls when the trigger actions are performed. If a word in the template is prefixed with an '&' then the word may be referenced as a variable within the command. This allows words to be wild carded, and passed as parameters to the trigger commands. Recording is done like macro commands. All commands entered after the recording is started are added to the list of commands to perform when the trigger template matches incoming data. Recording is ended with the /ENDMACRO command.
/trigger create lookat &who looks at you.
.say Hi, %who!
Incoming line like "Bobby looks at you" will invoke the commands defined for the trigger.
Also, a word in the template may be prefixed with a '*'. If this is used instead of an '&', then one or more words may be matched. The word following the '*' may be used as a parameter in the commands which follow.
/trigger crea aurafade the white glow around *what body fades.
.echo succeeded in dispelling %what.
Incoming line like "the white glow around the Spirit of El-Alifam's body fades" will invoke the commands, and echo "succeeded in dispelling the Spirit of El-Alifam's" which may be incorrect, but can be fixed possibly using more commands like /HEAD, /TAIL, etc...
Removes all defined triggers.
Destroy [Trigger] ...
Destroys a defined trigger on the currently open device. Multiple triggers may be listed, and all in the list will be destroyed.
Option [trigger] [options...]
Although the trigger name is required, if no options are specified, the current option set is displayed. Options which are in upper case are SET, lower case options are CLEAR. SET usually indicates a non-default value.
Disable - Disables a trigger from being checked.
Enable(*) - Enables a trigger.
Anchor - forces a trigger to only check the beginning of a line
Free(*) - allows the template phrase to appear anywhere on a line.
Multi(*) - allows the trigger to fire always... disables Once options.
Once - Forces a trigger to disable after it happens once.
OnceOff - Forces a trigger to disable and then enable after it happens once.
Exact - forces a strict case match on template versus data.
Similar(*) - allows a non-case sensative compare on template.
Pass(*) - allow trigger to forward data.
Consume - if the trigger happens, do not pass the data through.
(*) - these are default options when a trigger is created.
If no trigger name is specified, all triggers on the current open data datapath are listed. If the trigger name is specified, then the trigger name, template, current options, and all commands it would perform are displayed.
Help lists trigger sub-commands.
Stores all current variables on the object, and all current triggers into the file name specified. This file is then able to be used with the /script command to reload the trigger set. This command is similar to the /STORE command which stores the current variables and current macros on this object.
Trip [trigger] [parameters]
This command is currently not implemented, but would allow one to cause a trigger to happen. Would have to specify all parameters required for the trigger.