[AutoIT] GPH & XP Tracker menu

Shout-Out

User Tag List

Page 2 of 2 FirstFirst 12
Results 16 to 30 of 30
  1. #16
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I will update it to use this func in few days probably.

    [AutoIT] GPH & XP Tracker
  2. #17
    bastiflew's Avatar Active Member
    Reputation
    41
    Join Date
    Aug 2012
    Posts
    98
    Thanks G/R
    1/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here my translation for getting attribute.
    $idAttrib = read(ACD + 0x120).

    sample :
    EnergyArmor is active ?
    Code:
    ConsoleWrite(IsBuffActive([idattrib from PlayerACD], 0x153cf) & @CRLF)
    BackPack slot :
    Code:
    ConsoleWrite(GetAttributeInt([idattrib from PlayerACD], 8) & @CRLF)

    Code:
    Func GetFAG($idAttrib)
    	$c = _memoryread($ofs_objectmanager, $d3, "ptr")
    	$c1 = _memoryread($c + 0x85c, $d3, "ptr")
    	$c2 = _memoryread($c1 + 0x70, $d3, "ptr")
    
    	$id = BitAND($idAttrib, 0xFFFF)
    
    	$bitShift = _memoryread($c2 + 0x18C, $d3, "int")
    	$group1 = _memoryread(_memoryread($c2 + 0x148, $d3, "ptr"), $d3, "int")
    	$group2 = 4 * BitShift($id, $bitShift)
    	$group3 = BitShift(1, -$bitShift) - 1
    	$group4 = 0x180 * BitAND($id, $group3)
    	Return $group2 + $group4 + $group1
    EndFunc
    
    Func GetAttributeOfs($idAttrib, $attrib)
    	$FAG = GetFAG($idAttrib)
    	$temp1 = _memoryread(_memoryread($FAG + 0x10, $d3, "ptr") + 8, $d3, "int")
    	$temp2 = _memoryread(_memoryread($FAG + 0x10, $d3, "ptr") + 0x418, $d3, "int")
    	$temp3 = BitXOR($attrib, BitShift($attrib, 16))
    	$temp4 = 4 * BitAND($temp2, $temp3)
    	$attribEntry = _memoryread($temp1 + $temp4,  $d3, "int")
    
    	If $attribEntry <> 0 Then
    		While _memoryread($attribEntry + 4, $d3, "int") <> $attrib
    			$attribEntry = _memoryread($attribEntry, $d3, "int")
    			if $attribEntry == 0 Then
    				Return -1
    			EndIf
    		WEnd
    		Return $attribEntry + 8
    	EndIf
    	Return -1
    EndFunc
    
    Func GetAttributeInt($idAttrib, $attrib)
    	Return _memoryread(GetAttributeOfs($idAttrib, BitOR($attrib, 0xFFFFF000)), $d3, "int")
    EndFunc
    
    Func GetAttributeFloat($idAttrib, $attrib)
    	Return _memoryread(GetAttributeOfs($idAttrib, BitOR($attrib, 0xFFFFF000)), $d3, "float")
    EndFunc
    
    Func IsPowerReady($idAttrib, $idPower)
    	Return _memoryread(GetAttributeOfs($idAttrib, BitOR(0x12B, BitShift($idPower, -12))), $d3, "int") <= 0
    EndFunc
    
    Func IsBuffActive($idAttrib, $idPower)
    	Return _memoryread(GetAttributeOfs($idAttrib, BitOR(0x202, BitShift($idPower, -12))), $d3, "int") == 1
    EndFunc

  3. #18
    leo11173's Avatar Member
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    58
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks again KJ et Basti.


    @Hunggarn
    All you have to do is adding the above function in the toolkit.

    Then remplace this function :

    Code:
    ;;================================================================================
    ; Function:			IterateActorAtribs($_GUID,$_REQ)
    ; Description:		Read the requested attribute data from a actor defined by GUID
    ; Parameter(s):		$_GUID - The GUID of the object you want the data from
    ;					$_REQ - The data you want to request (the variable)
    ;
    ; Note(s):			You can find a list of all the $_REQ variables in the Constants() function
    ;					It should be noted that i have not checked them all through
    ;						so the type ("float" or "int") might be wrong.
    ;					This function will always return "false" if the requested atribute does not exsist
    ;==================================================================================
    Func IterateActorAtribs($_GUID, $_REQ)
    	Local $index, $offset, $count, $item[4]
    	startIterateLocalActor($index, $offset, $count)
    	While iterateLocalActorList($index, $offset, $count, $item)
    		If $item[0] = "0x" & Hex($_GUID) Then
    			If $_REQ[1] = 'float' Then
    				Return $AttribInterop.GetAttributeFloat($item[2], $_REQ[0])
    			Else
    				Return $AttribInterop.GetAttributeInt($item[2], $_REQ[0])
    			EndIf
    			ExitLoop
    		EndIf
    	WEnd
    	Return False
    By this new one :

    Code:
    ;;================================================================================
    ; Function:			IterateActorAtribs($_GUID,$_REQ)
    ; Description:		Read the requested attribute data from a actor defined by GUID
    ; Parameter(s):		$_GUID - The GUID of the object you want the data from
    ;					$_REQ - The data you want to request (the variable)
    ;
    ; Note(s):			You can find a list of all the $_REQ variables in the Constants() function
    ;					It should be noted that i have not checked them all through
    ;						so the type ("float" or "int") might be wrong.
    ;					This function will always return "false" if the requested atribute does not exsist
    ;==================================================================================
    Func IterateActorAtribs($_GUID, $_REQ)
    	Local $index, $offset, $count, $item[4]
    	startIterateLocalActor($index, $offset, $count)
    	While iterateLocalActorList($index, $offset, $count, $item)
    		If $item[0] = "0x" & Hex($_GUID) Then
    			If $_REQ[1] = 'float' Then
    				Return GetAttributeFloat($item[2], $_REQ[0])
    			Else
    				Return GetAttributeInt($item[2], $_REQ[0])
    			EndIf
    			ExitLoop
    		EndIf
    	WEnd
    	Return False

    Voila.
    No more Dll needed.

  4. #19
    KillerJohn's Avatar TurboHUD HUDmaster CoreCoins Purchaser Authenticator enabled
    Reputation
    3696
    Join Date
    Jul 2012
    Posts
    2,532
    Thanks G/R
    46/3338
    Trade Feedback
    0 (0%)
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by leo11173 View Post
    Thanks again KJ et Basti.
    You are welcome!

  5. #20
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Updated for 1.0.6. Big thanks everyone for sharing their code. Let me know if it has any bugs now.

  6. #21
    anakindetelos's Avatar Corporal
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've an error : Line 1415 (File"~\Tracker\tracker.exe"):
    Error: Variable must be of type "Object".

    I lauched the tracker after login, there was no error, but this appear when i click on play.

  7. #22
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Try launching when you are in game.

  8. #23
    anakindetelos's Avatar Corporal
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    17
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    There is the same error

  9. #24
    leo11173's Avatar Member
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    58
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've an error : Line 1415 (File"~\Tracker\tracker.exe"):
    Error: Variable must be of type "Object".
    Looks like the dll is still called.

  10. #25
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry for the mistake , seems like i've packed wrong file at first time. Anyway now remains question: how to check if bot is in game or menu without the dll? There was a nice function
    Code:
    Func _ingame()
    	$gamelookfor = "game_progressBar_healthBall"
    	Return fastcheckuiitemvisible($gamelookfor, 1, 237)
    EndFunc   ;==>_ingame
    But it uses the .dll . Now i'm stuck how to check it without requiring screen pixel / image read.

    Let me know of any errors, if it still won't work from exe without the .dll I will remove everything related to .dll from the code, didn't want to do it yet.

  11. #26
    cavewoman's Avatar Member
    Reputation
    14
    Join Date
    May 2008
    Posts
    30
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Works perfect!!!

    One thing to make it better would be a live showing of the numbers changing if possible. Not having it update and then just sit there. The demon buddy bot currently does it so it should be possible but I don't know if its possible with the code you use.

  12. #27
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It is possible with my code. Only thing is CPU usage If you're using self compiled version edit main function sleep:
    Code:
    While 1
    	
    	;CheckMenu()
    	offsetlist()
    	While Not offsetlist()
    		Sleep(40)
    	WEnd
    
    	StatsDisplay()
    	
    	$windows = WinList("Diablo III")
    
    	;For $i = 1 to $windows[0][0] ;; this function gives diablo window focus - dirty anti afk.
    	 ;  Sleep(2000)
    	 ;  WinActivate($windows[$i][1])
    	;Next
    	
    	Sleep(100000) ;; <----- This one
    			
    WEnd
    To Sleep(1000) then it'll be updated every 1 second. Bad thing about it is offsetlist have to be initialized each run and it can load your cpu a lot. Anyway from what I've noticed updating it live has no bigger point, why? Because accurate numbers come after atleast hour, so it doesn't change anything if you see 500 k / hr at start run and then minute later 100k / hr

    Live numbers version HERE

    Also it may much more often screw up numbers, sometimes it shows strange GPH , XPH values, it's related to offset changing ingame, also some other things that happen but idk why :P

  13. #28
    cavewoman's Avatar Member
    Reputation
    14
    Join Date
    May 2008
    Posts
    30
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Maybe add a button to pause the tracking.

  14. #29
    Huggarn's Avatar Member
    Reputation
    3
    Join Date
    Jul 2008
    Posts
    79
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Press HOME key to pause, END to quit. Sorry forgot to mention that Will add pause button soon.

  15. #30
    michul3k's Avatar Corporal
    Reputation
    2
    Join Date
    Dec 2012
    Posts
    18
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hi, this script working bad, i get 20m exp, but he show me that i get 58m exp, and per hour 180m , this is not possible, whats wrong ?

Page 2 of 2 FirstFirst 12

Similar Threads

  1. GPH tracker and other statistics?
    By saph27 in forum Diablo 3 Bots Questions & Requests
    Replies: 1
    Last Post: 11-06-2012, 07:35 PM
  2. [Autoit help]Modify hotkey to rightclick(fishbot)
    By darknavi in forum World of Warcraft General
    Replies: 4
    Last Post: 07-01-2006, 09:31 PM
  3. No fall dmg (autoIT)
    By KuRIoS in forum World of Warcraft Exploits
    Replies: 6
    Last Post: 06-19-2006, 12:22 PM
  4. autoIT question
    By Vel0city in forum World of Warcraft General
    Replies: 3
    Last Post: 06-18-2006, 02:54 PM
  5. AutoIt Macro for WoW AFK Bot
    By Matt in forum World of Warcraft Bots and Programs
    Replies: 8
    Last Post: 04-06-2006, 06:01 AM
All times are GMT -5. The time now is 07:01 AM. 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