[guide] how to create a wow bot using autoit (memory reading) menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    zamba1587's Avatar Member
    Reputation
    15
    Join Date
    Jan 2008
    Posts
    6
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [guide] how to create a wow bot using autoit (memory reading)


    [GUIDE] HOW TO CREATE A WOW BOT USING AUTOIT (MEMORY READING)


    Hi Every One.
    Must Say Thanks to Devon he was the one who teach me how to Memory Read WoW
    His Guide For Noobs --> http://www.mmowned.com/forums/world-...ete-newbs.html

    Ok I am not going to go Into Details on How everything works but instead I am just going to share with your guys some working code. This is all working for WoW Version 4.2.0 14333.

    Its all Base on Gononono64 Tutorial but with Working Code !!!


    HOW TO GET PLAYER GUID (Global Unique ID) WOW Version 4.2.0 14333.


    Code:
    ;--------------------------------------------------------------------------------
    ;Getting My Player GUID
    ;--------------------------------------------------------------------------------
    #include <NomadMemory.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager 										
    ; Offset and Pointer for Wow 4.2.0 14333 (Rebase 06-28-2011)
    ;--------------------------------------------------------------------------------
    Global Const $ClientConnection = 0x97DA48						;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x463C 
    Global Const $FirstObjectOffset = 0xB4 							;The next one is to get the address of your first object ONLY
    Global Const $NextObjectOffset = 0x3C 							;To cycle through the object you need this offset
    Global Const $localPlayerGUIDOffset = 0xB8 
    Global Const $GameObjGUIDOffset = 0x30							;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14							;And this one is to find the objects GUID
    Global Const $DescriptorOffset = 0x8
    
    ;Open WoW Process to enable Memory Reading and Get the WoW Base Address
    $ProcessID = ProcessExists("wow.exe")
    $WowProcess = _MemoryOpen($ProcessID)
    
    ;Getting WoWBase Address
    $WowBase = GetWoWBaseAddress($ProcessID)
    
    ;1) Getting CurrentManager_Pre
    $currMgr_pre = _MemoryRead("0x" & Hex($WowBase + $ClientConnection), $WowProcess , "dword")
    ;2) Getting CurrentManager
    $currMgr = _MemoryRead("0x" & Hex($currMgr_pre + $CurrMgrOffset), $WowProcess , "dword")
    
    ;Getting My Player GUID (Player Global Unique ID)
    $pGUID = _MemoryRead("0x" & Hex($currMgr + $localPlayerGUIDOffset), $WowProcess , "UINT64") ;Player Guid
    
    MsgBox(4096,"Player Name", "PLAYER HEALTH ---> "      & $pGUID)
    
    Func GetWoWBaseAddress($ProcessID)
    	$HSNAP = DllCall("Kernel32.dll", "HANDLE", "CreateToolhelp32Snapshot", "DWORD", 8, "DWORD", $ProcessID)
    	$STMODULE = DllStructCreate("DWORD dwSize;DWORD th32ModuleID;DWORD th32ProcessID;" & "DWORD GlblcntUsage;DWORD ProccntUsage;ptr modBaseAddr;" & "DWORD modBaseSize;HANDLE hModule;WCHAR szModule[256];" & "WCHAR szExePath[260]")
    	DllStructSetData($STMODULE, "dwSize", DllStructGetSize($STMODULE))
    	$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32FirstW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    
    	IF ($RET[0] = False) Then
    		DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    		Return 0
    	Else
    		$RET[0] = True
    		Do
    			If DllStructGetData($STMODULE, "szModule") = "Wow.exe" Then
    
    				DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    
    				Return DllStructGetData($STMODULE, "modBaseAddr")
    			EndIf
    			$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32NextW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    		Until $RET[0] = False
    	EndIf
    EndFunc


    HOW TO GET PLAYER X,Y,Z AND ROTATION WOW Version 4.2.0 14333.


    Code:
    ;--------------------------------------------------------------------------------
    ;Getting My Player X,Y,Z and Rotation
    ;--------------------------------------------------------------------------------
    #include <NomadMemory.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    #RequireAdmin
    
    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager 										
    ; Offset and Pointer for Wow 4.2.0 14333 (Rebase 06-28-2011)
    ;--------------------------------------------------------------------------------
    
    ;--------------------------------------------------------------------------------
    ;public enum Player
    ;--------------------------------------------------------------------------------
    $playerName = 0x97DA88
    
    ;--------------------------------------------------------------------------------
    ;internal enum WowObject
    ;--------------------------------------------------------------------------------
    Global Const $UnitPosXOffset  	 = 0x790
    Global Const $UnitPosYOffset 	 = 0x790 + 0x4
    Global Const $UnitPosZOffset 	 = 0x790 + 0x8
    Global Const $UnitRotationOffset = 0x790 + 0x10
    
    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager
    ;--------------------------------------------------------------------------------
    Global Const $ClientConnection = 0x97DA48						;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x463C 
    Global Const $FirstObjectOffset = 0xB4 							;The next one is to get the address of your first object ONLY
    Global Const $NextObjectOffset = 0x3C 							;To cycle through the object you need this offset
    Global Const $localPlayerGUIDOffset = 0xB8 
    Global Const $GameObjGUIDOffset = 0x30							;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14							;And this one is to find the objects GUID
    Global Const $DescriptorOffset = 0x8
    
    ;Open WoW Process to enable Memory Reading and Get the WoW Base Address
    $ProcessID = ProcessExists("wow.exe")
    $WowProcess = _MemoryOpen($ProcessID)
    
    ;Getting WoWBase Address
    $WowBase = GetWoWBaseAddress($ProcessID)
    
    ;1) Getting CurrentManager_Pre
    $currMgr_pre = _MemoryRead("0x" & Hex($WowBase + $ClientConnection), $WowProcess , "dword")
    ;2) Getting CurrentManager
    $currMgr = _MemoryRead("0x" & Hex($currMgr_pre + $CurrMgrOffset), $WowProcess , "dword")
    ;Getting My Player GUID
    $pGUID = _MemoryRead("0x" & Hex($currMgr + $localPlayerGUIDOffset), $WowProcess , "UINT64") ;Player Guid
    
    $ObjectMemLoc = GetMemLocByGUID($pGUID)
    
    MsgBox(4096,"Player Name", "PLAYER NAME ---> " 	  & GetPlayerName() & @CRLF & _
    	"Player GUID ---> " 	  & $pGUID & @CRLF & _
    	"GetPlayerX ---> " 		  & GetPlayerX() & @CRLF & _
    	"GetPlayerY ---> " 		  & GetPlayerY() & @CRLF & _
    	"GetPlayerZ ---> " 		  & GetPlayerZ() & @CRLF & _
    	"Rotation ---> " 		  & GetPlayerRotation())
    
    Func GetPlayerName()
    	return _memoryread($WowBase + $playerName, $WowProcess, "char[20]")
    EndFunc
    
    Func GetPlayerX()
    	return floor(_MemoryRead("0x" & Hex($ObjectMemLoc + $UnitPosXOffset), $WowProcess, "float"))
    EndFunc
    
    Func GetPlayerY()
    	return floor(_MemoryRead("0x" & Hex($ObjectMemLoc + $UnitPosYOffset), $WowProcess, "float"))
    EndFunc
    
    Func GetPlayerZ()
    	return floor(_MemoryRead("0x" & Hex($ObjectMemLoc + $UnitPosZOffset), $WowProcess, "float"))
    EndFunc
    
    Func GetPlayerRotation()
    	return floor(_MemoryRead("0x" & Hex($ObjectMemLoc + $UnitRotationOffset), $WowProcess, "float"))
    EndFunc
    
    Func GetMemLocByGUID($guid)
    	;Read the first wow object by adding our current manager address and our first object offset together
    	$NextObject = _MemoryRead("0x" & Hex($currMgr + $FirstObjectOffset), $WowProcess , "dword")	
    	
    	;next get the object type buy adding our first object and our Objtype offset together  and reading that
    	$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $WowProcess , "dword")
    	
    	;If the return of object type is less than or equal to 7 (which it should always be) and more than 0 in the case that we do have an object in the list than do a while loop. 
    	
    	while (($ObjType <= 7) And ($ObjType > 0))
    		
    		;NOTE: if there is an object in the list, objType will have to be = 1 to 7
    		; If our object plus the GUIDoffset = the GUID we are looking for (example our localplayer GUID) …
                IF (_MemoryRead("0x" & Hex($NextObject + $GameObjGUIDOffset), $WowProcess , "UINT64") = $guid) Then ; …then return our object
    			Return $NextObject ;found what we wanted.
    		EndIf
    
    
    		;if no return happens (stays in the function) then cycle through the objects using our next object offset on our next object (might also be called current object)
    		$NextObject = _MemoryRead("0x" & Hex($NextObject + $NextObjectOffset), $WowProcess , "dword")
    
     		;We will also need to see the type
    		$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $WowProcess , "dword")
    		
    	Wend
    
    	;if we find nothing Return 0 (address are probably wrong or you messed up code)
    	Return 0;
    EndFunc
    
    Func GetWoWBaseAddress($ProcessID)
    	
    	$HSNAP = DllCall("Kernel32.dll", "HANDLE", "CreateToolhelp32Snapshot", "DWORD", 8, "DWORD", $ProcessID)
    	$STMODULE = DllStructCreate("DWORD dwSize;DWORD th32ModuleID;DWORD th32ProcessID;" & "DWORD GlblcntUsage;DWORD ProccntUsage;ptr modBaseAddr;" & "DWORD modBaseSize;HANDLE hModule;WCHAR szModule[256];" & "WCHAR szExePath[260]")
    	DllStructSetData($STMODULE, "dwSize", DllStructGetSize($STMODULE))
    	$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32FirstW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    
    	IF ($RET[0] = False) Then
    		DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    		Return 0
    	Else
    		$RET[0] = True
    		Do
    			If DllStructGetData($STMODULE, "szModule") = "Wow.exe" Then
    
    				DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    
    				Return DllStructGetData($STMODULE, "modBaseAddr")
    			EndIf
    			$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32NextW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    		Until $RET[0] = False
    	EndIf
    EndFunc

    HOW TO GET PLAYER HEALTH WOW Version 4.2.0 14333.


    Code:
    ;--------------------------------------------------------------------------------
    ;Getting My Player Health
    ;--------------------------------------------------------------------------------
    #include <NomadMemory.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    #RequireAdmin
    
    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager 										
    ; Offset and Pointer for Wow 4.2.0 14333 (Rebase 06-28-2011)
    ;--------------------------------------------------------------------------------
    
    ;--------------------------------------------------------------------------------
    ;public enum Player
    ;--------------------------------------------------------------------------------
    $playerName = 0x97DA88
    
    ;--------------------------------------------------------------------------------
    ;public enum UnitFields
    ;--------------------------------------------------------------------------------
    $UNIT_FIELD_HEALTH = 0x68
    
    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager
    ;--------------------------------------------------------------------------------
    Global Const $ClientConnection = 0x97DA48						;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x463C 
    Global Const $FirstObjectOffset = 0xB4 							;The next one is to get the address of your first object ONLY
    Global Const $NextObjectOffset = 0x3C 							;To cycle through the object you need this offset
    Global Const $localPlayerGUIDOffset = 0xB8 
    Global Const $GameObjGUIDOffset = 0x30							;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14							;And this one is to find the objects GUID
    Global Const $DescriptorOffset = 0x8
    
    ;Open WoW Process to enable Memory Reading and Get the WoW Base Address
    $ProcessID = ProcessExists("wow.exe")
    $WowProcess = _MemoryOpen($ProcessID)
    
    ;Getting WoWBase Address
    $WowBase = GetWoWBaseAddress($ProcessID)
    
    ;1) Getting CurrentManager_Pre
    $currMgr_pre = _MemoryRead("0x" & Hex($WowBase + $ClientConnection), $WowProcess , "dword")
    ;2) Getting CurrentManager
    $currMgr = _MemoryRead("0x" & Hex($currMgr_pre + $CurrMgrOffset), $WowProcess , "dword")
    ;Getting My Player GUID
    $pGUID = _MemoryRead("0x" & Hex($currMgr + $localPlayerGUIDOffset), $WowProcess , "UINT64") ;Player Guid
    ;Gettin My Player Address
    $ObjectMemLoc = GetMemLocByGUID($pGUID)
    
    MsgBox(4096,"Player Name", "PLAYER NAME ---> " & GetPlayerName() & @CRLF & _
    	"PLAYER HEALTH ---> " & GetPlayerHealth())
    
    Func GetPlayerName()
    	return _memoryread($WowBase + $playerName, $WowProcess, "char[20]")
    EndFunc
    
    Func GetPlayerHealth()
    	$pDescriptor = _MemoryRead("0x" & Hex($ObjectMemLoc + $DescriptorOffset), $WowProcess , "dword");<---essentially says that you want to use a descriptor (aka health)
    	$pHealth = _MemoryRead("0x" & Hex($pDescriptor + $UNIT_FIELD_HEALTH), $WowProcess ,"dword");<---looks up your health
    	return $pHealth
    EndFunc
    
    
    Func GetMemLocByGUID($guid)
    	;Read the first wow object by adding our current manager address and our first object offset together
    	$NextObject = _MemoryRead("0x" & Hex($currMgr + $FirstObjectOffset), $WowProcess , "dword")	
    	
    	;next get the object type buy adding our first object and our Objtype offset together  and reading that
    	$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $WowProcess , "dword")
    	
    	;If the return of object type is less than or equal to 7 (which it should always be) and more than 0 in the case that we do have an object in the list than do a while loop. 
    	
    	while (($ObjType <= 7) And ($ObjType > 0))
    		
    		;NOTE: if there is an object in the list, objType will have to be = 1 to 7
    		; If our object plus the GUIDoffset = the GUID we are looking for (example our localplayer GUID) …
                IF (_MemoryRead("0x" & Hex($NextObject + $GameObjGUIDOffset), $WowProcess , "UINT64") = $guid) Then ; …then return our object
    			Return $NextObject ;found what we wanted.
    		EndIf
    
    
    		;if no return happens (stays in the function) then cycle through the objects using our next object offset on our next object (might also be called current object)
    		$NextObject = _MemoryRead("0x" & Hex($NextObject + $NextObjectOffset), $WowProcess , "dword")
    
     		;We will also need to see the type
    		$ObjType = _MemoryRead("0x" & Hex($NextObject + $GameObjTypeOffset), $WowProcess , "dword")
    		
    	Wend
    
    	;if we find nothing Return 0 (address are probably wrong or you messed up code)
    	Return 0;
    EndFunc
    
    Func GetWoWBaseAddress($ProcessID)
    	
    	$HSNAP = DllCall("Kernel32.dll", "HANDLE", "CreateToolhelp32Snapshot", "DWORD", 8, "DWORD", $ProcessID)
    	$STMODULE = DllStructCreate("DWORD dwSize;DWORD th32ModuleID;DWORD th32ProcessID;" & "DWORD GlblcntUsage;DWORD ProccntUsage;ptr modBaseAddr;" & "DWORD modBaseSize;HANDLE hModule;WCHAR szModule[256];" & "WCHAR szExePath[260]")
    	DllStructSetData($STMODULE, "dwSize", DllStructGetSize($STMODULE))
    	$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32FirstW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    
    	IF ($RET[0] = False) Then
    		DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    		Return 0
    	Else
    		$RET[0] = True
    		Do
    			If DllStructGetData($STMODULE, "szModule") = "Wow.exe" Then
    
    				DllCall("Kernel32.dll", "BOOLEAN", "CloseHandle", "HANDLE", $HSNAP[0])
    
    				Return DllStructGetData($STMODULE, "modBaseAddr")
    			EndIf
    			$RET = DllCall("Kernel32.dll", "BOOLEAN", "Module32NextW", "HANDLE", $HSNAP[0], "ptr", DllStructGetPtr($STMODULE))
    		Until $RET[0] = False
    	EndIf
    EndFunc

    Oh and I made some Diagrams to help get my mind clear. I will share it too





    It Took me a while to learn how to put this Code Working. Thanks for Reading! and If I learn something else I will keep updating !

    If you got any questions please ask I will help you out!
    Last edited by zamba1587; 08-06-2011 at 03:22 AM.

    [guide] how to create a wow bot using autoit (memory reading)
  2. Thanks charly (1 members gave Thanks to zamba1587 for this useful post)
  3. #2
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1511
    Join Date
    May 2008
    Posts
    2,432
    Thanks G/R
    81/333
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Please refrain from posting something that has been posted thousands of times already. You even linked a thread that explained the same thing.

    Also your code is in AutoIt (which no one takes seriously anymore) and is very ugly. You need to look into that.

  4. #3
    zamba1587's Avatar Member
    Reputation
    15
    Join Date
    Jan 2008
    Posts
    6
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Jade, Thanks for Posting well Yeah might be in Autoit, and yeah I know its no the best programming Languange C# its better, its a more clean Code.
    But Does not mean We cant create a bot Using Autoit. And Yes I Know we can Work Using C# with BlackMagic and BlackRain I am actually working on that right now. But hey I started learning with Autoit. And thats why I share this info. maybe some one will use it and appreciate it.

  5. #4
    gononono64's Avatar Contributor
    Reputation
    100
    Join Date
    Jul 2009
    Posts
    85
    Thanks G/R
    1/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I appreciate the shout out, thanks for that. I'm glad i could help. that being said, try to be a little more creative when posting threads. Go indepth when explaining something. I do however like the pic. I think that is quite helpful Anyways, im glad you figured it out and i hope that you continue contributing to the community. +rep cuz i like ya
    Hi! My name is Devon and I’m an alcoholic. Moving on…
    https://www.ownedcore.com/forums/world-of-warcraft/world-of-warcraft-bots-programs/wow-memory-editing/319172-guide-how-make-wow-bot-complete-newbs.html

  6. #5
    Multitask's Avatar Contributor

    Reputation
    158
    Join Date
    Jan 2008
    Posts
    1,112
    Thanks G/R
    0/0
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    not much of a guide, more of a how to for a few things, things that have been posted before tho. diagrams are a nice visual tho

  7. #6
    mirage666's Avatar Member
    Reputation
    1
    Join Date
    Feb 2012
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    HOW TO GET PLAYER HEALTH WOW Version 4.2.0 14333.

    $playerName = 0x97DA88

    $UNIT_FIELD_HEALTH = 0x68
    Global Const $ClientConnection = 0x97DA48 ;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x463C
    Global Const $FirstObjectOffset = 0xB4 ;The next one is to get the address of your first object ONLY
    Global Const $NextObjectOffset = 0x3C ;To cycle through the object you need this offset
    Global Const $localPlayerGUIDOffset = 0xB8
    Global Const $GameObjGUIDOffset = 0x30 ;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14 ;And this one is to find the objects GUID
    Global Const $DescriptorOffset = 0x8
    Please help me find the values ​​for version 4.3.2.15211

    Here ([WoW][4.3.2.15211] Info Dump Thread), I found only PlayerName = 0x9BD070, but where to get the other values​​?

    Help please and thank you in advance.

  8. #7
    mirage666's Avatar Member
    Reputation
    1
    Join Date
    Feb 2012
    Posts
    2
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    $playerName = 0x9BD070 ;4.3.2

    ;--------------------------------------------------------------------------------
    ;public enum UnitFields
    ;--------------------------------------------------------------------------------
    $UNIT_FIELD_HEALTH = 0x48 ;4.3.2

    ;--------------------------------------------------------------------------------
    ; Offsets Object Manager
    ;--------------------------------------------------------------------------------
    Global Const $ClientConnection = 0x9BD030 ;4.3.2 ;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x463C ;4.3.2
    Global Const $FirstObjectOffset = 0xC0 ;4.3.2 ;The next one is to get the address of your first object ONLY
    Global Const $NextObjectOffset = 0x3C ;4.3.2 ;To cycle through the object you need this offset
    Global Const $localPlayerGUIDOffset = 0xC8 ;4.3.2
    Global Const $GameObjGUIDOffset = 0x30 ;? ;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14 ;? ;And this one is to find the objects GUID
    Global Const $DescriptorOffset = 0xC ;from post above
    I found all values except the last 3. The script shows the correct player name, but HP still shows 0


    EDIT:

    Brute force found an offset of 0x20. It worked.

    $UNIT_FIELD_HEALTH = 0x48+0x20
    Work and other offsets, but why 20?
    Last edited by mirage666; 02-12-2012 at 04:49 AM.

  9. #8
    Sacred's Avatar Contributor
    Reputation
    207
    Join Date
    Dec 2007
    Posts
    152
    Thanks G/R
    3/9
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Work and other offsets, but why 20?
    OBJECT_END = 0x20
    UNIT_FIELD_HEALTH = OBJECT_END + 0x48,

  10. #9
    projectbarcelona's Avatar Member
    Reputation
    2
    Join Date
    Mar 2012
    Posts
    21
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey I tried to set this up my self but I am always getting zero as the HP back. Here is the code I am using. I added a msgbox to show all the variables.

    Here is the source: ;------------------------------------------------------------------------------- - Pastebin.com
    Here is a screenshot: https://i.imgur.com/dftmH.gif

  11. #10
    TrioxX's Avatar Sergeant
    Reputation
    11
    Join Date
    Aug 2010
    Posts
    64
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by projectbarcelona View Post
    Hey I tried to set this up my self but I am always getting zero as the HP back. Here is the code I am using. I added a msgbox to show all the variables.

    Here is the source: ;------------------------------------------------------------------------------- - Pastebin.com
    Here is a screenshot: https://i.imgur.com/dftmH.gif
    Which version of AutoIT are you using? The latest one requires to change the NomadMemory in order to work:

    Code:
    Hex(DllStructGetData($v_Buffer, 2))
    ->

    Code:
    Hex(Int(DllStructGetData($v_Buffer, 2)))
    for example. Or switch back to an older version of AutoIt to get rid of this problem

  12. #11
    telcy007's Avatar Sergeant CoreCoins Purchaser
    Reputation
    67
    Join Date
    Nov 2009
    Posts
    62
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You must use the newest offsets and change 'UINT64' to 'dword' for your PlayerGUID.

    Adding
    Code:
    #RequireAdmin
     SetPrivilege("SeDebugPrivilege",1)
    could also help.
    Last edited by telcy007; 04-10-2012 at 07:30 PM.

  13. #12
    Bananenbrot's Avatar Contributor
    Reputation
    153
    Join Date
    Nov 2009
    Posts
    384
    Thanks G/R
    1/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by telcy007 View Post
    change 'UINT64' to 'dword' for your PlayerGUID.
    No. A guid is 64 bits wide.

  14. #13
    jabba78's Avatar Private
    Reputation
    1
    Join Date
    Apr 2012
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hello,

    i have the same error with the HP of my toon, with new offsets too,....(problem is only the HP, all other function in my bot are ok) Is there a "new" NomadMemory anywhere or can somebody say me whats wrong

    greetz
    Jabba
    Last edited by jabba78; 04-11-2012 at 10:17 AM.

  15. #14
    magenpriest's Avatar Banned
    Reputation
    1
    Join Date
    Apr 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yes, stupid thing again
    I tried to set this up my self but I am always getting zero as the HP back. Here is the code I am using. I added a msgbox to show all the variables.

    Here is the source: [AutoIt] magenpriest2 - Pastebin.com
    NomadMemory.au3: [AutoIt] magenpriest3 - Pastebin.com
    Latest Autoit version: v3.3.8.1

    Thanks!

  16. #15
    gononono64's Avatar Contributor
    Reputation
    100
    Join Date
    Jul 2009
    Posts
    85
    Thanks G/R
    1/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by magenpriest View Post
    Yes, stupid thing again
    I tried to set this up my self but I am always getting zero as the HP back. Here is the code I am using. I added a msgbox to show all the variables.
    ...

    $ProcessID = ProcessExists("wow.exe")
    needs to be:

    $PID = WinGetProcess("World of Warcraft")
    You should know that ... you read my guide... or at least copied from it XD
    Last edited by gononono64; 05-01-2012 at 01:40 AM.
    Hi! My name is Devon and I’m an alcoholic. Moving on…
    https://www.ownedcore.com/forums/world-of-warcraft/world-of-warcraft-bots-programs/wow-memory-editing/319172-guide-how-make-wow-bot-complete-newbs.html

Page 1 of 2 12 LastLast

Similar Threads

  1. [Guide] How to make a Wow bot for complete newbs!
    By gononono64 in forum WoW Memory Editing
    Replies: 65
    Last Post: 11-18-2012, 03:12 AM
  2. [Guide] How to get the "WoW Card" loots
    By [ Prototype ] in forum World of Warcraft Guides
    Replies: 46
    Last Post: 10-14-2007, 07:16 PM
  3. Replies: 19
    Last Post: 07-09-2007, 10:28 PM
All times are GMT -5. The time now is 07:37 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search