Read about scripting
Adds a one-shot, temporary timer - simplified interface
View list of data type meanings
long DoAfter(double Seconds, BSTR SendText);
This routine adds an unlabelled, temporary, one-shot timer, set to go off after the designated number of seconds. The first argument (seconds) must evaluate to a time between 0.1 second, and 23 hours 59 minutes 59 seconds (that is, 0.1 to 86,399).
From version 3.61 onwards of MUSHclient the interval may include fractions (ie. it is a floating-point number). This lets you set up sub-second intervals (eg. 0.5 seconds, 1.2 seconds).
To enable this you need to go to Global Configuration -> Timers and set the 'Timer Interval' in seconds to zero.
The maximum granularity of the timers is currently 0.1 seconds. In other words, regardless of what you specify, the timers are only checked every 10th of a second.
You can also use DoAfterSpeedWalk - this is the same as DoAfter, except the command is interpreted as a speedwalk sequence.
You can also use DoAfterNote - this is the same as DoAfter, except the text is sent to the output window, not the MUD.
The purpose of this is simplify the frequent case of simply wanting to do something in a few seconds, rather than using AddTimer.
WARNING - as DoAfter is implemented by using temporary MUSHclient timers, it will not work if timers are disabled. If DoAfter is not working for you (however the function call is returning zero) then ensure that timers are enabled in the Timers configuration dialog.
Available in MUSHclient version 3.18 onwards.
world.DoAfter 10, "eat food"
world.DoAfter 20.5, "get bottle bag"
world.DoAfter 21, "drink water"
world.DoAfter (10, "eat food");
world.DoAfter (20.5, "get bottle bag");
world.DoAfter (21, "drink water");
$world->DoAfter (10, "eat food");
$world->DoAfter (20.5, "get bottle bag");
$world->DoAfter (21, "drink water");
world.DoAfter (10, "eat food")
world.DoAfter (20.5, "get bottle bag")
world.DoAfter (21, "drink water")
DoAfter (10, "eat food")
DoAfter (20.5, "get bottle bag")
DoAfter (21, "drink water")
View list of return code meanings
eTimeInvalid: The time is invalid (seconds not in range 0.1 to 86,399).
eOK: added OK
See Also ...
(AddTimer) Adds a timer
(DeleteTemporaryTimers) Deletes all temporary timers
(DeleteTimer) Deletes a timer
(DeleteTimerGroup) Deletes a group of timers
(DoAfterNote) Adds a one-shot, temporary note timer - simplified interface
(DoAfterSpecial) Adds a one-shot, temporary, timer to carry out some special action
(DoAfterSpeedWalk) Adds a one-shot, temporary speedwalk timer - simplified interface
(EnableTimer) Enables or disables an timer
(EnableTimerGroup) Enables/disables a group of timers
(GetPluginTimerOption) Gets the value of a named timer option for a specified plugin
(GetPluginTriggerOption) Gets the value of a named trigger option for a specified plugin
(GetTimer) Gets details about a timer
(GetTimerInfo) Gets details about a timer
(GetTimerList) Gets the list of timers
(GetTimerOption) Gets the value of a named timer option
(IsTimer) Tests to see if a timer exists
(ResetTimer) Resets a named timer
(ResetTimers) Resets all timers
(SetTimerOption) Sets the value of a named timer option
(Help topic: function=DoAfter)