my bot can not read data menu

User Tag List

Results 1 to 3 of 3
  1. #1
    mortel51's Avatar Private
    Reputation
    1
    Join Date
    Feb 2010
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    my bot can not read data

    Bonjour à tous

    Voila , je suis nouveau sur ce site et depuis quelques semaine je me suis mis à l'autoIt pour la conception d'un bot perso, je suis débutant dans ce domaine et j'aimerai en apprendre d'avantage.

    Mon tous premier script me donne du mal depuis quelques temps, je n'arrive pas à lire les données exact genre nom dela monture qu'il caste ou le spell ou meme la vie du joueur d'ou le motif de ma requete je vous joind un example de mon premier script qui vient de ce site un tuto que jai suivi avec un ptit pour etre honnete je ne m'en sort pas.

    Hello to all

    Here, I am new to this site and a few weeks since I started the AutoIt to design a bot Me, I'm a beginner in this field and I would like to learn more.

    All my first script gives me trouble for some time, I can not read the data type exact name beyond caste or mount it or even spell the player's life or the reason for my request I joind an example of my first script that comes from this website a tutorial that i followed with a lil to be honest I do not go out.


    Code AutoIt :

    Code:

    Code:
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;--------------------------------------------------------------------------------
    ;Getting My Player GUID
    ;--------------------------------------------------------------------------------
    #include <NomadMemory.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    
    $playerName = 0xE28460
    $MountsCount = 0xD26730
    $MountsList = $MountsCount + 0x4
    $IsCasting = 0xC38
    
    ;--------------------------------------------------------------------------------
    ;public enum UnitFields
    ;--------------------------------------------------------------------------------
    $UNIT_FIELD_HEALTH = 0x8 + 0x14
    
    Global Const $ClientConnection = 0xE28420						;The first 2 are you create you manager from the baseaddress wow
    Global Const $CurrMgrOffset = 0x462C
    Global Const $FirstObjectOffset = 0xCC 							;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 $DescriptorOffset = 0x8
    Global Const $localPlayerGUIDOffset = 0xD0
    Global Const $GameObjGUIDOffset = 0x30							;This next one is to find the objects type : 1 to 7
    Global Const $GameObjTypeOffset = 0x14
    
    ;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
    $pGUID2 = _MemoryRead("0x" & Hex($currMgr + $localPlayerGUIDOffset), $WowProcess , "dword") ;Player Guid 2
    
    ;Gettin My Player Address
    $ObjectMemLoc = GetMemLocByGUID($pGUID)
    
    $msgbox_text  = "";
    $msgbox_text &= "$ProcessID: " & $ProcessID & ;
    $msgbox_text &= "$WowBase: " & $WowBase & ;
    $msgbox_text &= "$currMgr_pre: " & $currMgr_pre & ;
    $msgbox_text &= "$currMgr: " & $currMgr & ;
    $msgbox_text &= "$pGUID: " & $pGUID & ;
    $msgbox_text &= "$pGUID2: " & $pGUID2 & ;
    $msgbox_text &= "Player Name: " & GetPlayerName() & ;
    $msgbox_text &= "Player health: " & GetPlayerHealth() & ;
    $msgbox_text &= "spellName: " & $IsCasting & ;
    $msgbox_text &= "Mount: " & $MountsList & ;
    
    MsgBox(1,"Test",$msgbox_text)
    
    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

    Résultat :

    my bot can not read data-sans-titre-png

    comme vous pouvez le voir meme le guid me marque 0, en attendant une aide de votre part ou conseil je reste à votre disposition pour toute infos.

    as you can see the same guid me indicates 0, pending assistance or advice from you I remain at your disposal for any information.
    Last edited by mortel51; 11-30-2012 at 12:33 PM. Reason: oublie de precision

    my bot can not read data
  2. #2
    Dante's Avatar M.L.G. ╰ ╯╰ ╯ ╰ ╯ ╰ ╯ CoreCoins Purchaser
    Reputation
    1321
    Join Date
    Aug 2012
    Posts
    2,481
    Thanks G/R
    132/141
    Trade Feedback
    5 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sorry i can't help you with programming :<
    I bet it whould help others to help you if you post in english instead of french though ^_^
    I don't have a skype account. Contact me through pms or through discord.



  3. #3
    calinzier's Avatar Sergeant CoreCoins Purchaser
    Reputation
    9
    Join Date
    Sep 2012
    Posts
    65
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i agree with dante..... even though ( reference his sig) I cant speak english sometimes XD

Similar Threads

  1. Can not edit post - Mod please help
    By DJRehab in forum Community Chat
    Replies: 3
    Last Post: 08-05-2007, 04:09 PM
  2. Can you read this
    By Ramez in forum Community Chat
    Replies: 23
    Last Post: 07-10-2007, 10:06 PM
  3. HELP! Can't find data file!!
    By Rekro in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 12-25-2006, 11:42 PM
  4. WoW bot program. NOT wow glider
    By Disphotic in forum World of Warcraft General
    Replies: 3
    Last Post: 10-17-2006, 12:39 PM
All times are GMT -5. The time now is 05:18 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