Essential SYNQ tools for timing, events, visuals, configuration, and navigation.
Current time in seconds, updated when SYNQ framework ticks. Equal to GetTime().
synq.time
Combined latency, tick rate, and jitter buffer for precise timing.
synq.buffer -- latency + tickRate + jitter
Latency to game server, averaged over last 30 seconds.
synq.latency
Time between each SYNQ framework tick.
synq.tickRate
Spell Queue Window duration set by SYNQ. Maximum time remaining on GCD or cast time for queuing next spell.
synq.spellCastBuffer
Expected GCD duration for 1.5s GCD spells, modified by haste.
synq.gcd -- 1.5 / (1 + player.haste)
Whether the player has control of their character.
synq.hasControl
Current zone text.
synq.zone
Current mapID.
synq.mapID
Table mapping power type names to numeric IDs.
synq.powerTypes -- { mana = 0, rage = 1, focus = 2, energy = 3, ... }
Adds callback to main framework ticker. Called in order added, just before routine actor.
synq.onTick(callback[, enabled])
Same as onTick, but runs every frame (faster).
synq.onUpdate(callback[, enabled])
Assign callback to combat log or other event.
synq.onEvent(callback, eventType)
Converts value to binary. Any value is 1, nil or false is 0.
synq.bin(conditions) : 1 | 0
Temporarily disables movement and optionally facing input.
synq.controlMovement(duration[, facing])
Temporarily disables facing input.
synq.controlFacing(duration)
Immediately stops player movement.
synq.StopMoving()
Creates references to associative array entries in other tables/namespaces.
synq.Populate(aArray, t1[, t2, t3, t4, t5, ...])
Reference to DBM/BigWigs pull timer. Defaults to 0.
synq.pullTimer : 0
Displays a toast alert. Always returns true for use in conditionals.
synq.alert([message / {options}], [texture]) : true
Options: message, texture, duration, fadeIn, fadeOut, bgColor, imgX, imgY, imgScale, counter
The counter option accepts a function that returns a dynamic value displayed on the alert, useful for showing countdowns or remaining values.
-- Show alert with a live DR countdown
synq.alert("Waiting for |cFFf74a4a[DR]|r", trap.id, {
counter = function() return target.incapDRRemains end
})
Converts spellID or texture ID into escape sequence string.
synq.textureEscape(spellID/FileDataID[, size, offsets])
Draws shapes, text, and textures in the 3D game world. See the full Draw API reference for all methods and examples.
synq.Draw(function(draw)
draw:SetColor(255, 100, 100, 200)
draw:SetWidth(2)
draw:Circle(x, y, z, radius, steps)
-- 20+ drawing methods available
end)
Creates persistent configuration storage. Shallow writes trigger saves.
synq.NewConfig(name)
Safe, humanized movement to coordinates. Includes speed-based throttling and positional jitter to produce natural-looking movement.
synq.MoveTo(x, y, z)
-- Move toward a target's position
local x, y, z = target.position()
if x then
synq.MoveTo(x, y, z)
end
Returns path object for navigation between player and coordinates.
synq.path(player, x, y, z)
Array of nodes with built-in methods.
path.simplify(tolerance, highestQuality) -- Douglas Peucker simplification
path.draw() -- Draw path for this tick
path.follow() -- Move character along path
Next: Learn about the Draw API for rendering shapes and visuals in the game world.