RuneScript/Queues: Difference between revisions
From RuneWiki
Line 20: | Line 20: | ||
softqueue*(queue $script, int $delay, …args); | softqueue*(queue $script, int $delay, …args); | ||
longqueue(queue $script, int $delay, int $arg, int $on_logout); | |||
Line 45: | Line 49: | ||
This concept comes from soft timers, which share the same behavior. No protected access means they typically cannot edit anything on the player - unless the command or type is marked as not requiring protection | This concept comes from soft timers, which share the same behavior. No protected access means they typically cannot edit anything on the player - unless the command or type is marked as not requiring protection | ||
==== Long ==== | |||
These scripts act like normal queues, but on logout may: | |||
^accelerate - execute now | |||
^discard - do nothing | |||
These are useful to ensure something always happens if you want it to. |
Revision as of 16:33, 16 February 2024
Commands
queue(queue $script, int $delay, int $arg);
queue*(queue $script, int $delay, …args);
getqueue(queue $script)(int);
clearqueue(queue $script);
weakqueue(queue $script, int $delay, int $arg);
weakqueue*(queue $script, int $delay, …args);
strongqueue(queue $script, int $delay, int $arg);
strongqueue*(queue $script, int $delay, …args);
softqueue(queue $script, int $delay, int $arg);
softqueue*(queue $script, int $delay, …args);
longqueue(queue $script, int $delay, int $arg, int $on_logout);
The asterisk version means it’s a dynamic command and may supply an arbitrary number of arguments.
Queue Types
Normal
Requires protected access before it can execute.
Weak
Requires protected access before it can execute.
Cleared when closing modals. Moving or interacting with something new closes modals and inherently clears weak queues
Strong
Requires protected access before it can execute.
Closes modals before executing and if the queue contains a strong queue at all (modals technically close twice)
Modals are aggressively closed because they block protected access
Soft
Not granted protected access so it can always execute.
This concept comes from soft timers, which share the same behavior. No protected access means they typically cannot edit anything on the player - unless the command or type is marked as not requiring protection
Long
These scripts act like normal queues, but on logout may:
^accelerate - execute now
^discard - do nothing
These are useful to ensure something always happens if you want it to.