Navigation Maps & Extras
- Retail Maps (Full Incl. TWW)
- The War Within (Part)
- The War Within (Part)
- Classic Maps
- Autoloader Example 1 (without HTTP)
- Autoloader Example 2 (with HTTP)
- Autologin (Relogger)
- Daemonic VSCode Extension by AmsTaFFix
- General
- SecureCode
- Interact
- ClickPosition
- FaceDirection
- TraceLine
- GetWowAccountId
- WorldToScreen
- ScreenToWorld
- ObjectIsQuestObjective
- GetLastClickPosition
- GetCorpsePosition
- IsSpellPending
- CancelPendingSpell
- GetAngles
- GetDistance2D
- GetDistance3D
- RequireCode
- RequireCodeEnc
- GetSpellDispelType
- GameExpansion
- GameWindowSize
- GetCameraData
- Units
- UnitFields
- UnitPitch
- UnitSummonedBy
- UnitCreatedBy
- UnitTarget
- UnitHeight
- UnitFlags
- UnitFlags2
- UnitFlags3
- UnitNpcFlags
- UnitDynamicFlags
- UnitAnimationFlags
- UnitIsSkinnable
- UnitBoundingRadius
- UnitCombatReach
- UnitIsLootable
- UnitCastingTarget
- GetDragonridingSpeed
- UnitIsMounted
- UnitIsOutdoors
- UnitIsSubmerged
- UnitStandStateType
- UnitIsSitting
- UnitSpecializationID
- Camera
- Objects
- Movement
- Network
- Crypto
- File System
- Misc
- ResetAfk
- GetKeyState
- IsWindowActive
- ActivateWindow
- PlayWinSound
- GetSessionID
- GetSessionIndex
- ReadMemory
- SetClipboardText
- GetClipboardText
- KillSession
- GetProductStatus
- WipeString
- IsInWorld
- CompressString
- DecompressString
- GetScreenshot
- MinimizeWindow
- MoveWindow
- Draw
- JsonEncode
- JsonDecode
- EnableAntiCapture
- GetHWID
- SetMouseOverObject
- StopFalling
- SetGlobalVar
- GetGlobalVar
- ReloadGame
- IsInGlue
- DisconnectFromServer
SecureCode
Description: Allows you to unlock WoW protected APIs.
Usage: SecureCode(WoWProtectedAPI)
-- Usage Example: SecureCode("JumpOrAscendStart")
Interact
Description: Interact with any unit.
Usage: Interact(unit)
-- Usage Example: Interact("target") -- or local guid = UnitGUID("target") Interact(guid)
ClickPosition
Description: Left clicks a position in the world. This is mainly useful for casting area of effect spells.
Usage: ClickPosition(x, y, z)
-- Usage Example: local x, y, z = GetUnitPosition("target") ClickPosition(x, y, z) print(x, y, z)
FaceDirection
Description: Sets the facing of active player towards his target.
Usage: FaceDirection(radians, update)
-- Usage Example: local function FaceUnit() local ax, ay, az = GetUnitPosition("player") local bx, by, bz = GetUnitPosition("target") local dx, dy, dz = ax-bx, ay-by, az-bz local radians = math.atan2(-dy, -dx) if radians < 0 then radians = radians + math.pi * 2 end FaceDirection(radians) -- update by default is true, change it to false if you don't want to update movement. end FaceUnit()
TraceLine
Description: Traces a line from one point to another and checking if there is anything in player way
Usage: TraceLine(sx, sy, sz, ex, ey, ez, flags) // s=start point, e= ending point.
-- Flags M2Collision = 0x1 M2Render = 0x2 WMOCollision = 0x10 WMORender = 0x20 Terrain = 0x100 WaterWalkableLiquid = 0x10000 Liquid = 0x20000 EntityCollision = 0x100000
-- Usage Example: local function Los() local ax, ay, az = GetUnitPosition("player") local bx, by, bz = GetUnitPosition("target") local flags = bit.bor(0x10, 0x100, 0x1) local hit,x,y,z = TraceLine(ax,ay,az+2.25,bx,by,bz+2.25,flags); return hit == 0 end print(Los())
UnitFacing
Description: Returns the direction a unit is facing.
Usage: UnitFacing(unit)
-- Usage Example: local function IsUnitFacing() local ax, ay, az = GetUnitPosition("player") local bx, by, bz = GetUnitPosition("target") local dx, dy, dz = ax-bx, ay-by, az-bz local rotation = UnitFacing("player"); local value = (dy*math.sin(-rotation) - dx*math.cos(-rotation)) / math.sqrt(dx*dx + dy*dy) local isFacing = value > 0.25 return isFacing end print(IsUnitFacing())
UnitScale
Description: Returns the scale of a unit.
Usage: UnitScale(unit)
-- Usage Example: print(UnitScale('target'))
GetKeyState
Description: Returns the state of a key such as “RALT”, “RCONTROL”, “RSHIFT”..etc and returns a boolean.
Usage: GetKeyState(key)
-- Usage Example: local isAltDown = (GetKeyState("LALT") == 1) print(isAltDown)
GetWowAccountId
Description: Returns bnet account tag, id and wow account.
Usage: GetWowAccountId()
-- Usage Example: print(GetWowAccountId())
GetUnitPosition
Description: Returns unit position.
Usage: GetUnitPosition(unit)
-- Usage Example: local x, y, z = GetUnitPosition("player") print(x,y,z)
GetCameraPosition
Description: Returns x, y, z camera position.
Usage: GetCameraPosition()
-- Usage Example: local x, y, z = GetCameraPosition() print(x,y,z)
GetLastClickPosition
Description: Returns last mouse click position.
Usage: GetLastClickPosition()
-- Usage Example: local x, y, z = GetLastClickPosition() print(x,y,z)
GetCorpsePosition
Description: Returns corpse position.
Usage: GetCorpsePosition()
-- Usage Example: local x, y, z = GetCorpsePosition() print(x,y,z)
IsSpellPending
Description: Checks if a cursor spell cast is pending.
Usage: IsSpellPending()
-- Usage Example: Spellfunc = function() local pending = IsSpellPending() if pending == 64 then CancelPendingSpell() end end Spellfunc()
CancelPendingSpell
Description: Cancels a cursor spell cast that is pending.
Usage: CancelPendingSpell()
-- Usage Example: Spellfunc = function() local pending = IsSpellPending() if pending == 64 then CancelPendingSpell() end end Spellfunc()
GetAngles
Description: Calculates angles between two units or two positions.
Usage: GetAngles(x1, y1, z1, x2, y2, z2) or GetAngles(unit1, unit2)
-- Usage Example: local facing, pitch = GetAngles("player","target")
GetCameraRotation
Description: Returns camera rotation.
Usage: GetCameraRotation()
-- Usage Example: local x, y, z = GetCameraRotation() print(x,y,z)
SetCameraRotation
Description: Sets camera rotation.
Usage: SetCameraRotation(x,y,z)
-- Usage Example: SetCameraRotation(0, 0, 0)
SetPitch
Description: Sets the player vertical pitch, in radian.
Usage: SetPitch(angle)
-- Usage Example: SetPitch(1.5)
WorldToScreen
Description: Returns the screen location of a 3d game location on the screen.
Usage: WorldToScreen(x, y, z)
-- Usage Example: local function MainWorldToScreen(wX, wY, wZ) local sX, sY, Visible = WorldToScreen(wX, wY, wZ) if not Visible and (not sX or sX == 0) and (not sY or sY == 0) then return false, false, false end return sX, -sY, Visible end
ScreenToWorld
Description: Returns the screen 2D coordinates to 3D world coordinates.
Usage: ScreenToWorld(x, y, flags)
-- Flags M2Collision = 0x1 M2Render = 0x2 WMOCollision = 0x10 WMORender = 0x20 Terrain = 0x100 WaterWalkableLiquid = 0x10000 Liquid = 0x20000 EntityCollision = 0x100000
-- Usage Example: local x, y = GetCursorPosition() local flags = bit.bor(0x10, 0x100, 0x1) local wx, wy, wz = ScreenToWorld(x, y, flags) print(wx, wy, wz)
ObjectIsQuestObjective
Description: Identifies GameObjects that are Quest Objectives
Usage: ObjectIsQuestObjective(object)
-- Usage Example: for i = 1, GetObjectCount(), 1 do local object = GetObjectWithIndex(i) if ObjectIsQuestObjective(object) then print(object) end end
SetTargetUnit
Description: Sets a unit as a target.
Usage: SetTargetUnit(unit)
-- Usage Example: SetTargetUnit("player")
Synchronous and Asynchronous
Description: Enables your bot to interact with HTTPS protocol.
Usage: Refer to below example
-- Asynchronous Example: local function httpAsync(method, url, parameters, headers, callback) local id = InetRequest(method, url, parameters, headers) local function check() local res, status = InetGetRequest(id) if res then callback(res, status) else C_Timer.After(0.04, check) end end C_Timer.After(0.04, check) end local function httpHandler(res, status) if status == 200 then print(res) else print("Wrong Status '" .. status .. "' in response!") end end httpAsync( "GET", "example.com/", -- DO NOT USE PROTOCOL BEFORE THE DOMAIN "", "", httpHandler)
IsGuid
Description: Verifies that a variable is a valid GUID. Returns 1 or nill.
Usage: IsGuid(guid)
-- Usage Example: -- GUID print(IsGuid("Creature-X-XXXX-XXXX-XX-XXXXXX-XXXXXXXXXX")) -- Adding UnitGUID print(IsGuid(UnitGUID("player")))
GetObjectCount
Description: Returns the count of all world objects, as well as the changes compared to the last call.
Usage: GetObjectCount()
-- Usage Example: print(GetObjectCount())
GetObjectWithIndex
Description: Returns a specific world object by its index in the saved memory objects from the previous call to GetObjectCount
.
Usage: GetObjectWithIndex(index)
-- Usage Example: for i = 1, GetObjectCount(), 1 do local guid = GetObjectWithIndex(i) if IsGuid(guid) then print(guid) end end
ObjectField
Description: Reads raw memory of a unit.
Usage: ObjectField(unit, offset, type)
-- Lua Types Bool = 1 Char = 2 Byte = 3 Short = 4 UShort = 5 Int = 6 UInt = 7 Long = 8 ULong = 9 Float = 10 Double = 11 StringType = 12 IntPtr = 13 UIntPtr = 14 GUID = 15
-- Usage Example: print(ObjectField("player", 0x18, 15)) -- Will print GUID
UnitField – Category Only (Not API)
Description: Returns unit field of API*.
Usage: API*(unit)
API*: Any listed API under UnitField.
Note: You can find unit defines here.
-- Usage Example: print(UnitPitch("target")) print(UnitSummonedBy("target")) print(UnitCreatedBy("target")) print(UnitTarget("target")) print(UnitHeight("target")) print(UnitFlags("target")) print(UnitFlags2("target")) print(UnitFlags3("target")) print(UnitNpcFlags("target")) print(UnitBoundingRadius("target")) print(UnitCombatReach("target")) print(UnitDynamicFlags("target")) print(UnitAnimationFlags("target")) print(UnitIsSkinnable("target")) print(UnitIsLootable("target")) print(UnitCastingTarget("target")) print(UnitIsMounted("target")) print(UnitIsOutdoors("target")) print(UnitIsSubmerged("target")) print(UnitStandStateType("target")) print(UnitIsSitting("target")) print(UnitSpecializationID("player"))
UnitCreatureTypeId
Description: Returns creature type.
Usage: UnitCreatureTypeId(unit)
Beast = 1 Dragonkin = 2 Demon = 3 Elemental = 4 Giant = 5 Undead = 6 Humanoid = 7 Critter = 8 Mechanical = 9 Not-specified = 10 Totem = 11 Non-combat Pet = 12 Gas Cloud = 13 Wild Pet = 14 -- Retail Only Aberration = 15 -- Retail Only
-- Usage Example: print(UnitCreatureTypeId("target"))
ObjectName
Description: Returns the display name of a unit.
Usage: ObjectName(unit)
-- Usage Example: print(ObjectName("player"))
ObjectType
Description: Returns unit type.
Usage: ObjectType(unit)
-- Object Types Object = 0 Item = 1 Container = 2 AzeriteEmpoweredItem = 3 AzeriteItem = 4 Unit = 5 Player = 6 ActivePlayer = 7 GameObject = 8 DynamicObject = 9 Corpse = 10 AreaTrigger = 11 SceneObject = 12 Conversation = 13 AiGroup = 14 Scenario = 15 Loot = 16 Invalid = 17
-- Usage Example: print(ObjectType("player"))
ObjectExists
Description: Checks if object exits.
Usage: ObjectExists(unit)
-- Usage Example: print(ObjectExists("target"))
GameObjectType
Description: Returns game object type.
Usage: GameObjectType(unit)
Door = 0 Button = 1 Questgiver = 2 Chest = 3 -- Herbs, Minerals, Chests Binder = 4 Generic = 5 Trap = 6 Chair = 7 SpellFocus = 8 Text = 9 Goober = 10 TransportElevator = 11 AreaDamage = 12 Camera = 13 Mapobject = 14 MoTransportShip = 15 DuelFlag = 16 FishingNode = 17 Ritual = 18 Mailbox = 19 DONOTUSE1 = 20 GuardPost = 21 SpellCaster = 22 MeetingStone = 23 FlagStand = 24 FishingHole = 25 FlagDrop = 26 DONOTUSE2 = 27 DONOTUSE3 = 28 ControlZone = 29 AuraGenerator = 30 DungeonDifficulty = 31 BarberChair = 32 DestructibleBuilding = 33 GuildBank = 34 Trapdoor = 35 Newflag = 36 Newflagdrop = 37 GarrisonBuilding = 38 GarrisonPlot = 39 ClientCreature = 40 ClientItem = 41 CapturePoint = 42 PhaseableMO = 43 GarrisonMonument = 44 GarrisonShipment = 45 GarrisonMonumentPlaque = 46 ItemForge = 47 UILink = 48 KeystoneReceptacle = 49 GatheringNode = 50 ChallengeModeReward = 51 Multi = 52 SeigableMulti = 53 SeigableMo = 54 PvpReward = 55 PlayerChoiceChest = 56 LegendaryForge = 57 GearTalentTree = 58 WeeklyRewardChest = 59 ClientModel = 60
-- Usage Example: for i = 1, GetObjectCount(), 1 do local guid = GetObjectWithIndex(i) if ObjectType(guid) == 8 then print(ObjectName(guid), GameObjectType(guid)) end end
ObjectID
Description: Returns the id of an object.
Usage: ObjectID(object)
-- Usage Example: for i = 1, GetObjectCount(), 1 do local guid = GetObjectWithIndex(i) if ObjectType(guid) == 8 then print(ObjectName(guid), GameObjectType(guid), ObjectID(guid)) end end
GetMissileCount
Description: Returns the number of missiles.
Usage: GetMissileCount()
-- Usage Example: print(GetMissileCount())
GetMissileWithIndex
Description: Returns the info of a specific missile.
Usage: GetObjectWithIndex(index)
-- Usage Example: local draw = Draw:New() DrawMissiles = function() local missileCount = GetMissileCount() draw:ClearCanvas() draw:SetColor(0, 255, 0, 255) if missileCount ~= 0 then for i = 1, missileCount do local spellID, spellVisualID, x, y, z, caster, sx, sy, sz, target, tx, ty, tz = GetMissileWithIndex(i) local facing = GetAngles(sx, sy, sz, x, y, z) if facing ~= 0 then draw:Arrow(x, y, z, facing, 2) draw:Text("Missile", "GameFontNormal", x, y, z) end end end C_Timer.After(0.01, DrawMissiles) end DrawMissiles()
MoveTo
Description: Clicks to move.
Usage: MoveTo(x, y, z)
-- Usage Example: local x, y, z = GetUnitPosition("target") MoveTo(x, y, z)
GetUnitMovementFlags
Description: Returns unit movement flags.
Usage: GetUnitMovementFlags(unit)
-- Movement Flags: Forward = 0x1 Backward = 0x2 StrafeLeft = 0x4 StrafeRight = 0x8 TurnLeft = 0x10 TurnRight = 0x20 PitchUp = 0x40 PitchDown = 0x80 Walking = 0x100 Immobilized = 0x400 Falling = 0x800 FallingFar = 0x1000 Swimming = 0x100000 Ascending = 0x200000 Descending = 0x400000 CanFly = 0x800000 Flying = 0x1000000
-- Usage Example: print(GetUnitMovementFlags("player"))
FindPath
Description: Finds a path between two positions for the given map ID
Usage: FindPath(mapId,x1, y1, z1, x2, y2, z2)
Note: By default, it will not swim in all liquids. To make it swim add a “true” parameter to end of FindPath parameters.
-- Usage Example: function navToTarget() local px, py, pz = GetUnitPosition('player') local tx, ty, tz = GetUnitPosition('target') local mapId = GetMapID() local PathCnt = FindPath(mapId, px, py, pz, tx, ty, tz) if PathCnt == nil then print('Invalid or nil arguments!') return end if PathCnt == 0 then print('Navigation Finished.') return end if PathCnt == -1 then print('Map files not exists or invalid!') return end if PathCnt == -2 then print('Out of memeory!') return end if PathCnt == -3 then print('Map caching...') else MoveTo(GetPathNode(2)) end C_Timer.After(0.04, navToTarget) end navToTarget()
GetPathNode
Description: Returns a path with path index
Usage: GetPathNode(pathIndex) : x, y, z
Note: By default, it will not swim in all liquids. To make it swim add a “true” parameter to end of FindPath parameters.
-- Usage Example: function navToTarget() local px, py, pz = GetUnitPosition('player') local tx, ty, tz = GetUnitPosition('target') local mapId = GetMapID() local PathCnt = FindPath(mapId, px, py, pz, tx, ty, tz) if PathCnt == nil then print('Invalid or nil arguments!') return end if PathCnt == 0 then print('Navigation Finished.') return end if PathCnt == -1 then print('Map files not exists or invalid!') return end if PathCnt == -2 then print('Out of memeory!') return end if PathCnt == -3 then print('Map caching...') else MoveTo(GetPathNode(2)) end C_Timer.After(0.04, navToTarget) end navToTarget()
SetMapsPath
Description: Changes the default maps locations to any path you set.
Usage: SetMapsPath(path)
-- Usage Example: SetMapsPath("C:\\Maps\\")
ReadFile
Description: Reads file and returns its content.
Usage: ReadFile(path)
-- Usage Example: ReadFile(GetExeDirectory() .. "example1.lua") -- or ReadFile(GetWowDirectory() .. "example2.lua")
WriteFile
Description: Writes a string to a file.
Usage: WriteFile(path, content, append)
-- Usage Example: WriteFile(GetExeDirectory() .. "example1.lua", "example1", false) -- or WriteFile(GetWowDirectory() .. "example2.lua", "example2", false)
RenameFile
Description: Renames a file.
Usage: RenameFile(currentName, newName)
-- Usage Example: RenameFile(GetExeDirectory() .. "example1.lua", GetExeDirectory() .. "example2.lua") -- or RenameFile(GetWowDirectory() .. "example2.lua", GetWowDirectory() .. "example1.lua")
GetWowDirectory
Description: Shows the directory path of wow.
Usage: GetWowDirectory()
-- Usage Example: print(GetWowDirectory())
GetExeDirectory
Description: Returns Daemonic exe directory path
Usage: GetExeDirectory()
-- Usage Example: print(GetExeDirectory())
GetDirectoryFiles
Description: Lists files in directory.
Usage: GetDirectoryFolders(path, pattern)
-- Usage Example: print(GetDirectoryFiles(GetExeDirectory() .. "Example", "*"))
GetDirectoryFolders
Description: Lists folders in directory.
Usage: GetDirectoryFolders(path, pattern)
-- Usage Example: print(GetDirectoryFolders(GetExeDirectory() .. "Test\\", "*"))
FileExists
Description: Check if file exists in path.
Usage: FileExists(path)
-- Usage Example: print(FileExists(GetExeDirectory() .. "Example.lua"))
CreateDirectory
Description: Create a directory in specified path.
Usage: CreateDirectory(path)
-- Usage Example: CreateDirectory(GetExeDirectory() .. "Example") -- or CreateDirectory(GetWowDirectory() .. "Example")
DirectoryExists
Description: Checks if directory exists in specified path.
Usage: DirectoryExists(path)
-- Usage Example: print(DirectoryExists(GetExeDirectory() .. "Example")) -- or print(DirectoryExists(GetWowDirectory() .. "Example"))
IsWritablePath
Description: Checks if path is writable.
Usage: IsWritablePath(path)
-- Usage Example: print(IsWritablePath(GetExeDirectory() .. "Example")) -- or print(IsWritablePath(GetWowDirectory() .. "Example"))
DeleteFile
Description: Delete any targeted files in path.
Usage: DeleteFile(path)
-- Usage Example: DeleteFile(GetExeDirectory() .. "example1.lua") -- or DeleteFile(GetWowDirectory() .. "example2.lua")
DeleteDirectory
Description: Delete any targeted directory in path.
Usage: DeleteDirectory(path)
Note: Directory must not contain any files to get deleted successfully.
-- Usage Example: DeleteDirectory(GetExeDirectory() .. "example1") -- or DeleteDirectory(GetWowDirectory() .. "example2")
EncryptAutoLoad
Description: Encrypt AutoLoad files for Daemonic client.
Usage: EncryptAutoLoad(inputFile path, outputFile path)
-- Usage Example: EncryptAutoLoad(GetExeDirectory() .. "files\\inputFile.lua", GetExeDirectory() .. "files\\outputFile.lua")
EncryptString
Description: Encrypt string using any of the three different encryption types shown below.
Usage: EncryptString(string, key, type, iv) – (iv) is optional.
Note: Key must be 32 character length. Third and Fourth parameters (type & iv) are optional (type by default is 3). If (iv) is defined, type must be defined as well.
Types: 1. Encryption + Random Key, 2. Encryption + Compression + Key, 3. AES 256 Encryption + Key (default)
-- Usage Example: -- Simple example print(EncryptString("test", "12345678901234567890123456789012")) -- Advanced EncryptFile = function(inputFile, outputFile, Key) S = EncryptString(ReadFile(inputFile), Key) WriteFile(outputFile, S, false) end EncryptFile(GetExeDirectory() .. "inputFile.lua", GetExeDirectory() .. "outputFile.lua", "12345678901234567890123456789012") -- Result is AES 256 encrypted outputFile.lua
DecryptString
Description: Decrypt string.
Usage: DecryptString(string, key, type, iv) – (iv) is optional.
Note: Key must be 32 character length. Third and Fourth parameters (type & iv) are optional (type by default is 3). If (iv) is defined, type must be defined as well.
-- Usage Example: DecryptFile = function(inputFile, outputFile, Key) S = DecryptString(ReadFile(inputFile), Key) WriteFile(outputFile, S, false) end DecryptFile(GetExeDirectory() .. "outputFile.lua", GetExeDirectory() .. "outputFile2.lua", "12345678901234567890123456789012") -- Result is decrypted outputFile2.lua
HashString
Description: Hash string using any of the three different Hash types as shown below.
Usage: HashString(string, type)
Types: 1. MD5, 2. SHA1, 3. SHA256 (default)
-- Usage Example: -- Simple example print(HashString("test", 3)) -- SHA256 -- Advanced HashFile = function(inputFile, Type) S = HashString(ReadFile(inputFile), Type) return S end print(HashFile(GetExeDirectory() .. "inputFile.lua", 3)) -- Result is SHA256 hashed inputFile.lua
HmacString
Description: Hash string using any of the three different Hash types as shown below.
Usage: HmacString(string, key, type)
Types: 1. HMAC-MD5, 2. HMAC-SHA1, 3. HMAC-SHA256 (default)
-- Usage Example: -- Simple example print(HmacString("test", "12345678901234567890123456789012", 3)) -- HMAC-SHA256 -- Advanced HmacFile = function(inputFile, Key) S = HmacString(ReadFile(inputFile), Key) return S end print(HmacFile(GetExeDirectory() .. "inputFile.lua", "12345678901234567890123456789012")) -- Result is HMAC-SHA256 inputFile.lua
Base64EncodeString
Description: Encode string to Base64.
Usage: Base64EncodeString(string)
-- Usage Example: print(Base64EncodeString("Test"))
Base64DecodeString
Description: Decode Base64 string.
Usage: Base64DecodeString(string)
-- Usage Example: print(Base64DecodeString("VGVzdA=="))
DecryptAndRunString
Description: Decrypt and runs encrypted string.
Usage: DecryptAndRunString(string, key, type)
Types: 1. Encryption + Random Key, 2. Encryption + Compression + Key, 3. AES 256 Encryption + Key (default)
-- Usage Example: local function httpAsync(method, url, parameters, headers, callback) local id = InetRequest(method, url, parameters, headers) local function check() local res, status = InetGetRequest(id) if res then callback(res, status) else C_Timer.After(0.04, check) end end C_Timer.After(0.04, check) end local function httpHandler(res, status) if status == 200 then DecryptAndRunString(res,"12345678901234567890123456789012") -- default type (3) else print("Wrong Status '" .. status .. "' in response!") end end print("Try to run codes from the web (Jump)") httpAsync( "GET", "daemonic.cc/downloads/test.txt", -- DO NOT USE PROTOCOL BEFORE THE DOMAIN "", "", httpHandler)
LoadString
Description: Loads lua string.
Usage: LoadString(string, debugName)
-- Usage Example: Loader = LoadString("C_Timer.After(2, function() print('TEST') end)") Loader() -- will print TEST after two seconds
DecryptAndLoadString
Description: Decrypt and loads lua string
Usage: DecryptAndLoadString(EncryptedluaCode, Key, Type, IV, debugName)
-- Usage Example: Loader = DecryptAndLoadString("EpAzxgPMY8vftN8gZlR1N38krVgr38bCoJxls0f3Hcy0GQxv1pSenPF/iTit4GTRZZ2rY1Ed5sgVUosPdn12UA==", "12345678901234567890123456789012") Loader() -- will print TEST after two seconds
ResetAfk
Description: Calling this will make your player not go AFK.
Usage: ResetAfk()
-- Usage Example: local function AntiAFK() ResetAfk() C_Timer.After(60, AntiAFK) end AntiAFK()
IsWindowActive
Description: Checks if game is active and foregrounded
Usage: IsWindowActive()
-- Usage Example: print(IsWindowActive())
ActivateWindow
Description: Force window to foreground.
Usage: ActivateWindow()
-- Usage Example: C_Timer.After(5, function() ActivateWindow() end)
PlayWinSound
Description: Plays .wave sound.
Usage: PlayWinSound(waveFilePath)
-- Usage Example: PlayWinSound(GetExeDirectoy() .. "start.wav")
GetSessionID
Description: Returns a unique ID per game process. This ID is fixed until the game process is closed.
Usage: GetSessionID()
-- Usage Example: print(GetSessionID())
GetSessionIndex
Description: Returns the current session index.
Usage: GetSessionIndex()
-- Usage Example: local sidx = GetSessionIndex() print(sidx)
ReadMemory
Description: Reads raw memory of any address.
Usage: ReadMemory(MemAddress, Offset, Type)
-- Lua Types Bool = 1 Char = 2 Byte = 3 Short = 4 UShort = 5 Int = 6 UInt = 7 Long = 8 ULong = 9 Float = 10 Double = 11 StringType = 12 IntPtr = 13 UIntPtr = 14 GUID = 15
-- Usage Example: print(ReadMemory(0x12345678, 0, 14))
SetClipboardText
Description: Sets text to clipboard.
Usage: SetClipboardText(text)
-- Usage Example: SetClipboardText("Test")
GetClipboardText
Description: Returns text from clipboard.
Usage: GetClipboardText()
-- Usage Example: print(GetClipboardText())
GetDistance2D
Description: Returns 2D distance between units/objects.
Usage: GetDistance2D(x1, y1, z1, x2, y2, z2) or GetDistance2D(unit1, unit2)
-- Usage Example: GetDistance2D("player", "target")
GetDistance3D
Description: Returns 3D distance between two units/objects.
Usage: GetDistance3D(x1, y1, z1, x2, y2, z2) or GetDistance3D(unit1, unit2)
-- Usage Example: GetDistance3D("player", "target")
GetTileByPosition
Description: Returns player tile x,y coordinates.
Usage: GetTileByPosition(x,y,z)
-- Usage Example: local x, y, z = GetUnitPosition("player") print(GetTileByPosition(x,y,z))
UnloadMaps
Description: Unload maps from memory.
Usage: UnloadMaps()
-- Usage Example: UnloadMaps()
KillSession
Description: Kills your session process.
Usage: KillSession()
-- Usage Example: KillSession()
GetProductStatus
Description: Returns status of Daemonic product.
Usage: GetProductStatus(ProductNumber)
-- Usage Example: -- 1: Retail -- 2: Wotlk & Era (Classic) print(GetProductStatus(1) == 0) -- returns true if you are using Daemonic Retail
IsInWorld
Description: Returns if player is in world.
Usage: IsInWorld()
-- Usage Example: if IsInWorld() then print("Player is in world..") end
WipeString
Description: Wipes string from game memory.
Usage: WipeString(string)
-- Usage Example: local key = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456" WipeString(key) key = nil
GetAuraCount
Description: Returns the count of auras (including hidden ones).
Usage: GetAuraCount(unit, [spellId])
-- Usage Example: local count = GetAuraCount('player') print(count)
GetAuraWithIndex
Description: Returns the spellID, count, duration and expiration time of a specific aura.
Usage: GetAuraWithIndex(index)
-- Usage Example: local count = GetAuraCount('player') if count then for i = 1, count do local splId, count, duration, expirationTime = GetAuraWithIndex(i) local splName = GetSpellInfo(splId) local dispelType = GetSpellDispelType(splId) print(i, splName, splId, count, dispelType, duration, expirationTime) end end
CompressString
Description: Data compression.
Usage: CompressString(string)
-- Usage Example: local data = CompressString("Text to compress") if DecompressString(data) == "Text to compress" then print("Decompress is ok") end
DecompressString
Description: Data decompression.
Usage: DecompressString(string)
-- Usage Example: local data = CompressString("Text to compress") if DecompressString(data) == "Text to compress" then print("Decompress is ok") end
GetSpellDispelType
Description: Returns dispel type.
Usage: GetSpellDispelType(spellID)
-- Usage Example: local dispelName, dispelID = GetSpellDispelType(spellID)
GetDragonridingSpeed (Retail Only)
Description: Returns dragon riding horizontal and vertical speed.
Usage: GetDragonridingSpeed(unit)
-- Usage Example: local horizontalMomentum, verticalMomentum = GetDragonridingSpeed("player")
ObjectMover
Description: Returns the transport the unit is moving on.
Usage: ObjectMover(unit)
-- Usage Example: print(ObjectMover('player')) print(ObjectName(ObjectMover('player'))) print(GetUnitPosition(ObjectMover('player')))
SetObjectField
Description: Sets any data for any given offset.
Usage: SetObjectField(unit, offset, type, data)
Note: Lua type must match ObjectField type.
-- Usage Example: SetObjectField("player", 0x11C, 10, 1.5) -- Will set player pitch to 1.5 (Retail)
GameExpansion
Description: Returns wow game expansion.
Usage: GameExpansion()
-- Usage Example: print(GameExpansion()) -- returns Retail, Classic, Classic_Era
EncryptCode
Description: Encrypt luaCode to be used with the following APIs:
– LoadStringEnc
– RequireCodeEnc
– RequireFileEnc
Usage: EncryptCode(luaCode)
-- Usage Example: local codes = EncryptCode("print('test')") LoadStringEnc(codes)()
LoadStringEnc
Description: Loads encrypted string from EncryptCode API.
Usage: LoadStringEnc(encryptedString, debugName)
-- Usage Example: local codes = EncryptCode("print('test')") LoadStringEnc(codes)()
GameWindowSize
Description: Returns actual widow size.
Usage: GameWindowSize()
-- Usage Example: local width, height, scale = GameWindowSize()
GetCameraData
Description: Returns different camera data.
Usage: GetCameraData()
-- Usage Example: local camX, camY, camZ, matrixYX, matrixYY, matrixYZ, matrixZX, matrixZY, matrixZZ, matrixXX, matrixXY, matrixXZ, camFov, camYaw, camPitch, camRoll = GetCameraData()
UnitStandStateType
Description: Returns the unit stand state type.
Usage: UnitStandStateType(unit)
-- Usage Example: STAND = 0, SIT = 1, SIT_CHAIR = 2, SLEEP = 3, SIT_LOW_CHAIR = 4, SIT_MEDIUM_CHAIR = 5, SIT_HIGH_CHAIR = 6, DEAD = 7, KNEEL = 8, SUBMERGED = 9, print(UnitStandStateType("player"))
SendMovementHeartbeat
Description: Sends a heartbeat packet to the server.
Usage: SendMovementHeartbeat()
-- Usage Example: FaceDirection(angle, false) SendMovementHeartbeat()
GetScreenshot
Description: Take screenshot of wow window and save it near unlocker exe.
Note: Filename format: MMDDYY_HHMMSS_mapID_X_Y_Z.
Usage: GetScreenshot(filepath)
-- Usage Example: GetScreenshot() -- Will save the screenshot with the following format: MMDDYY_HHMMSS_mapID_X_Y_Z GetScreenshot(GetExeDirectory() .. "GatherBot.jpg") -- Will save the screenshot under the name of "GatherBot" in the provided path
MinimizeWindow
Description: Minimizes WoW window.
Usage: MinimizeWindow()
-- Usage Example: MinimizeWindow()
GetUnitRawPosition
Description: Returns the raw position of unit.
Usage: GetUnitRawPosition(unit)
-- Usage Example: local x, y, z = GetUnitRawPosition("player") print(x,y,z)
UnitRawFacing
Description: Returns the raw direction a unit is facing.
Usage: UnitRawFacing(unit)
-- Usage Example: print(UnitRawFacing("player"))
ClearTargetUnit
Description: Clears current target.
Usage: ClearTargetUnit()
-- Usage Example: ClearTargetUnit()
GetMapID
Description: Returns current MapID.
Usage: GetMapID()
-- Usage Example: print(GetMapID())
MoveWindow
Description: Moves and resizes game window to desired screen coordinates and size.
Usage: MoveWindow(x, y, w, h)
-- Usage Example: MoveWindow(0, 0) -- will move window to top left MoveWindow(0, 0, 1360, 768) -- will move window to top left and resize window to 1360x768
UnitEffect
Description: Returns unit effect spellID and location (x,y,z).
Usage: UnitEffect(unit)
-- Usage Example: local x, y, z, spellID = UnitEffect(unit)
CopyFile
Description: Copies file from source path to destination.
Usage: CopyFile(SrcFile, DestFile)
-- Usage Example: CopyFile(GetExeDirectory() .. "file.lua", GetWowDirectory() .. "Interface\\AddOns\\file.lua")
CopyDirectory
Description: Copies directory and all included files and sub directories from source path to destination.
Usage: CopyDirectory(SrcDir, DestDir)
-- Usage Example: CopyDirectory(GetExeDirectory() .. "MyAddonFolder", GetWowDirectory() .. "Interface\\AddOns\\MyAddonFolder")
RemoveDirectory
Description: Removes directory and all included files and sub directories.
Usage: RemoveDirectory(DirPath)
-- Usage Example: RemoveDirectory(GetExeDirectory() .. "MyAddonFolder")
RequireCode
Description: Runs lua codes provided in the code parameter.
Usage: RequireCode(code, debugname, [variables])
-- res1: Return code running status (true or false). -- res2: Returned data by code or error information or nil. -- debugname: Will be displayed in errors, e.g: file name. -- variables: Will be passed to the codes by order. -- Usage Example: local var1 = 1000 local code = "local var1 = ...; var1 = var1 + 1; return var1;" local res1, res2 = RequireCode(code, "testcode", var1) if res1 then print("result is:", res2) else print("error is:", res2) end
RequireCodeEnc
Description: Runs encrypted lua codes provided in the code parameter which is encrypted using “EncryptCode”.
Usage: RequireCodeEnc(code, debugname, [variables])
-- res1: Return code running status (true or false). -- res2: Returned data by code or error information or nil. -- debugname: Will be displayed in errors, e.g: file name. -- variables: Will be passed to the codes by order. -- Usage Example: local mybot = {} local res1, res2 = RequireCodeEnc(encryptedcode, "testcode", mybot)
RequireFile
Description: Runs lua file provided in the file parameter.
Usage: RequireFile(file, [variables])
-- res1: Return code running status (true or false). -- res2: Returned data by code or error information or nil. -- variables: Will be passed to the codes by order. -- File path must be relative and only from client directory and sub directories. -- Usage Example: local mybot = {} local res1, res2 = RequireFile("file.lua", mybot)
RequireFileEnc
Description: Runs encrypted lua file provided in the file parameter which is encrypted using “EncryptCode”.
Usage: RequireFileEnc(file, [variables])
-- res1: Return code running status (true or false). -- res2: Returned data by code or error information or nil. -- variables: Will be passed to the codes by order. -- File path must be relative and only from client directory and sub directories. -- Usage Example: local mybot = {} local res1, res2 = RequireFileEnc("encryptedfile.lua", mybot)
JsonEncode
Description: Encode lua table to json string.
Usage: JsonEncode(table)
-- Usage Example: local tbl = {sale = true} print(JsonEncode(tbl))
JsonDecode
Description: Decode json string to lua table.
Usage: JsonDecode(string)
-- Usage Example: local tbl = JsonDecode('{"sale":true}') if tbl.sale then print('sale is true') else print('sale is false') end
Draw
-- Usage Example: function Draw:WorldToScreen(wx, wy, wz) function Draw:CameraPosition() function Draw:SetColor(r, g, b, a) function Draw:SetAlpha(a) function Draw:SetWidth(width) function Draw:HexToRGB(hex) function Draw:SetColorFromObject(object) function Draw:GetColorFromObject(object) function Draw:Distance(ax, ay, az, bx, by, bz) function Draw:Distance2D(ax, ay, bx, by) function Draw:RotateX(cx, cy, cz, px, py, pz, rot) function Draw:RotateY(cx, cy, cz, px, py, pz, rot) function Draw:RotateZ(cx, cy, cz, px, py, pz, rot) function Draw:Line(sx, sy, sz, ex, ey, ez, drawAlways) function Draw:Line2D(sx, sy, ex, ey) function Draw:Circle(x, y, z, radius, steps) function Draw:GroundCircle(x, y, z, radius, steps) function Draw:Outline(x, y, z, radius) function Draw:FilledCircle(x, y, z, radius) function Draw:Arrow(x, y, z, rot, size) function Draw:Cross(x, y, z, size) function Draw:Arc(x, y, z, size, arc, rot) function Draw:FilledArc(x, y, z, size, arc, rot) function Draw:Cylinder(x, y, z, radius, height) function Draw:Text(text, font, x, y, z, progress) function Draw:Rectangle(x, y, z, width, length, rot, offsx, offsy) function Draw:Cube(x, y, z, width, length, height, rot, offsx, offsy) function Draw:Pyramid(x, y, z, size, height, rot, offsx, offsy) function Draw:FilledRectangle(x, y, z, width, length, rot, offset) function Draw:Texture(config, x, y, z, alphaA) function Draw:ClearCanvas() function Draw:Update() function Draw:Helper() function Draw:Enable() function Draw:Disable() function Draw:Enabled() function Draw:Sync(callback) function Draw:New(canvas)
GetHWID
Description: Gets hardware ID.
Usage: GetHWID()
-- Usage Example: print(GetHWID())
EnableAntiCapture
Description: Prevent screenshots and recordings.
Usage: EnableAntiCapture()
-- Usage Example: EnableAntiCapture()
FindClosestPointOnMesh
Description: Finds closest point on mesh at a given threshold.
Usage: FindClosestPointOnMesh(mapid, x, y, z, dx, dy, dz)
-- Usage Example: local tx, ty, tz = GetUnitPosition('target') local mapId = GetMapID() local res, x, y, z = FindClosestPointOnMesh(mapId, tx, ty, tz, 0, 0, 200) if res == nil then print('Invalid or nil arguments!') elseif res == 0 then print('Not found any closest point!') elseif res == -1 then print('Map files not exists or invalid!') elseif res == -2 then print('Out of memeory!') elseif res == -3 then print('Map caching...') else print(x, y, z) end
SetMouseOverObject
Description: Sets mouse over object.
Usage: SetMouseOverObject(object)
-- Usage Example: SetMouseOverObject(object)
StopFalling
Description: Stops you from falling.
Usage: StopFalling()
-- Usage Example: SecureCode("JumpOrAscendStart") C_Timer.After(0.4, function() StopFalling() end)
SetGlobalVar
Description: Sets the value for a global variable (will not destroy after reload).
Usage: SetGlobalVar(name, data)
-- Usage Example: SetGlobalVar("test", "test data")
GetGlobalVar
Description: Gets the value of the global variable previously set by SetGlobalVar.
Usage: GetGlobalVar(name)
-- Usage Example: local data = GetGlobalVar("test")
ReloadGame
Description: Reloads the game.
Usage: ReloadGame()
-- Usage Example: ReloadGame()
IsInGlue
Description: Return if account is in Glue Screen.
Usage: IsInGlue()
-- Usage Example: if IsInGlue() then -- you are in GlueScreen end
DisconnectFromServer
Description: Quickly disconnects user from server.
Usage: DisconnectFromServer()
-- Usage Example: if IsInWorld() then DisconnectFromServer() end