[AutoIT] Basic help menu

User Tag List

Results 1 to 15 of 15
  1. #1
    0_00_0's Avatar Member
    Reputation
    1
    Join Date
    Jun 2007
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [AutoIT] Basic help

    I'm just looking to read the X,Y,Z values off the player base. I'm pretty sure all my addresses are correct but thats why I'm posting. I used inireads, but the default values are what it uses. I'm going to try this in C++ or something to see if autoIT is causing the problem. If anyone spots a problem in my code, please point it out!

    Code:
    #include <NomadMemory.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>
    
    $xSize=200
    $ySize=300
    
    ;retrieve information from settings.ini
    $lv1PointerAddress = IniRead("settings.ini", "Addresses", "lv1pointer", "0x010B65F4")
    $lv2PointerOffset = IniRead("settings.ini", "Addresses", "lv2pointerOffset", "0x34")
    $playerBaseOffset = IniRead("settings.ini", "Addresses", "playerBaseOffset", "0x24")
    $xOffset = IniRead("settings.ini", "Addresses", "xOffset", "0x798")
    $yOffset = IniRead("settings.ini", "Addresses", "yOffset", "0x79C")
    $zOffset = IniRead("settings.ini", "Addresses", "zOffset", "0x7A0")
    $rOffset = IniRead("settings.ini", "Addresses", "rOffset", "0x7A8")
    SetPrivilege("SeDebugPrivilege", 1)
    
    ;make sure wow exists...
    if not WinExists("World of Warcraft") Then
    	MsgBox(0, "ErRoR", "Please start WoW :)")
    	Exit
    EndIf
    
    ;open and read all of our pointers
    $wow = _MemoryOpen(WinGetProcess("World of Warcraft"))
    
    $lvl1Pointer= _MemoryRead($lv1PointerAddress, $wow, 'ptr')
    $lvl2Pointer= _MemoryRead(($lvl1Pointer + $lv2PointerOffset), $wow, 'ptr')
    $PlayerBase= _MemoryRead(($lvl2Pointer + $playerBaseOffset), $wow, 'ptr')
    $xAddy = $PlayerBase + $xOffset
    $yAddy = $PlayerBase + $yOffset
    $zAddy = $PlayerBase + $zOffset
    $rAddy = $PlayerBase + $rOffset
    
    ;initialize GUI
    GUICreate("WoWMova", $xSize, $ySize)
    *****tState(@SW_SHOW)
    
    $xLabel = GUICtrlCreateLabel("Current X: ", 10, 10)
    $yLabel = GUICtrlCreateLabel("Current Y: ", 10, 35)
    $zLabel = GUICtrlCreateLabel("Current Z: ", 10, 60)
    $rLabel = GUICtrlCreateLabel("Current R: ", 10, 85)
    
    while True
    	updateCoords()
    	$msg = GUIGetMsg()
    	if $msg = $GUI_EVENT_CLOSE Then
    		Exit
    	EndIf
    	
    	Sleep(100)
    WEnd
    
    ;update gui and coords
    func updateCoords()
    	$currentX = _MemoryRead($xAddy , $wow, 'float')
    	$currentY = _MemoryRead($yAddy , $wow, 'float')
    	$currentZ = _MemoryRead($zAddy , $wow, 'float')
    	$currentR = _MemoryRead($rAddy , $wow, 'float')
    	GUICtrlSetData($xLabel, $currentX)
    	GUICtrlSetData($yLabel, $currentY)
    	GUICtrlSetData($zLabel, $currentZ)
    	GUICtrlSetData($rLabel, $currentR)
    	MsgBox(0, "coords", $currentX & "-" & $currentY & "-" & $currentZ)
    EndFunc

    [AutoIT] Basic help
  2. #2
    xwinterx's Avatar Member
    Reputation
    26
    Join Date
    Apr 2009
    Posts
    103
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Havent played with your code due to maintenance day. I had a friend hook me up with some code that I have been trying to update, but havent touched it in a while, but I remember it was working. It's sloppy cuz I was just toying with it, so here it is to compare to what you have:

    Code:
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <NomadMemory.au3>
    
    $Form1 = GUICreate("WoW XYZ Info", 175, 180, -1, -1, -1, $WS_EX_TOPMOST)
    
    
    GUICtrlCreateLabel("Toon:", 10, 20, 50, 15)
    $pname = GUICtrlCreateLabel("----", 65, 20, 100, 15)
    
    
    GUICtrlCreateLabel("X:", 10, 40, 50, 15)
    $X = GUICtrlCreateLabel("----", 65, 40, 100, 15)
    
    GUICtrlCreateLabel("Y:", 10, 60, 50, 15)
    $Y = GUICtrlCreateLabel("----", 65, 60, 100, 15)
    
    GUICtrlCreateLabel("Z:", 10, 80, 50, 15)
    $Z = GUICtrlCreateLabel("----", 65, 80, 100, 15)
    
    GUICtrlCreateLabel("Rotate:", 10, 100, 50, 15)
    $R = GUICtrlCreateLabel("----", 65, 100, 100, 15)
    ;$teleup = GUICtrlCreateButton("Tele-Up", 185, 136, 51, 17, 0)
    ;$teledown = GUICtrlCreateButton("Tele-Down", 240, 136, 59, 17, 0)
    
    ;$Group2 = GUICtrlCreateGroup("Player Scale", 16, 168, 145, 81)
    ;$Label4 = GUICtrlCreateLabel("Value:", 24, 192, 34, 17)
    ;$scaleval = GUICtrlCreateLabel("?", 64, 192, 40)
    ;$sup = GUICtrlCreateButton("Scale-up", 22, 221, 51, 17, 0)
    ;$sdown = GUICtrlCreateButton("Scale-Down", 83, 221, 67, 17, 0)
    ;GUICtrlCreateGroup("", -99, -99, 1, 1)
    ;GUICtrlCreateGroup("", -99, -99, 1, 1)
    ;$Label6 = GUICtrlCreateLabel("Player Pointer Scanner By Strategic-X", 120, 16, 182, 17)
    
    
    $scan = GUICtrlCreateButton("Start Scan", 10, 150, 155, 20)
    
    
    *****tState(@SW_SHOW)
    ;x = basePtr + 0x798
    ;y = basePtr + 0x79C
    ;z = basePtr + 0x7A0
    ;rotation = basePtr + 0x7A8
    
    ; Player Static Guid: 0x011110E0
    
    ; Player Class: 0x011330E5 
    
    SETPRIVILEGE("SeDebugPrivilege", 1)
    Dim $ProPID = WinGetProcess("World of Warcraft");--------FIX THIS---------@SW_MINIMIZE
    $WoWProcess = _MemoryOpen($ProPID)
    
    $UPDATE = 0
    Dim $PLAYERSPEED = 848
    ;Dim $PTRPLAYER = 0x127F13C
    Global Const $cGUID = 0x34;//3.0.9:0x30;
    Global Const $PlayerPTR = 0x010B65F4;//3.0.9:0x127F13C; PlayerBase [not playerobject]
    Global Const $DontKnow1 = 0x24;//3.0.9:0x28
    Global Const $PlayerPosX_Offset = 0x798;// 3.0.9:0x7D0;$PlayerPosX = _MemoryRead($baseAddress  + $PlayerPosX_Offset, $WoWProcess, "int");(players and mobs)
    Global Const $PlayerPosY_Offset  = 0x79C;// 3.0.9:0x7D4;$PlayerPosY = _MemoryRead($baseAddress  + $PlayerPosY_Offset, $WoWProcess, "int");(players and mobs)
    Global Const $PlayerPosZ_Offset  = 0x7A0;// 3.0.9:0x7D8;$PlayerPosZ = _MemoryRead($baseAddress  + $PlayerPosZ_Offset, $WoWProcess, "int");(players and mobs)
    
    
    Global Const $PlayerRotation_Offset  = 0x7A8; = basePtr + 0x7A8;$PlayerRotation= _MemoryRead($baseAddress  + $PlayerRotation_Offset, $WoWProcess, "int")(players and mobs)
    Global Const $PlayerBase = _MemoryRead(_MemoryRead(_MemoryRead($PlayerPTR, $WoWProcess, 'ptr') + $cGUID, $WoWProcess, 'ptr') + $DontKnow1, $WoWProcess, 'ptr')
    
    Dim $STATEOFFSET = 2048
    Dim $DIFFRENCEX2F = 47
    Dim $PLAYERSPEED = 848
    Dim $INTPLAYERXOFFSET = 0x798
    Dim $INTPLAYERYOFFSET = 0x79C
    Dim $INTPLAYERZOFFSET = 0x7A0
    Global $SCALEOFFSET = 156
    Global $PTRPLAYER, $PTRPLAYERX, $PTRPLAYERY, $PTRPLAYERZ, $SCALE, $PlayerMEM, $PLAYERNAME, $PLAYERSPEED, $ROTATE
    
    Global $oBobber = 0x0700D809 ; 0x0143D02D (by player)
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $scan
                GetPointers()
    	EndSwitch
    	If $UPDATE = 1 Then
    		UPDATE()
    	EndIf
    WEnd
    
    ; name new = 0x1132F98
    ; name old = 0x11cb348
    Func GetPointers()
        ;Global $LVL1POINTER = _MemoryRead($PTRPLAYER, $WoWProcess, "ptr")
        ;Global $LVL2POINTER = _MemoryRead(($LVL1POINTER + 48), $WoWProcess, "ptr")
        ;Global $PlayerMEM = _MemoryRead(($LVL2POINTER + 40), $WoWProcess, "ptr")
    	
    	;Global $LVL2POINTER = _MemoryRead(($LVL1POINTER + 38), $WoWProcess, "ptr")
        ;Global $PlayerMEM = _MemoryRead(($LVL2POINTER + 30), $WoWProcess, "ptr")
    	
        ;$PTRPLAYERX = $PlayerMEM + $INTPLAYERXOFFSET
        ;$PTRPLAYERY = $PlayerMEM + $INTPLAYERYOFFSET
        ;$PTRPLAYERZ = $PlayerMEM + $INTPLAYERZOFFSET
        ;$SCALE = $PlayerMEM + $SCALEOFFSET
        ;$ROTATE = $PlayerMEM + 0x7A8
        ;$GLIDEFLY = $PlayerMEM + 2112
        ;$PTRY = _MEMORYREAD($PTRPLAYERY, $WoWProcess, "float")
        $PLAYERNAME = _MEMORYREAD(0x01132F98, $WoWProcess, "char[12]")
        GUICtrlSetData($pname, $PLAYERNAME)
        $UPDATE = 1
    EndFunc  ;==>GetPointers
    
    Func UPDATE()
    	$PlayerPosX = _MemoryRead($PlayerBase  + $PlayerPosX_Offset, $WoWProcess, "float")
    	$CURXPOS1 = GUICtrlSetData($X, $PlayerPosX)
    	$PlayerPosY = _MemoryRead($PlayerBase  + $PlayerPosY_Offset, $WoWProcess, "float")
    	$CURXPOS2 = GUICtrlSetData($Y, $PlayerPosY)
    	$PlayerPosZ = _MemoryRead($PlayerBase  + $PlayerPosZ_Offset, $WoWProcess, "float")
    	$CURXPOS3 = GUICtrlSetData($Z, $PlayerPosZ)
    	$PlayerRotation = _MemoryRead($PlayerBase  + $PlayerRotation_Offset, $WoWProcess, "float")
    	$CURXPOS4 = GUICtrlSetData($R, $PlayerRotation)
    	;$CURZPOS4 = GUICtrlSetData($R, _MEMORYREAD($ROTATE, $WoWProcess, "float"))
        ;GUICtrlSetData($scaleval, _MEMORYREAD($SCALE, $WoWProcess, "float"))
    EndFunc

  3. #3
    UnknOwned's Avatar Legendary
    Reputation
    713
    Join Date
    Nov 2006
    Posts
    583
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by xwinterx View Post
    Havent played with your code due to maintenance day. I had a friend hook me up with some code that I have been trying to update, but havent touched it in a while, but I remember it was working. It's sloppy cuz I was just toying with it, so here it is to compare to what you have:

    Code:
    ...By Strategic-X...
    Ewww:yuck:... That is code from MR. CopyPasta.
    Never use that as reference....



    Originally Posted by 0_00_0 View Post
    I'm just looking to read the X,Y,Z values off the player base. I'm pretty sure all my addresses are correct but thats why I'm posting. I used inireads, but the default values are what it uses. I'm going to try this in C++ or something to see if autoIT is causing the problem. If anyone spots a problem in my code, please point it out!
    ....
    Well first of all NEVER EVER use: (just one of the reasons why you should not look at the code posted above):
    Code:
    $pid = WinGetProcess("World of Warcraft")
    That will look through all your windows with "World Of Warcraft" name in it.
    Look at the top of your browser now... "MMowned - World of Warcraft Explo....", so you script will think that Firefox.exe is the App you need to open..




    Use this enstead:
    Code:
    $list = ProcessList("wow.exe") ;Find all the processes running spawned by wow.exe
    if $list[0][0] = 0 Then
    msgbox(0,"Error","Unable to detect WoW.exe" &@lf & "Please makes sure that wow is running before you open this app")
    exit
    EndIf
    $wow = _memoryopen($list[1][1]) ;Select the first process from the list.

  4. #4
    0_00_0's Avatar Member
    Reputation
    1
    Join Date
    Jun 2007
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by UnknOwned View Post

    Use this enstead:
    Code:
    $list = ProcessList("wow.exe") ;Find all the processes running spawned by wow.exe
    if $list[0][0] = 0 Then
    msgbox(0,"Error","Unable to detect WoW.exe" &@lf & "Please makes sure that wow is running before you open this app")
    exit
    EndIf
    $wow = _memoryopen($list[1][1]) ;Select the first process from the list.
    Thanks man that definitely helped one problem. However, my player base is 0x000000 every time I print it out with msgbox and all of my X,Y,Z,R memory reads still return 0 .

  5. #5
    UnknOwned's Avatar Legendary
    Reputation
    713
    Join Date
    Nov 2006
    Posts
    583
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by 0_00_0 View Post
    Thanks man that definitely helped one problem. However, my player base is 0x000000 every time I print it out with msgbox and all of my X,Y,Z,R memory reads still return 0 .

    your code does look correct..
    Its possibly because you got a "settings.ini" file in your script dir. Delete that one and it should work.

  6. #6
    0_00_0's Avatar Member
    Reputation
    1
    Join Date
    Jun 2007
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well I agree my code looks fine, but I'm starting to think its not my code. I think my permissions aren't working or something. I've had this problem while programming in C++ where readprocessmemory returns 0. I've also moved my SetPrivilege("SeDebugPrivilege", 1) up below the includes so I've got debug privileges for everything.

    I placed msgboxes all over the place for debugging and I've noticed that my lvl1Pointer is 0x000000 as well. I'm going to re-download some of my includes and see if i can figure anything out:s.

    Here's my settings.ini. Shouldn't be the problem.
    Code:
    [Addresses]
    lv1pointer=0x010B65F4
    lv2pointerOffset=0x34
    playerBaseOffset=0x24
    xOffset=0x798
    yOffset=0x79C
    zOffset=0x7A0
    rOffset=0x7A8
    Last edited by 0_00_0; 05-12-2009 at 03:48 PM.

  7. #7
    xwinterx's Avatar Member
    Reputation
    26
    Join Date
    Apr 2009
    Posts
    103
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Someone gave me that code from the autoit forums, so oh well. just learning to play with memory stuff, so it was good enough for me to start learning. though poking around on here has taught me alot too. too bad I havent gotten to apply it very much. pixel-checking for me still.

  8. #8
    _duracell's Avatar Active Member
    Reputation
    43
    Join Date
    May 2007
    Posts
    126
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Use dword instead of ptr for the memory type. dword is a 32bit(4bytes) unsigned integer

    Tested it and this worked for me.

    Code:
    $lvl1Pointer= _MemoryRead($lv1PointerAddress, $wow, 'dword')
    $lvl2Pointer= _MemoryRead(($lvl1Pointer + $lv2PointerOffset), $wow, 'dword')
    $PlayerBase= _MemoryRead(($lvl2Pointer + $playerBaseOffset), $wow, 'dword')

  9. #9
    morgalis's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    22
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here it works great , just use latest NomadMemory.au3
    Attached Files Attached Files

  10. #10
    katnegermis's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How did you manage to find the playerbase?

    I wrote my own walk-from-waypoint-to-waypoint-bot a few months ago, but then the addresses (which I leeched from somewhere) got outdated.
    I'd love to see how you find this base address..

    Thanks!
    katnegermis

    edit: typo
    Last edited by katnegermis; 05-14-2009 at 09:24 AM.

  11. #11
    Cursed's Avatar Contributor
    Reputation
    270
    Join Date
    Jun 2007
    Posts
    1,380
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by katnegermis View Post
    How did you manage to find the playerbase?

    I wrote my own walk-from-waypoint-to-waypoint-bot a few months ago, but then the addresses (which I leeche from somewhere) got outdated.
    I'd love to see how you find this base address..

    Thanks!
    katnegermis
    It's called Reverse Engineering!

  12. #12
    katnegermis's Avatar Member
    Reputation
    1
    Join Date
    Mar 2009
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Cursed View Post
    It's called Reverse Engineering!
    Yea, that I knew... Not quite what I asked for

  13. #13
    Shynd's Avatar Contributor
    Reputation
    97
    Join Date
    May 2008
    Posts
    393
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Then it's called read the ****ing forums. That particular pointer is spammed all to unholy ****.

  14. #14
    Dalord Urgod's Avatar Member
    Reputation
    1
    Join Date
    Feb 2009
    Posts
    18
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think his question is “how do you go about reversing them”
    Just search this site or Google “Cheat engine walk through” but use care while experimenting.

  15. #15
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hint for next time: Search, or suffer infractions.

Similar Threads

  1. [Request] Autoit AH Help
    By Rosulm in forum Diablo 3 Bots Questions & Requests
    Replies: 11
    Last Post: 06-05-2012, 02:49 PM
  2. AutoIt Lua_DoString help
    By telekenetix in forum WoW Memory Editing
    Replies: 11
    Last Post: 11-18-2009, 03:50 PM
  3. [AutoIT]- Need Help with 2 Offsets
    By jabbaruh in forum WoW Memory Editing
    Replies: 18
    Last Post: 07-04-2009, 04:14 PM
  4. Changing the portal gun model (Basic help)
    By blackfang500 in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 01-12-2009, 11:11 PM
  5. autoit v3 help
    By kuruptable in forum World of Warcraft General
    Replies: 0
    Last Post: 08-06-2008, 11:11 PM
All times are GMT -5. The time now is 04:22 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search