Difference between revisions of "Osiris/API/CharacterFlushQueue"

From Divinity Engine Wiki
Jump to: navigation, search
m (Replaced some keywords by links, corrected misinformation about this call also flushing PlayAnimation calls)
m (Document how to stop an ongoing animation)
Line 8: Line 8:
 
* This will only flush actions queued from Osiris. It has no effect on actions started from behaviour scripts.
 
* This will only flush actions queued from Osiris. It has no effect on actions started from behaviour scripts.
 
* If you wish to discard the queued actions instead of make their effects happen immediately, use [[Osiris/API/CharacterPurgeQueue|CharacterPurgeQueue]] instead.
 
* If you wish to discard the queued actions instead of make their effects happen immediately, use [[Osiris/API/CharacterPurgeQueue|CharacterPurgeQueue]] instead.
* A notable exception of APIs not affected by this API [[Osiris/API/PlayAnimation|PlayAnimation]]. See that page for information on how to abort an ongoing animation.
+
* A notable exception of APIs not affected by this API [[Osiris/API/PlayAnimation|PlayAnimation]]. An ongoing animation can be aborted by playing a new animation on the same object. If you specify a non-existent animation (such as the empty string), it will stop the ongoing animation without starting a new one (there is no clean way to achieve the same result).
 
===== See Also =====
 
===== See Also =====
 
* [[Osiris/API/CharacterPurgeQueue|CharacterPurgeQueue]]
 
* [[Osiris/API/CharacterPurgeQueue|CharacterPurgeQueue]]
 
    
 
    
 
[[Category:Osiris Calls]]
 
[[Category:Osiris Calls]]

Revision as of 10:56, 13 September 2017

Full Definition(s)
  • call CharacterFlushQueue((CHARACTERGUID)_Character)
Description

If you start an Osiris action for a character while another is still busy, or multiple actions at the same time, then these actions are all queued. For example, you can queue multiple CharacterMoveTo events to prevent a hick-up between catching the event from arriving and dispatching the next move.

This call will complete the currently executing action and all queued actions for _Character instantaneously while preserving their side-effects. This means that move events are turned into teleports, while animations are skipped (but their completion events will still be triggered, in order).

Notes
  • This will only flush actions queued from Osiris. It has no effect on actions started from behaviour scripts.
  • If you wish to discard the queued actions instead of make their effects happen immediately, use CharacterPurgeQueue instead.
  • A notable exception of APIs not affected by this API PlayAnimation. An ongoing animation can be aborted by playing a new animation on the same object. If you specify a non-existent animation (such as the empty string), it will stop the ongoing animation without starting a new one (there is no clean way to achieve the same result).
See Also