ALARM
Syntax: #ALA [id] pattern [commands] [class] [options]
Related: #TRIGGER #SUSPEND #RESUME
Allows you to set up a trigger based upon the time, rather than what is received from the MUD. The timepattern can contain a specific time, or can include wildcards as shown below. If preceded with a minus (-), the connection time is used rather than the current time.
Typically, the timepattern has the format hours:minutes:seconds, although the hours and minutes are optional. If missing, the hours or minute parameter is assumed to be an asterisk wildcard. In place of a specific numeric value, you can use an asterisk to match any value. You can also use the special wildcard *value which will match when the time MOD the value is zero. E.g. *10 matches 10, 20, 30, etc. The smallest period of time that can be matched by an alarm is half a second.
You can also define a temporary, one-time alarm by specifying a plus (+) in front of the time. The command is executed when the alarm goes off and the alarm is then deleted.
Using options with alarm type triggers is useless as they are ignored but the command syntax supports them.
When used with only id and pattern parameters it changes the pattern of the specified alarm.
Note: #ALARM does not preform any expansion on it parameters at the time of creation. If you need a parameter expanded use a syntax similar to the #EXEC example below.
ALARM examples
#ALARM -30:00 {save}
The hour isn't specified, so it defaults to *. Thus, this trigger saves your game every 30 minutes of connect time.
#ALARM 3:00:00 {gossip "Why aren't you sleeping?"}
This triggers at 3am local time.
#ALARM +5 {save}
Executes the "save" command in 5 seconds. This is a one-time alarm that deletes itself once it has executed.
#ALARM example {*5} {#ECHO example}
#ALARM example {+3}
Creates an alarm that will fire every 5 seconds then changes the time pattern for that alarm.
#VAR temp 5
#ALARM +@temp {@spell}
Executes the command stored in @spell in @temp seconds. This is a one-time alarm that deletes itself once it has executed. [color=red]Note that @temp is not expanded in the display of the pattern but is expanded internally, so changing temp will not affect when the alarm triggers. In order to change when an alarm triggers try %alarm.
#EXEC {%concat(":Tells:#ALARM +",@temp," {#CLR}")}
A contrived example. This demonstrates how to create an alarm in another window, with a variable from this window. |