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
Low-level helpers for forcing the player to face a unit or angle. Most rotations don't call these directly — prefer the faceHack cast option documented in Spell Objects › Cast Options. Reach for these when you need facing outside of a :Cast.
Instantly faces the given unit (or raw angle in radians) and restores the previous orientation after, preserving mouselook. Optional offset is added in radians.
synq.FaceHack(unit, offset?)
synq.FaceHack(angleRadians, offset?)
Variant of FaceHack tuned for empowered casts.
synq.FaceHackEmpowered(unit)
Humanised facing that turns toward unit over multiple ticks rather than snapping. Pass the spellID you intend to cast so SYNQ can stop turning once facing is satisfied. Optional alertMsg displays an alert; x and y apply a positional offset.
synq.FaceSmooth(unit, spellID, alertMsg?, x?, y?)
Callback variant that smooths facing between two units for the given spell.
synq.FaceSmoothCB(unit, unit2, spellID)
Next: Learn about the Draw API for rendering shapes and visuals in the game world.