Difference between revisions of "Sync"
From Unofficial QEdit Wiki Guide
(→Use) |
|||
Line 5: | Line 5: | ||
==Use== | ==Use== | ||
+ | Cause a thread to yield. PSO's quest engine is single threaded and every thread is allowed to on each and every frame. If a thread never yields, the client will freeze. Special menus called through opcodes will yield on their own. | ||
+ | |||
Pause function for a single frame. Used to delay actions. 30 frames = 1 second | Pause function for a single frame. Used to delay actions. 30 frames = 1 second | ||
Revision as of 23:56, 27 December 2022
Contents
Syntax
Syntax: sync
- None
Use
Cause a thread to yield. PSO's quest engine is single threaded and every thread is allowed to on each and every frame. If a thread never yields, the client will freeze. Special menus called through opcodes will yield on their own.
Pause function for a single frame. Used to delay actions. 30 frames = 1 second
Example
100: call 101 //Call function 101
window_msg 'Okay. I've waited 1 second. Now what?'
winend
ret
101: sync //Pause for 1 frame
addi R1, 00000001 //Add 1 to register R1
jmpi_<= R1, 0000001E, 101 //If R1 is less then or equal to 30 jump to 101
clear R1 //Set R1 to 0
ret