onestcoder Posted March 9, 2009 Share Posted March 9, 2009 I found (for 3.0.9):Player Name : 0x011CB348Player Health : PlayerBase + 0xFF4Player Max Health : PlayerBase + 0x26E4Player Mana : PlayerBase + 0xFF8Player Mana Max : PlayerBase + 0x26E8Player Experience : PlayerBase + 0x3630Player Experience All : PlayerBase + 0x3634Level : PlayerBase + 0x41B8Force : PlayerBase + 0x27B8Agilite : PlayerBase + 0x27BCEndurance : PlayerBase + 0x27C0Intelligence : PlayerBase + 0x27C4Esprit : PlayerBase + 0x27C8Armure : PlayerBase + 0x27F4Money (OrArgentCuivre) : PlayerBase + 0x3E90Honnor : PlayerBase + 0x4028Is there a way for autoit to find the player base? Need a website: http://www.iconixmarketing.com Link to comment Share on other sites More sharing options...
WhOOt Posted March 11, 2009 Share Posted March 11, 2009 (edited) Suggestion : move this topic to chat forum or put in sticky in the way I think this is only blabla for cheaters [Parenthese : I know that somepeople only register to ask questions about this game (or anothers) and get out with what they wanted and play and play...this is serious and I realy take Autoit for a useful and great language for make fantastic things and its not preferable to merge it with games ] Edit : please not reply to this, i dont want do add more blabla... Cheers, FireFox. I know you don't want any replies, but I think it is important for me to add that people don't nessecarily want to join because of this specefic game. I've read through some of the code Malu05 created, and made my own code to work for other games. AutoIt is a wonderful language, which I think should be used where ever possible (This including "cheating" in games), as it makes people explore the possibilities in the language. EDIT: Also, you can't neglect that this topic has had over 100k views. It does mean something to the community Edited March 11, 2009 by WhOOt Link to comment Share on other sites More sharing options...
maximus Posted March 13, 2009 Share Posted March 13, 2009 is it safe to write to player memory values like orientation? or only option is to use of send("a"), send("w") or mousedown+mousemove to get to your orientation? Thanks Link to comment Share on other sites More sharing options...
autoitxp Posted April 1, 2009 Share Posted April 1, 2009 hay is there any way to use these for warcraft 3 Frozen throne ? Link to comment Share on other sites More sharing options...
BlackScorpion Posted April 10, 2009 Share Posted April 10, 2009 For those of you looking to do, or understand how a bot can work reading the screen "pixel colors", search for "botxpert" or "lotro" and you will find a script of 5000 or 15k lines, I forget now, but it looks at the screen color bars in specific locations, It has a setup script that gets the lowest point on the Mob health bar, your health bar, power bar etc, and uses these to detect if you are low on health, or even if you are being attacked yet. He also parses the text log for certain text such as "death" or "you have killed" to see how the fight is progressing. For movement he just spams "loc" to the console, which will then put that in the log which he reads and determines if he is going the correct way. This would be really easy for any GM to look at and ban. If you are typing "loc" every 3 seconds it's very obvious. The harder way to do it is to have a big map consisting of the miniradar and use that pixel data to create a waypoint map from. By looking at the position of the arrow indicator on the radar you could tell which way you are facing. Being able to read from memory your xyz location woiuld be a big bonus, but that could change with each new version of the .exe. I did this and removed the log spamming so I could safely bot on lotro. Use MHS memory hacking tools ... just search for L. spiro and you will find his utility... It will self encrypt so Warden or whatever program you are hacking wont be able to pick it out in a hash in the process table. I was using it and found out that all the NAUGHTY words like Fu** Cu** are sitting there for Character creation, you would have thought they would have done a simple hash or XOR on the cleartext so tools like me wouldnt see the stuff so easily. I was tempted to change them and see if I could use it in a name, but figured they would be smart enough to check the name server side... but hey... you never know! My new toon name will be IWANTTOFU ... similar to the ILUVTOFU battle going on right now.. yea I'm vegetarian "right!"...GNGTOFU .... hey Maul05 ... sorry for polluting your thread... Link to comment Share on other sites More sharing options...
Dalord Posted April 12, 2009 Share Posted April 12, 2009 ..... so I could safely bot on lotro.I wrote a bot for lotro too but it got so board it just quit playing and closed the accout Link to comment Share on other sites More sharing options...
WhOOt Posted April 13, 2009 Share Posted April 13, 2009 For those of you looking to do, or understand how a bot can work reading the screen "pixel colors", search for "botxpert" or "lotro" and you will find a script of 5000 or 15k lines, I forget now, but it looks at the screen color bars in specific locations, It has a setup script that gets the lowest point on the Mob health bar, your health bar, power bar etc, and uses these to detect if you are low on health, or even if you are being attacked yet. He also parses the text log for certain text such as "death" or "you have killed" to see how the fight is progressing. For movement he just spams "loc" to the console, which will then put that in the log which he reads and determines if he is going the correct way. This would be really easy for any GM to look at and ban. If you are typing "loc" every 3 seconds it's very obvious. The harder way to do it is to have a big map consisting of the miniradar and use that pixel data to create a waypoint map from. By looking at the position of the arrow indicator on the radar you could tell which way you are facing. Being able to read from memory your xyz location woiuld be a big bonus, but that could change with each new version of the .exe. I did this and removed the log spamming so I could safely bot on lotro.Use MHS memory hacking tools ... just search for L. spiro and you will find his utility... It will self encrypt so Warden or whatever program you are hacking wont be able to pick it out in a hash in the process table. I was using it and found out that all the NAUGHTY words like Fu** Cu** are sitting there for Character creation, you would have thought they would have done a simple hash or XOR on the cleartext so tools like me wouldnt see the stuff so easily. I was tempted to change them and see if I could use it in a name, but figured they would be smart enough to check the name server side... but hey... you never know!My new toon name will be IWANTTOFU ... similar to the ILUVTOFU battle going on right now.. yea I'm vegetarian "right!"...GNGTOFU .... hey Maul05 ... sorry for polluting your thread...I'm sorry mate, but you are nowhere near the correct method Malu05 uses Link to comment Share on other sites More sharing options...
lionel Posted April 20, 2009 Share Posted April 20, 2009 Hello all! I need you! Please help me, for found Adress: "PlayerBase" for version 3.1.0 ex: For version 3.0.9: $lvl1Pointer = _MemoryRead(0x0127F13C, $Protocol, 'ptr') $lvl2Pointer = _MemoryRead(($lvl1Pointer + 0x30), $Protocol, 'ptr') $AdressPlayerBase = _MemoryRead(($lvl2Pointer + 0x28), $Protocol, 'ptr') thank you all! Link to comment Share on other sites More sharing options...
hodgepodge Posted June 12, 2009 Share Posted June 12, 2009 World Of Warcraft Memory Scanner This program finds the NonStatic Changeable value of X, Y, Z and Rotation of your char. This scanner is ALOT faster then the previous versions, and as said above also finds the rotation of the player. This is 100% harmless since it only scans for the values (it is not detectable) As you can see there is a timer in this version. If you guys would be so kind as to try the sciprt and see what your "time" is, and post your "time" here or send a pm to me. Mine is between 4.5 - 6.7 Thanks to Whoot for testing this for me. Thanks to Ragnorok161 for knowledge for the update. The Scanner requires the <NomadMemory.au3> from thermo prime. If you don't have it, then program wont be able to run! You will be able to get Thermo Prime from the main post in this thread expandcollapse popup; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ; ; Author: ; Malu05 aka. Mads Hagbart Lund <Batmazbaz@hotmail.com> ; ; Script Function: ; World Of Warcraft - Memory Location Scanner ; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ;;================================================================================ ;;Includes; ;;================================================================================ #include <NomadMemory.au3> #include <GUIConstants.au3> #include <String.au3> #include <Date.au3> #include <array.au3> #Include <Misc.au3> HotkeySet("{F2}","rescan") HotkeySet("{ESC}","terminate") ;;================================================================================ ;;Config Variable Definition; ;;================================================================================ $UpdateSpeed = 5 ;Defines the update speed in milliseconds. ;;================================================================================ ;;Variable Definition; ;;================================================================================ Dim $datafoundX= 0 Dim $Finalrot, $Finallocx,$Finallocy,$Finalrot dim $value = 100 dim $knownX = 0x00CD6760 dim $startsearchX = 0x00400B88 dim $startsearchY, $startsearchZ, $startsearchRot dim $memoryX, $memoryY, $memoryZ, $memoryRot = 0 dim $processfound = 0 dim $appname = "WOW Mem Scanner" Global $defaultstatus = "Ready" dim $scanprocess = 0 dim $transyn = 0 ;;================================================================================ ;;Process front ;;================================================================================ Opt("WinTitleMatchMode", 4) SetPrivilege("SeDebugPrivilege", 1) processopen() func processopen() Global $ProcessID = WinGetProcess("World of Warcraft","") Global $offset = 0x1000 while $processfound = 0 If $ProcessID = -1 Then MsgBox(4096, "ERROR", "Failed to detect process.") $reply = msgbox(1,$appname,"If world of warcraft is running please enter the name of the process (Ie, WORLD OF WARCRAFT) (uppercase sensitive)") if $reply = 2 then Exit Else $Processnewname = InputBox($appname,"Please enter the name of the process. (Case sensitive)") Global $ProcessID = WinGetProcess($Processnewname,"") EndIf Else $processfound = 1 EndIf WEnd EndFunc Local $DllInformation = _MemoryOpen($ProcessID) If @Error Then MsgBox(4096, "ERROR", "Failed to open memory for process;" & $ProcessID) Exit EndIf ;;================================================================================ ;;GUI Creation ;;================================================================================ GUICreate($appname, 230, 170) GUICtrlCreateLabel($appname & " by Malu05", 0, 0, 230, 30,BitOr($SS_CENTER ,$SS_SUNKEN)) $statuslabel = GUICtrlCreateLabel ($defaultstatus,0,155,230,15,BitOr($SS_SIMPLE,$SS_SUNKEN)) ;Numbers ;x GUICtrlCreateLabel("X Axis Pointer:", 5, 35, 95, 50) $Xvaluepointer = GUICtrlCreateLabel("Not found", 80, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Xvalue = GUICtrlCreateLabel("Not found", 160, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;y GUICtrlCreateLabel("Y Axis Pointer:", 5, 55, 95, 50) $Yvaluepointer = GUICtrlCreateLabel("Not found", 80, 55, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Yvalue = GUICtrlCreateLabel("Not found", 160, 55, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;z GUICtrlCreateLabel("Z Axis Pointer:", 5, 75, 95, 20) $Zvaluepointer = GUICtrlCreateLabel("Not found", 80, 75, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Zvalue = GUICtrlCreateLabel("Not found", 160, 75, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;rot GUICtrlCreateLabel("Rotat Pointer:", 5, 95, 95, 20) $Rotvaluepointer = GUICtrlCreateLabel("Not found", 80, 95, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Rotvalue = GUICtrlCreateLabel("Not found", 160, 95, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("", 0, 130, 230, 3,BitOr($SS_CENTER ,$SS_SUNKEN)) $ontop= GUICtrlCreateCheckbox ("On Top", 90, 135, 120, 18) $trans= GUICtrlCreateCheckbox ("Transparent", 5, 135, 80, 18) GUISetState() $CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float') TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 5, 1) ;;================================================================================ ;;Pointer Scanner ;;================================================================================ ;X Pointer GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($Yvaluepointer,"Scanning...") GUICtrlSetData($Zvaluepointer,"Scanning...") GUICtrlSetData($Rotvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X") $begin = TimerInit() $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') while $CurrentLocX <> $valueSS $startsearchX = $startsearchX+$offset $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') WEnd $dif = TimerDiff($begin) TrayTip($appname, "X, Y and Z Position Pointer Found in "& (floor($dif)/1000) & " Seconds", 5, 1) GUICtrlSetData($Xvaluepointer,hex($startsearchX)) $memoryX = "0x" & hex($startsearchX,8) $startsearchY = $startsearchX + 0X4 GUICtrlSetData($Yvaluepointer,hex($startsearchY)) $memoryY = "0x" & hex($startsearchx,8) $startsearchZ = $startsearchX + 0X8 GUICtrlSetData($Zvaluepointer,hex($startsearchZ)) $memoryZ = "0x" & hex($startsearchx,8) $startsearchRot = $startsearchX + 0XC GUICtrlSetData($Rotvaluepointer,hex($startsearchRot)) $memoryRot = "0x" & hex($startsearchx,8) GUICtrlSetData($statuslabel,"Ready. Time = " & (floor($dif)/1000)& " Seconds") while 1 Memscan() $scanprocess = 0 if GUICtrlRead($trans) = 4 Then if $transyn = 1 Then WinSetTrans( $appname, $appname, 255) $transyn = 0 EndIf Else if $transyn = 0 Then WinSetTrans( $appname, $appname, 200) $transyn = 1 EndIf EndIf if GUICtrlRead($ontop) = 1 Then WinSetOnTop($appname, "", 1) Else WinSetOnTop($appname, "", 0) EndIf ;nothing WEnd ;;================================================================================ ;;Memscan ;;================================================================================ Func Memscan() GUICtrlSetData($Xvalue,floor(_MemoryRead($startsearchX, $DllInformation, 'float'))) GUICtrlSetData($Yvalue,floor(_MemoryRead($startsearchY, $DllInformation, 'float'))) GUICtrlSetData($Zvalue,floor(_MemoryRead($startsearchZ, $DllInformation, 'float'))) GUICtrlSetData($Rotvalue,floor((_MemoryRead($startsearchRot, $DllInformation, 'float') / (3.14159265358979/180)))) sleep($UpdateSpeed) EndFunc ;;================================================================================ ;;Rescan ;;================================================================================ func Rescan() $startsearchX = 0x00000B88 $begin = 0 $CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float') TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 5, 1) GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($Yvaluepointer,"Scanning...") GUICtrlSetData($Zvaluepointer,"Scanning...") GUICtrlSetData($Rotvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X") $begin = TimerInit() $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') while $CurrentLocX <> $valueSS $startsearchX = $startsearchX+$offset $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') WEnd $dif = TimerDiff($begin) TrayTip($appname, "X, Y and Z Position Pointer Found in "& (floor($dif)/1000) & " Seconds", 5, 1) GUICtrlSetData($Xvaluepointer,hex($startsearchX)) $memoryX = "0x" & hex($startsearchX,8) $startsearchY = $startsearchX + 0X4 GUICtrlSetData($Yvaluepointer,hex($startsearchY)) $memoryY = "0x" & hex($startsearchx,8) $startsearchZ = $startsearchX + 0X8 GUICtrlSetData($Zvaluepointer,hex($startsearchZ)) $memoryZ = "0x" & hex($startsearchx,8) $startsearchRot = $startsearchX + 0XC GUICtrlSetData($Rotvaluepointer,hex($startsearchRot)) $memoryRot = "0x" & hex($startsearchx,8) GUICtrlSetData($statuslabel,"Ready. Time = " & (floor($dif)/1000)& " Seconds") EndFunc ;;================================================================================ ;;Terminate ;;================================================================================ func terminate() _MemoryClose($DllInformation) exit 0 EndFunc ;==>Terminate Now DONT try to replicate my hack since the new 2.1.0 warden checks for wild Z value offsets. (hint... but still not packets ^^) Edit; Update 23.05.07 - 16:03 *Updated for minor preformence increase. (5-10%) faster. *Added $UpdateSpeed for Defininition the update speed in milliseconds. *Added a Rescan funtion, so you dont need to reopen the app when you Zone... (press F2) Update 23.05.07 - 16:50 *Updated for minor preformence increase. (??%) faster.Would implimenting this script for use in another game be viable? Link to comment Share on other sites More sharing options...
Chronos1337 Posted October 30, 2009 Share Posted October 30, 2009 World Of Warcraft Memory Scanner This program finds the NonStatic Changeable value of X, Y, Z and Rotation of your char. This scanner is ALOT faster then the previous versions, and as said above also finds the rotation of the player. This is 100% harmless since it only scans for the values (it is not detectable) As you can see there is a timer in this version. If you guys would be so kind as to try the sciprt and see what your "time" is, and post your "time" here or send a pm to me. Mine is between 4.5 - 6.7 Thanks to Whoot for testing this for me. Thanks to Ragnorok161 for knowledge for the update. The Scanner requires the <NomadMemory.au3> from thermo prime. If you don't have it, then program wont be able to run! You will be able to get Thermo Prime from the main post in this thread expandcollapse popup; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ; ; Author: ; Malu05 aka. Mads Hagbart Lund <Batmazbaz@hotmail.com> ; ; Script Function: ; World Of Warcraft - Memory Location Scanner ; ---------------------------------------------------------------------------- ; ---------------------------------------------------------------------------- ;;================================================================================ ;;Includes; ;;================================================================================ #include <NomadMemory.au3> #include <GUIConstants.au3> #include <String.au3> #include <Date.au3> #include <array.au3> #Include <Misc.au3> HotkeySet("{F2}","rescan") HotkeySet("{ESC}","terminate") ;;================================================================================ ;;Config Variable Definition; ;;================================================================================ $UpdateSpeed = 5 ;Defines the update speed in milliseconds. ;;================================================================================ ;;Variable Definition; ;;================================================================================ Dim $datafoundX= 0 Dim $Finalrot, $Finallocx,$Finallocy,$Finalrot dim $value = 100 dim $knownX = 0x00CD6760 dim $startsearchX = 0x00400B88 dim $startsearchY, $startsearchZ, $startsearchRot dim $memoryX, $memoryY, $memoryZ, $memoryRot = 0 dim $processfound = 0 dim $appname = "WOW Mem Scanner" Global $defaultstatus = "Ready" dim $scanprocess = 0 dim $transyn = 0 ;;================================================================================ ;;Process front ;;================================================================================ Opt("WinTitleMatchMode", 4) SetPrivilege("SeDebugPrivilege", 1) processopen() func processopen() Global $ProcessID = WinGetProcess("World of Warcraft","") Global $offset = 0x1000 while $processfound = 0 If $ProcessID = -1 Then MsgBox(4096, "ERROR", "Failed to detect process.") $reply = msgbox(1,$appname,"If world of warcraft is running please enter the name of the process (Ie, WORLD OF WARCRAFT) (uppercase sensitive)") if $reply = 2 then Exit Else $Processnewname = InputBox($appname,"Please enter the name of the process. (Case sensitive)") Global $ProcessID = WinGetProcess($Processnewname,"") EndIf Else $processfound = 1 EndIf WEnd EndFunc Local $DllInformation = _MemoryOpen($ProcessID) If @Error Then MsgBox(4096, "ERROR", "Failed to open memory for process;" & $ProcessID) Exit EndIf ;;================================================================================ ;;GUI Creation ;;================================================================================ GUICreate($appname, 230, 170) GUICtrlCreateLabel($appname & " by Malu05", 0, 0, 230, 30,BitOr($SS_CENTER ,$SS_SUNKEN)) $statuslabel = GUICtrlCreateLabel ($defaultstatus,0,155,230,15,BitOr($SS_SIMPLE,$SS_SUNKEN)) ;Numbers ;x GUICtrlCreateLabel("X Axis Pointer:", 5, 35, 95, 50) $Xvaluepointer = GUICtrlCreateLabel("Not found", 80, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Xvalue = GUICtrlCreateLabel("Not found", 160, 35, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;y GUICtrlCreateLabel("Y Axis Pointer:", 5, 55, 95, 50) $Yvaluepointer = GUICtrlCreateLabel("Not found", 80, 55, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Yvalue = GUICtrlCreateLabel("Not found", 160, 55, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;z GUICtrlCreateLabel("Z Axis Pointer:", 5, 75, 95, 20) $Zvaluepointer = GUICtrlCreateLabel("Not found", 80, 75, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Zvalue = GUICtrlCreateLabel("Not found", 160, 75, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) ;rot GUICtrlCreateLabel("Rotat Pointer:", 5, 95, 95, 20) $Rotvaluepointer = GUICtrlCreateLabel("Not found", 80, 95, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) $Rotvalue = GUICtrlCreateLabel("Not found", 160, 95, 70, 18,BitOr($SS_CENTER ,$SS_SUNKEN)) GUICtrlCreateLabel("", 0, 130, 230, 3,BitOr($SS_CENTER ,$SS_SUNKEN)) $ontop= GUICtrlCreateCheckbox ("On Top", 90, 135, 120, 18) $trans= GUICtrlCreateCheckbox ("Transparent", 5, 135, 80, 18) GUISetState() $CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float') TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 5, 1) ;;================================================================================ ;;Pointer Scanner ;;================================================================================ ;X Pointer GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($Yvaluepointer,"Scanning...") GUICtrlSetData($Zvaluepointer,"Scanning...") GUICtrlSetData($Rotvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X") $begin = TimerInit() $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') while $CurrentLocX <> $valueSS $startsearchX = $startsearchX+$offset $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') WEnd $dif = TimerDiff($begin) TrayTip($appname, "X, Y and Z Position Pointer Found in "& (floor($dif)/1000) & " Seconds", 5, 1) GUICtrlSetData($Xvaluepointer,hex($startsearchX)) $memoryX = "0x" & hex($startsearchX,8) $startsearchY = $startsearchX + 0X4 GUICtrlSetData($Yvaluepointer,hex($startsearchY)) $memoryY = "0x" & hex($startsearchx,8) $startsearchZ = $startsearchX + 0X8 GUICtrlSetData($Zvaluepointer,hex($startsearchZ)) $memoryZ = "0x" & hex($startsearchx,8) $startsearchRot = $startsearchX + 0XC GUICtrlSetData($Rotvaluepointer,hex($startsearchRot)) $memoryRot = "0x" & hex($startsearchx,8) GUICtrlSetData($statuslabel,"Ready. Time = " & (floor($dif)/1000)& " Seconds") while 1 Memscan() $scanprocess = 0 if GUICtrlRead($trans) = 4 Then if $transyn = 1 Then WinSetTrans( $appname, $appname, 255) $transyn = 0 EndIf Else if $transyn = 0 Then WinSetTrans( $appname, $appname, 200) $transyn = 1 EndIf EndIf if GUICtrlRead($ontop) = 1 Then WinSetOnTop($appname, "", 1) Else WinSetOnTop($appname, "", 0) EndIf ;nothing WEnd ;;================================================================================ ;;Memscan ;;================================================================================ Func Memscan() GUICtrlSetData($Xvalue,floor(_MemoryRead($startsearchX, $DllInformation, 'float'))) GUICtrlSetData($Yvalue,floor(_MemoryRead($startsearchY, $DllInformation, 'float'))) GUICtrlSetData($Zvalue,floor(_MemoryRead($startsearchZ, $DllInformation, 'float'))) GUICtrlSetData($Rotvalue,floor((_MemoryRead($startsearchRot, $DllInformation, 'float') / (3.14159265358979/180)))) sleep($UpdateSpeed) EndFunc ;;================================================================================ ;;Rescan ;;================================================================================ func Rescan() $startsearchX = 0x00000B88 $begin = 0 $CurrentLocX = _MemoryRead($knownX , $DllInformation, 'float') TrayTip($appname, "Scanning For Memory Pointers. Do NOT move your character while scanning...", 5, 1) GUICtrlSetData($Xvaluepointer,"Scanning...") GUICtrlSetData($Yvaluepointer,"Scanning...") GUICtrlSetData($Zvaluepointer,"Scanning...") GUICtrlSetData($Rotvaluepointer,"Scanning...") GUICtrlSetData($statuslabel,"Scanning For Pointer X") $begin = TimerInit() $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') while $CurrentLocX <> $valueSS $startsearchX = $startsearchX+$offset $valueSS = _MemoryRead($startsearchX , $DllInformation, 'float') WEnd $dif = TimerDiff($begin) TrayTip($appname, "X, Y and Z Position Pointer Found in "& (floor($dif)/1000) & " Seconds", 5, 1) GUICtrlSetData($Xvaluepointer,hex($startsearchX)) $memoryX = "0x" & hex($startsearchX,8) $startsearchY = $startsearchX + 0X4 GUICtrlSetData($Yvaluepointer,hex($startsearchY)) $memoryY = "0x" & hex($startsearchx,8) $startsearchZ = $startsearchX + 0X8 GUICtrlSetData($Zvaluepointer,hex($startsearchZ)) $memoryZ = "0x" & hex($startsearchx,8) $startsearchRot = $startsearchX + 0XC GUICtrlSetData($Rotvaluepointer,hex($startsearchRot)) $memoryRot = "0x" & hex($startsearchx,8) GUICtrlSetData($statuslabel,"Ready. Time = " & (floor($dif)/1000)& " Seconds") EndFunc ;;================================================================================ ;;Terminate ;;================================================================================ func terminate() _MemoryClose($DllInformation) exit 0 EndFunc ;==>Terminate Now DONT try to replicate my hack since the new 2.1.0 warden checks for wild Z value offsets. (hint... but still not packets ^^) Edit; Update 23.05.07 - 16:03 *Updated for minor preformence increase. (5-10%) faster. *Added $UpdateSpeed for Defininition the update speed in milliseconds. *Added a Rescan funtion, so you dont need to reopen the app when you Zone... (press F2) Update 23.05.07 - 16:50 *Updated for minor preformence increase. (??%) faster. This doesn't seem to be working for me. :-( i added the include you left out #include <StaticConstants.au3> and it still won't find the xyz is there an update that I don't see? any help would be appreciated. Link to comment Share on other sites More sharing options...
Kindbudz25 Posted November 14, 2009 Share Posted November 14, 2009 Be very careful trying to use any mem readers with wow. Warden is built to detect the use of these programs or any alterations to the or offsets not designated by the server. Some of the code here WILL get you caught. Just be warned Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now