[AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling. (Version 2) menu

Shout-Out

User Tag List

Page 18 of 21 FirstFirst ... 1415161718192021 LastLast
Results 256 to 270 of 302
  1. #256
    boredevil's Avatar Active Member
    Reputation
    46
    Join Date
    Feb 2008
    Posts
    166
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    you got it right, but are overcomplicating things.

    acd + (7*4 + 0x148 ) == acd + 0x164.

    that´s how the client does it 0084E3C0:
    PHP Code:
    int __cdecl D3::ACD::GetItemIdentified(int a1)
    {
      
    int result// eax@2

      
    if ( *(_DWORD *)(a1 0xB0) == )
        
    result = *(_DWORD *)(a1 0x164) > 0;
      else
        
    result 0;
      return 
    result;


    [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling. (Version 2)
  2. #257
    joxxe87's Avatar Corporal
    Reputation
    5
    Join Date
    Aug 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by boredevil View Post
    you got it right, but are overcomplicating things.

    acd + (7*4 + 0x148 ) == acd + 0x164.

    that´s how the client does it 0084E3C0:
    PHP Code:
    int __cdecl D3::ACD::GetItemIdentified(int a1)
    {
      
    int result// eax@2

      
    if ( *(_DWORD *)(a1 0xB0) == )
        
    result = *(_DWORD *)(a1 0x164) > 0;
      else
        
    result 0;
      return 
    result;

    I was inspecting that offset aswell, and then i saw your answer

    Code:
    $newItems[$i][$indexForBGID + 19] = _MemoryRead($newItems[$i][7]+0x164, $d3, 'int') > 0  ;offset+0x164 , true=unid, false=identified
    is better than my previous code. Thank you!

    EDIT: My array is edited, if u using the code from this thread, it should be the offset located at newItems[$i][0].
    Last edited by joxxe87; 08-10-2012 at 03:58 PM.

  3. #258
    botserver's Avatar Member
    Reputation
    6
    Join Date
    Jun 2012
    Posts
    9
    Thanks G/R
    1/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I need help here

    Code:
    Local $DATA = IterateBackpack( $bag )
    Local $armorItemsWithLvl = MapItemWithLvl( $DATA, $armorItems, 8 )
    If IterateBackpack return a [n][6] array next code will fail..

    Code:
    Func MapItemWithLvl($items,$snowithlvl,$indexForBGID)
    ...
    ...
    	if $snowithlvl[$j][0] = $items[$i][$indexForBGID] Then
    ...
    EndFunc
    Here my IterateBackpack function

    Code:
    Func IterateBackpack($bag = 0,$rlvl = 0)
    	;$bag = 0 for backpack and 15 for stash
    	;$rlvl = 1 for actual level requirement of item and 0 for base required level
    	$_Count = _MemoryRead($_LocalActor_Count, $d3, 'int')
    	$CurrentOffset = $_LocalActor_3
    	Global $__ACDACTOR[$_Count + 1][7]
    	For $i = 0 To $_Count
    		$__ACDACTOR[$i][0] = _MemoryRead($CurrentOffset, $d3, 'ptr')
    		$__ACDACTOR[$i][1] = _MemoryRead($CurrentOffset + 0x4, $d3, 'char[64]')
    		$__ACDACTOR[$i][2] = _MemoryRead($CurrentOffset + 0x114, $d3, 'int')
    		$__ACDACTOR[$i][3] = _MemoryRead($CurrentOffset + 0x118, $d3, 'int')
    		$__ACDACTOR[$i][4] = _MemoryRead($CurrentOffset + 0x11C, $d3, 'int')
    		$__ACDACTOR[$i][5] = 0
    		$__ACDACTOR[$i][6] = _MemoryRead($CurrentOffset + $ofs_LocalActor_atribGUID, $d3, 'ptr')
    		$CurrentOffset = $CurrentOffset + $ofs_LocalActor_StrucSize
    	Next
    	For $i = $_Count To 0 Step -1
    		If $__ACDACTOR[$i][2] <> $bag Then
    			_ArrayDelete($__ACDACTOR, $i)
    		Else
    			$__ACDACTOR[$i][5] = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Requirement)
    			if $rlvl Then
    				$lvlReduce = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Item_Level_Requirement_Reduction)
    				If $lvlReduce Then $__ACDACTOR[$i][5] = $__ACDACTOR[$i][5] - $lvlReduce
    			EndIf
    		EndIf
    	Next
    EndFunc   ;==>IterateBackpack

  4. #259
    joxxe87's Avatar Corporal
    Reputation
    5
    Join Date
    Aug 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by botserver View Post
    I need help here

    Code:
    Local $DATA = IterateBackpack( $bag )
    Local $armorItemsWithLvl = MapItemWithLvl( $DATA, $armorItems, 8 )
    If IterateBackpack return a [n][6] array next code will fail..

    Code:
    Func MapItemWithLvl($items,$snowithlvl,$indexForBGID)
    ...
    ...
    	if $snowithlvl[$j][0] = $items[$i][$indexForBGID] Then
    ...
    EndFunc
    Here my IterateBackpack function

    Code:
    Func IterateBackpack($bag = 0,$rlvl = 0)
    	;$bag = 0 for backpack and 15 for stash
    	;$rlvl = 1 for actual level requirement of item and 0 for base required level
    	$_Count = _MemoryRead($_LocalActor_Count, $d3, 'int')
    	$CurrentOffset = $_LocalActor_3
    	Global $__ACDACTOR[$_Count + 1][7]
    	For $i = 0 To $_Count
    		$__ACDACTOR[$i][0] = _MemoryRead($CurrentOffset, $d3, 'ptr')
    		$__ACDACTOR[$i][1] = _MemoryRead($CurrentOffset + 0x4, $d3, 'char[64]')
    		$__ACDACTOR[$i][2] = _MemoryRead($CurrentOffset + 0x114, $d3, 'int')
    		$__ACDACTOR[$i][3] = _MemoryRead($CurrentOffset + 0x118, $d3, 'int')
    		$__ACDACTOR[$i][4] = _MemoryRead($CurrentOffset + 0x11C, $d3, 'int')
    		$__ACDACTOR[$i][5] = 0
    		$__ACDACTOR[$i][6] = _MemoryRead($CurrentOffset + $ofs_LocalActor_atribGUID, $d3, 'ptr')
    		$CurrentOffset = $CurrentOffset + $ofs_LocalActor_StrucSize
    	Next
    	For $i = $_Count To 0 Step -1
    		If $__ACDACTOR[$i][2] <> $bag Then
    			_ArrayDelete($__ACDACTOR, $i)
    		Else
    			$__ACDACTOR[$i][5] = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Requirement)
    			if $rlvl Then
    				$lvlReduce = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Item_Level_Requirement_Reduction)
    				If $lvlReduce Then $__ACDACTOR[$i][5] = $__ACDACTOR[$i][5] - $lvlReduce
    			EndIf
    		EndIf
    	Next
    EndFunc   ;==>IterateBackpack
    Forgot to say that i modified that the IterateBackpack function. try this one (added offset and gamebalance id)

    Code:
    ;;--------------------------------------------------------------------------------
    ;;	Getting Backpack Item Info
    ;;--------------------------------------------------------------------------------
    Func IterateBackpack($bag = 0, $rlvl = 0)
    	;$bag = 0 for backpack and 15 for stash
    	;$rlvl = 1 for actual level requirement of item and 0 for base required level
    	$_Count = _MemoryRead($_LocalActor_Count, $d3, 'int')
    	$CurrentOffset = $_LocalActor_3
    	Local $__ACDACTOR[$_Count + 1][9]
    	For $i = 0 To $_Count
    		$__ACDACTOR[$i][0] = _MemoryRead($CurrentOffset, $d3, 'ptr')
    		$__ACDACTOR[$i][1] = _MemoryRead($CurrentOffset + 0x4, $d3, 'char[64]')
    		$__ACDACTOR[$i][2] = _MemoryRead($CurrentOffset + 0x114, $d3, 'int')
    		$__ACDACTOR[$i][3] = _MemoryRead($CurrentOffset + 0x118, $d3, 'int')
    		$__ACDACTOR[$i][4] = _MemoryRead($CurrentOffset + 0x11C, $d3, 'int')
    		$__ACDACTOR[$i][5] = 0
    		$__ACDACTOR[$i][6] = _MemoryRead($CurrentOffset + $ofs_LocalActor_atribGUID, $d3, 'ptr')
    		$__ACDACTOR[$i][7] = $CurrentOffset
    		$__ACDACTOR[$i][8] = _MemoryRead($CurrentOffset + 0xB4, $d3, 'int')
    		$CurrentOffset = $CurrentOffset + $ofs_LocalActor_StrucSize
    	Next
    	For $i = $_Count To 0 Step -1
    		If $__ACDACTOR[$i][2] <> $bag Then
    			_ArrayDelete($__ACDACTOR, $i)
    		Else
    			$__ACDACTOR[$i][5] = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Requirement)
    			If $rlvl Then
    				$lvlReduce = GetPackItemLevel($__ACDACTOR[$i][6], $Atrib_Item_Level_Requirement_Reduction)
    				If $lvlReduce Then $__ACDACTOR[$i][5] = $__ACDACTOR[$i][5] - $lvlReduce
    			EndIf
    		EndIf
    	Next
    	;print it´
    	Return $__ACDACTOR
    EndFunc   ;==>IterateBackpack
    
    ;;--------------------------------------------------------------------------------
    ;;	Maps snos containg a lvl to the item with that snoid
    ;;--------------------------------------------------------------------------------
    Func MapItemWithLvl($items, $snowithlvl, $indexForBGID)
    	Local $newItems = $items
    	ReDim $newItems[UBound($items, 1)][UBound($items, 2) + UBound($snowithlvl, 2) + 9] ;add size for some new variables
    	For $i = 0 To UBound($items) - 1 Step 1
    		For $j = 0 To UBound($snowithlvl) - 1 Step 1
    			If $snowithlvl[$j][0] = $items[$i][$indexForBGID] Then
    				$newItems[$i][$indexForBGID + 1] = $snowithlvl[$j][1] ;ilvl
    				$newItems[$i][$indexForBGID + 2] = $snowithlvl[$j][2] ;min dmg
    				$newItems[$i][$indexForBGID + 3] = $snowithlvl[$j][3] ;;max dmg
    				$newItems[$i][$indexForBGID + 4] = $snowithlvl[$j][4] ;;min armor
    				$newItems[$i][$indexForBGID + 5] = $snowithlvl[$j][5] ;max armor
    				$newItems[$i][$indexForBGID + 6] = $snowithlvl[$j][6] ;min dmg modifier
    				$newItems[$i][$indexForBGID + 7] = $snowithlvl[$j][7] ;max dmg modifier
    				$newItems[$i][$indexForBGID + 8] = $snowithlvl[$j][8] ;gold
    				$newItems[$i][$indexForBGID + 9] = $snowithlvl[$j][9] ;weapon speed
    				;;some extra attributes
    				$newItems[$i][$indexForBGID + 10] = IterateActorAtribs($newItems[$i][0], $Atrib_Item_Quality_Level) ;quality lvl
    				$newItems[$i][$indexForBGID + 11] = IterateActorAtribs($newItems[$i][0], $Atrib_Strength_Item) ;str
    				$newItems[$i][$indexForBGID + 12] = IterateActorAtribs($newItems[$i][0], $Atrib_Vitality_Item) ;vit
    				$newItems[$i][$indexForBGID + 12] = IterateActorAtribs($newItems[$i][0], $Atrib_Intelligence_Item) ;int
    				$newItems[$i][$indexForBGID + 13] = IterateActorAtribs($newItems[$i][0], $Atrib_Dexterity_Item) ;dex
    				$newItems[$i][$indexForBGID + 15] = IterateActorAtribs($newItems[$i][0], $Atrib_Resistance_All) ;all res
    				$newItems[$i][$indexForBGID + 16] = Round(IterateActorAtribs($newItems[$i][0], $Atrib_Gold_Find) * 100) ;gf in %
    				$newItems[$i][$indexForBGID + 17] = Round(IterateActorAtribs($newItems[$i][0], $Atrib_Magic_Find) * 100) ;mf in %
    				$newItems[$i][$indexForBGID + 18] = Round(IterateActorAtribs($newItems[$i][0], $Atrib_Hitpoints_Max_Percent_Bonus_Item) * 100) ;life %
    				$newItems[$i][$indexForBGID + 19] = _MemoryRead($newItems[$i][7]+0x164, $d3, 'int') > 0 ;0ffset + 164 ;true=unid, false=identified
    
    				ExitLoop
    			EndIf
    		Next
    	Next
    	Return $newItems
    EndFunc   ;==>MapItemWithLvl
    
    ;;--------------------------------------------------------------------------------
    ;;	Gets levels from Gamebalance file, returns a list with snoid and lvl
    ;;--------------------------------------------------------------------------------
    Func GetLevels($offset)
    	If $offset <> 0 Then
    		$ofs = $offset + 0x218;
    		$read = _MemoryRead($ofs, $d3, 'int')
    		While $read = 0
    			$ofs += 0x4
    			$read = _MemoryRead($ofs, $d3, 'int')
    		WEnd
    		$size = _MemoryRead($ofs + 0x4, $d3, 'int')
    		$size -= 0x5F0
    		$ofs = $offset + _MemoryRead($ofs, $d3, 'int')
    		$nr = $size / 0x5F0
    		Local $snoItems[$nr + 1][10]
    		$j = 0
    		For $i = 0 To $size Step 0x5F0
    			$ofs_address = $ofs + $i
    			$snoItems[$j][0] = _MemoryRead($ofs_address, $d3, 'ptr')
    			$snoItems[$j][1] = _MemoryRead($ofs_address + 0x114, $d3, 'int') ;lvl
    			$snoItems[$j][2] = _MemoryRead($ofs_address + 0x1C8, $d3, 'float') ;min dmg
    			$snoItems[$j][3] = $snoItems[$j][2] + _MemoryRead($ofs_address + 0x1CC, $d3, 'float') ;max dmg
    			$snoItems[$j][4] = _MemoryRead($ofs_address + 0x224, $d3, 'float') ;min armor
    			$snoItems[$j][5] = $snoItems[$j][4] + _MemoryRead($ofs_address + 0x228, $d3, 'float') ;max armor
    			$snoItems[$j][6] = _MemoryRead($ofs_address + 0x32C, $d3, 'float') ;min dmg modifier
    			$snoItems[$j][7] = $snoItems[$j][4] + _MemoryRead($ofs_address + 0x330, $d3, 'float') ;max dmg modifier
    			$snoItems[$j][8] = _MemoryRead($ofs_address + 0x12C, $d3, 'int') ;gold price
    			$snoItems[$j][9] = _MemoryRead($ofs_address + 0x2D4, $d3, 'float') ;wpn speed
    			$j += 1
    		Next
    	EndIf
    
    	Return $snoItems
    EndFunc   ;==>GetLevels
    
    ;;--------------------------------------------------------------------------------
    ;;	Getting Backpack Item Info, extended to show some more info
    ;;  $bag = 0 for backpack and 15 for stash
    ;;--------------------------------------------------------------------------------
    Func IterateBackpackExtendedWithLvl($bag = 0)
    	$list = IndexSNO($gameBalance)
    	$armorOffs = 0
    	$weaponOffs = 0
    	$otherOffs = 0
    	For $j = 0 To UBound($list) - 1
    		;19750 = armor, 19754 = weapon, 1953 = other
    		If ($list[$j][1] = 19750) Then
    			$armorOffs = $list[$j][0]
    		EndIf
    		If ($list[$j][1] = 19754) Then
    			$weaponOffs = $list[$j][0]
    		EndIf
    		If ($list[$j][1] = 19753) Then
    			$otherOffs = $list[$j][0]
    		EndIf
    	Next
    	Local $armorItems = GetLevels($armorOffs)
    	Local $weaponItems = GetLevels($weaponOffs)
    	Local $otherItems = GetLevels($otherOffs)
    	Local $data = IterateBackpack($bag)
    	Local $armorItemsWithLvl = MapItemWithLvl($data, $armorItems, 8)
    	Local $weaponItemsWithLvl = MapItemWithLvl($data, $weaponItems, 8)
    	Local $otherItemsWithLvl = MapItemWithLvl($data, $otherItems, 8)
    	Local $allItems[UBound($armorItemsWithLvl, 1)][UBound($armorItemsWithLvl, 2)]
    	For $i = 0 To UBound($allItems) - 1 Step 1
    		If $armorItemsWithLvl[$i][9] <> "" Then
    			;copy from $armorItemsWithLvl to all items
    			For $j = 0 To UBound($armorItemsWithLvl, 2) - 1 Step 1
    				$allItems[$i][$j] = $armorItemsWithLvl[$i][$j]
    			Next
    		ElseIf $weaponItemsWithLvl[$i][9] <> "" Then
    			;copy from $weaponItemsWithLvl to all items
    			For $j = 0 To UBound($weaponItemsWithLvl, 2) - 1 Step 1
    				$allItems[$i][$j] = $weaponItemsWithLvl[$i][$j]
    			Next
    		ElseIf $otherItemsWithLvl[$i][9] <> "" Then
    			;copy from $otherItemsWithLvl to all items
    			For $j = 0 To UBound($otherItemsWithLvl, 2) - 1 Step 1
    				$allItems[$i][$j] = $otherItemsWithLvl[$i][$j]
    			Next
    		EndIf
    	Next
    	Return $allItems
    EndFunc   ;==>IterateBackpackExtendedWithLvl
    Last edited by joxxe87; 08-10-2012 at 05:02 PM.

  5. #260
    botserver's Avatar Member
    Reputation
    6
    Join Date
    Jun 2012
    Posts
    9
    Thanks G/R
    1/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by joxxe87 View Post
    Forgot to say that i modified that the IterateBackpack function. try this one (added offset and gamebalance id)
    Now work fine
    ty again

  6. #261
    joxxe87's Avatar Corporal
    Reputation
    5
    Join Date
    Aug 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Im trying to get the current level area.

    There is some usefull info here: Blizzhackers &bull; View topic - Diablo III Offsets, Globals, Funcs, Structs, Classes, etc.

    But it doenst help me that much. Anyone else managed to get the cirremt level area name?

  7. #262
    Evozer's Avatar Contributor
    Reputation
    150
    Join Date
    Jan 2011
    Posts
    214
    Thanks G/R
    1/15
    Trade Feedback
    9 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by joxxe87 View Post
    Im trying to get the current level area.

    There is some usefull info here: Blizzhackers • View topic - Diablo III Offsets, Globals, Funcs, Structs, Classes, etc.

    But it doenst help me that much. Anyone else managed to get the cirremt level area name?
    Current level area id can be found with: ReadInt(ReadInt(0x17718C4) + 0x810). There are probably other ways to do it but this is just the first one I looked at.

  8. #263
    joxxe87's Avatar Corporal
    Reputation
    5
    Join Date
    Aug 2012
    Posts
    28
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Evozer View Post
    Current level area id can be found with: ReadInt(ReadInt(0x17718C4) + 0x810). There are probably other ways to do it but this is just the first one I looked at.
    Ah sweet. How did you find that offset?

    Some usefull code:
    Code:
    Func GetLevelAreaId()
    	return _MemoryRead(_MemoryRead(0x17718C4,$d3,"int")+ 0x810,$d3,"int")
    EndFunc
    
    Func IsInArea($area)
    	return $area = GetLevelAreaId()
    EndFunc
    
    
    ;Some level area constants
    Func LevelAreaConstants()
    	Global $A1_C6_SpiderCave_01_Entrance = 0xE3A6
    	Global $A1_C6_SpiderCave_01_Main = 0x132EC
    	Global $A1_C6_SpiderCave_01_Queen = 0xF506
    	Global $A1_Dun_Crypt_Dev_Hell = 0x36581
    	Global $A1_Fields_Cave_SwordOfJustice_Level01 = 0x1D455
    	Global $A1_Fields_Den = 0x21045
    	Global $A1_Fields_Den_Level02 = 0x2F6b8
    	Global $A1_Fields_RandomDRLG_CaveA_Level01 = 0x141C4
    	Global $A1_Fields_RandomDRLG_CaveA_Level02 = 0x141C5
    	Global $A1_Fields_RandomDRLG_ScavengerDenA_Level01 = 0x13D0D
    	Global $A1_Fields_RandomDRLG_ScavengerDenA_Level02 = 0x13D17
    	Global $A1_Fields_Vendor_Tinker_Exterior = 0x2bC0C
    	Global $A1_Highlands_RandomDRLG_GoatmanCaveA_Level01 = 0x14286
    	Global $A1_Highlands_RandomDRLG_GoatmanCaveA_Level02 = 0x14287
    	Global $A1_Highlands_RandomDRLG_WestTower_Level01 = 0x14196
    	Global $A1_Highlands_RandomDRLG_WestTower_Level02 = 0x14197
    	Global $A1_Random_Level01 = 0x33A17
    	Global $A1_trDun_Blacksmith_Cellar = 0x144A6
    	Global $A1_trDun_ButchersLair_02 = 0x16301
    	Global $A1_trDun_Cain_Intro = 0xED2A
    	Global $A1_trDun_Cave_Highlands_Random01_VendorRescue = 0x21310
    	Global $A1_trdun_Cave_Nephalem_01 = 0xEBEC
    	Global $A1_trdun_Cave_Nephalem_02 = 0xEBED
    	Global $A1_trdun_Cave_Nephalem_03 = 0xEBEE
    	Global $A1_trDun_Cave_Old_Ruins_Random01 = 0x278AC
    	Global $A1_trDun_CrownRoom = 0x18FDA
    	Global $A1_trDun_Crypt_Event_Tower_Of_Power = 0x138F4
    	Global $A1_trDun_Crypt_Flooded_Memories_Level01 = 0x18F9c
    	Global $A1_trDun_Crypt_Flooded_Memories_Level02 = 0x287A6
    	Global $A1_trdun_Crypt_Special_00 = 0x25BDC
    	Global $A1_trdun_Crypt_Special_01 = 0xECB9
    	Global $A1_trDun_Event_JarOfSouls = 0x2371E
    	Global $A1_trDun_FalseSecretPassage_01 = 0x14540
    	Global $A1_trDun_FalseSecretPassage_02 = 0x14541
    	Global $A1_trDun_FalseSecretPassage_03 = 0x14542
    	Global $A1_trDun_Jail_Level01 = 0x171d0
    	Global $A1_trDun_Jail_Level01_Cells = 0x1783D
    	Global $A1_trDun_Leoric01 = 0x4D3E
    	Global $A1_trDun_Leoric02 = 0x4D3F
    	Global $A1_trDun_Leoric03 = 0x4D40
    	Global $A1_trDun_Level01 = 0x4D44
    	Global $A1_trDun_Level04 = 0x4D47
    	Global $A1_trDun_Level05_Templar = 0x15763
    	Global $A1_trDun_Level06 = 0x4D49
    	Global $A1_trDun_Level07B = 0x4D4B
    	Global $A1_trDun_Level07D = 0x4D4D
    	Global $A1_trDun_Tyrael_Level09 = 0x1CAA3
    	Global $A1_trDun_TyraelJail = 0x24447
    	Global $A1_trOut_AdriasCellar = 0xF5F8
    	Global $A1_trOUT_AdriasHut = 0x4DD9
    	Global $A1_trOut_BatesFarmCellar = 0x248A5
    	Global $A1_trOUT_Church = 0x4DDD
    	Global $A1_trOut_Fields_Vendor_Curios = 0x1A3B7
    	Global $A1_trOut_Fields_Vendor_Curios_Exterior = 0x2BE7B
    	Global $A1_trOUT_FishingVillage = 0x4DDF
    	Global $A1_trOUT_FishingVillageHeights = 0x1FB03
    	Global $A1_trOut_ForlornFarm = 0x20B72
    	Global $A1_trOUT_Graveyard = 0x4DE2
    	Global $A1_trOUT_Highlands = 0x4DE4
    	Global $A1_trOUT_Highlands_Bridge = 0x16DC0
    	Global $A1_trOut_Highlands_DunExterior_A = 0x15718
    	Global $A1_trOUT_Highlands_ServantHouse_Cellar_Vendor = 0x29CD1
    	Global $A1_trOUT_Highlands_Sub240_GoatmanGraveyard = 0x1F95F
    	Global $A1_trOUT_Highlands2 = 0x4DE5
    	Global $A1_trOUT_Highlands3 = 0x4AF
    	Global $A1_trOut_Leoric_Manor_Int = 0x189F6
    	Global $A1_trOUT_LeoricsManor = 0x4DE7
    	Global $A1_trOut_MysticWagon = 0x20F08
    	Global $A1_trOUT_NewTristram = 0x4DEB
    	Global $A1_trOUT_NewTristram_AttackArea = 0x316CE
    	Global $A1_trOUT_NewTristramOverlook = 0x26186
    	Global $A1_trOut_Old_Tristram = 0x163FD
    	Global $A1_trOut_Old_Tristram_Road = 0x164BC
    	Global $A1_trOut_Old_Tristram_Road_Cath = 0x18BE7
    	Global $A1_trOut_OldTristram_Cellar = 0x1A22B
    	Global $A1_trOut_OldTristram_Cellar_1 = 0x1A104
    	Global $A1_trOut_OldTristram_Cellar_2 = 0x1A105
    	Global $A1_trOut_OldTristram_Cellar_3 = 0x19322
    	Global $A1_trOut_oldTristram_TreeCave = 0x19C87
    	Global $a1_trOut_Scoundrel_Event_Old_Mill_2 = 0x35556
    	Global $A1_trOut_TownAttack_ChapelCellar = 0x1D43E
    	Global $A1_trOut_Tristram_CainsHouse = 0x1FC73
    	Global $A1_trOut_Tristram_Inn = 0x1AB91
    	Global $A1_trOut_Tristram_LeahsRoom = 0x15349
    	Global $A1_trOut_TristramFields_A = 0x4DF0
    	Global $A1_trOut_TristramFields_B = 0x4DF1
    	Global $A1_trOut_TristramFields_ExitA = 0xF085
    	Global $A1_trOut_TristramFields_Forsaken_Grounds = 0x2BD6F
    	Global $A1_trOut_TristramFields_Secluded_Grove = 0x2BD6E
    	Global $A1_trOut_TristramWilderness = 0x4DF2
    	Global $A1_trOut_TristramWilderness_SubScenes = 0x236AA
    	Global $A1_trOut_Vendor_Tinker_Room = 0x19821
    	Global $A1_trOut_Wilderness_BurialGrounds = 0x11C08
    	Global $A1_trOut_Wilderness_CorpseHouse = 0x30ADF
    	Global $A1_trOut_Wilderness_Sub80_FamilyTree = 0x236A1
    	Global $A2_Belial_Room_01 = 0xED55
    	Global $A2_Belial_Room_Intro = 0x13D1A
    	Global $A2_c1Dun_Swr_Caldeum_01 = 0x4D4F
    	Global $A2_c2dun_Zolt_TreasureHunter = 0x4D53
    	Global $A2_c3Dun_Aqd_Oasis_Level01 = 0xE069
    	Global $A2_cadun_Zolt_Timed01_Level01 = 0x4D52
    	Global $A2_cadun_Zolt_Timed01_Level02 = 0x29108
    	Global $A2_Caldeum = 0x19234
    	Global $A2_Caldeum_Uprising = 0x33613
    	Global $A2_caOut_Alcarnus_RandomCellar_1 = 0x245A7
    	Global $A2_caOut_Alcarnus_RandomCellar_2 = 0x245A8
    	Global $A2_caOut_Alcarnus_RandomCellar_3 = 0x245A9
    	Global $A2_caOUT_Boneyard_01 = 0xD24A
    	Global $A2_caOUT_Borderlands_Khamsin_Mine = 0xEE8A
    	Global $A2_caOUT_BorderlandsKhamsin = 0xF8B2
    	Global $A2_caOut_Cellar_Alcarnus_Main = 0x2FAC4
    	Global $A2_caOut_CT_RefugeeCamp = 0xD811
    	Global $A2_caOut_CT_RefugeeCamp_Gates = 0x318FD
    	Global $A2_caOut_CT_RefugeeCamp_Hub = 0x2917A
    	Global $A2_caOut_Hub_Inn = 0x2AA00
    	Global $A2_caOut_Interior_C_DogBite = 0x2D7BB
    	Global $A2_caOut_Interior_H_RockWorm = 0x232F5
    	Global $A2_caOut_Mine_Abandoned_Cellar = 0x4D81
    	Global $A2_caOut_Oasis = 0xE051
    	Global $A2_caOut_Oasis_Exit = 0x2ACE2
    	Global $A2_caOut_Oasis_Exit_A = 0x2AD07
    	Global $A2_caOut_Oasis_Rakanishu = 0x33BDD
    	Global $A2_caOut_Oasis_RandomCellar_1 = 0x27099
    	Global $A2_caOut_Oasis_RandomCellar_2 = 0x2709A
    	Global $A2_caOut_Oasis_RandomCellar_3 = 0x2709B
    	Global $A2_caOut_Oasis_RandomCellar_4 = 0x27bE7
    	Global $A2_caOut_Oasis1_Water = 0xE664
    	Global $A2_caOut_Oasis2 = 0xE058
    	Global $A2_caOut_OasisCellars = 0x1B100
    	Global $A2_caOUT_StingingWinds = 0x4D7F
    	Global $A2_caOUT_StingingWinds_Alcarnus_Tier1 = 0x4D71
    	Global $A2_caOUT_StingingWinds_Alcarnus_Tier2 = 0x4D72
    	Global $A2_caOUT_StingingWinds_Bridge = 0x29886
    	Global $A2_caOUT_StingingWinds_Canyon = 0x4D7C
    	Global $A2_caOUT_StingingWinds_FallenCamp01 = 0x288EF
    	Global $A2_caOUT_StingingWinds_PostBridge = 0x4D7E
    	Global $A2_caOUT_StingingWinds_PreAlcarnus = 0x4D7B
    	Global $A2_caOUT_StingingWinds_PreBridge = 0x4D7D
    	Global $A2_caOut_Stranded2 = 0x1DA4A
    	Global $A2_caOut_ZakarwaMerchantCellar = 0x1BEBB
    	Global $A2_Cave_Random01 = 0x26F64
    	Global $A2_Cave_Random01_Level02 = 0x35E85
    	Global $A2_CultistCellarEast = 0x19218
    	Global $A2_CultistCellarWest = 0x19214
    	Global $A2_dun_Aqd_Control_A = 0xF9F3
    	Global $A2_dun_Aqd_Control_B = 0xF9F4
    	Global $A2_dun_Aqd_Oasis_RandomFacePuzzle_Large = 0x26B82
    	Global $A2_dun_Aqd_Oasis_RandomFacePuzzle_Small = 0x26AB0
    	Global $A2_dun_Aqd_Special_01 = 0xF520
    	Global $A2_dun_Aqd_Special_A = 0xF53A
    	Global $A2_dun_Aqd_Special_B = 0xF53C
    	Global $A2_Dun_Aqd_Swr_to_Oasis_Level01 = 0x23D96
    	Global $A2_dun_Cave_BloodVial_01 = 0x31F55
    	Global $A2_dun_Cave_BloodVial_02 = 0x31F83
    	Global $A2_dun_Oasis_Cave_MapDungeon = 0x29616
    	Global $A2_dun_Oasis_Cave_MapDungeon_Level02 = 0x2F6bF
    	Global $A2_dun_PortalRoulette_A = 0x1B37F
    	Global $A2_Dun_Swr_Adria_Level01 = 0xE47E
    	Global $A2_Dun_Swr_Caldeum_Sewers_01 = 0x1B205
    	Global $A2_dun_Zolt_Blood02_Level01_Part1 = 0x1E12E
    	Global $A2_dun_Zolt_Blood02_Level01_Part2 = 0x25872
    	Global $A2_Dun_Zolt_BossFight_Level04 = 0xEB22
    	Global $A2_dun_Zolt_Head_Random01 = 0xF0C0
    	Global $A2_Dun_Zolt_Level01 = 0x4D55
    	Global $A2_Dun_Zolt_Level02 = 0x4D56
    	Global $A2_Dun_Zolt_Level03 = 0x4D57
    	Global $A2_Dun_Zolt_Lobby = 0x4D58
    	Global $A2_Dun_Zolt_LobbyCenter = 0x2AFBA
    	Global $A2_Dun_Zolt_Random_Level01 = 0x4D59
    	Global $A2_Dun_Zolt_Random_Level02 = 0x36571
    	Global $A2_dun_Zolt_Random_PortalRoulette_02 = 0x2FDCF
    	Global $A2_Dun_Zolt_ShadowRealm_Level01 = 0x13AD0
    	Global $A2_Event_DyingManMine = 0x2270B
    	Global $A2_Event_PriceOfMercy_Cellar = 0x2FD9E
    	Global $A2_Rockworm_Cellar_Cave = 0x2FE81
    	Global $A2_trDun_Boneyard_Spider_Cave_01 = 0x1B437
    	Global $A2_trDun_Boneyard_Spider_Cave_02 = 0x35758
    	Global $A2_trDun_Boneyard_Worm_Cave_01 = 0x1B433
    	Global $A2_trDun_Boneyard_Worm_Cave_02 = 0x35759
    	Global $A2_trDun_Cave_Oasis_Random01 = 0xF46F
    	Global $A2_trDun_Cave_Oasis_Random01_Level02 = 0x2F6C2
    	Global $A2_trDun_Cave_Oasis_Random02 = 0xF46E
    	Global $A2_trDun_Cave_Oasis_Random02_Level02 = 0x27551
    	Global $a2dun_Aqd_Oasis_Level00 = 0x2F0B6
    	Global $a2dun_Aqd_Oasis_Level01 = 0x2F0B1
    	Global $A3_AzmodanFight = 0x1B39C
    	Global $A3_Battlefield_A = 0x1B7A4
    	Global $A3_Battlefield_B = 0x1B7B5
    	Global $A3_Battlefield_C = 0x1B7C4
    	Global $A3_Bridge_01 = 0x10F80
    	Global $A3_Bridge_Choke_A = 0x25DA8
    	Global $A3_Dun_Battlefield_Gate = 0x25C14
    	Global $A3_dun_Bridge_Interior_Random01 = 0x224ad
    	Global $A3_dun_Bridge_Interior_Random02 = 0x32270
    	Global $A3_Dun_Crater_Level_01 = 0x15040
    	Global $A3_Dun_Crater_Level_02 = 0x1d209
    	Global $A3_Dun_Crater_Level_03 = 0x1d20a
    	Global $A3_dun_Crater_ST_Level01 = 0x13b97
    	Global $A3_dun_Crater_ST_Level01B = 0x1d365
    	Global $A3_dun_Crater_ST_Level02 = 0x13b98
    	Global $A3_dun_Crater_ST_Level02B = 0x2200a
    	Global $A3_dun_Crater_ST_Level04 = 0x14cd2
    	Global $A3_dun_Crater_ST_Level04B = 0x1d368
    	Global $A3_dun_IceCaves_Random_01 = 0x2e3a1
    	Global $A3_dun_IceCaves_Random_01_Level_02 = 0x36206
    	Global $A3_dun_IceCaves_Timed_01 = 0x2ea66
    	Global $A3_dun_IceCaves_Timed_01_Level_02 = 0x36207
    	Global $A3_Dun_Keep_Hub = 0x16b11
    	Global $A3_Dun_Keep_Hub_Inn = 0x2d38c
    	Global $A3_Dun_Keep_Level03 = 0x126ac
    	Global $A3_Dun_Keep_Level04 = 0x16baf
    	Global $A3_Dun_Keep_Level05 = 0x21500
    	Global $A3_Dun_Keep_Random_01 = 0x2aa4a
    	Global $A3_Dun_Keep_Random_01_Level_02 = 0x36238
    	Global $A3_Dun_Keep_Random_02 = 0x2c7f2
    	Global $A3_Dun_Keep_Random_02_Level_02 = 0x36239
    	Global $A3_Dun_Keep_Random_03 = 0x2c802
    	Global $A3_Dun_Keep_Random_03_Level_02 = 0x3623a
    	Global $A3_Dun_Keep_Random_04 = 0x2c8e6
    	Global $A3_Dun_Keep_Random_04_Level_02 = 0x36241
    	Global $A3_Dun_Keep_Random_Cellar_01 = 0x35ee9
    	Global $A3_Dun_Keep_Random_Cellar_02 = 0x35ee8
    	Global $A3_Dun_Keep_Random_Cellar_03 = 0x303f7
    	Global $A3_Dun_Keep_TheBreach_Level04 = 0x3558f
    	Global $A3_dun_rmpt_Level01 = 0x16b20
    	Global $A3_dun_rmpt_Level02 = 0x16bf5
    	Global $A3_Gluttony_Boss = 0x1b280
    	Global $a3dun_Hub_Adria_Tower = 0x31222
    	Global $a3dun_hub_AdriaTower_Intro_01 = 0x3253e
    	Global $A4_dun_Diablo_Arena = 0x1abfb
    	Global $A4_dun_Diablo_Arena_Phase3 = 0x348c3
    	Global $A4_dun_Garden_of_Hope_01 = 0x1abca
    	Global $A4_dun_Garden_of_Hope_02 = 0x1abcc
    	Global $A4_dun_Garden3_SpireEntrance = 0x1d44a
    	Global $A4_dun_Heaven_1000_Monsters_Fight = 0x1aa5d
    	Global $A4_dun_Heaven_1000_Monsters_Fight_Entrance = 0x2f169
    	Global $A4_dun_Hell_Portal_01 = 0x1abd6
    	Global $A4_dun_Hell_Portal_02 = 0x1abdb
    	Global $A4_Dun_Keep_Hub = 0x301ed
    	Global $A4_dun_LibraryOfFate = 0x23120
    	Global $A4_dun_Spire_00 = 0x307a4
    	Global $A4_dun_Spire_01 = 0x1abe2
    	Global $A4_dun_Spire_02 = 0x1abe4
    	Global $A4_dun_Spire_03 = 0x1abe6
    	Global $A4_dun_Spire_04 = 0x33728
    	Global $A4_dun_Spire_SigilRoom_A = 0x313c4
    	Global $A4_dun_Spire_SigilRoom_B = 0x2ae7a
    	Global $A4_dun_Spire_SigilRoom_C = 0x313c6
    	Global $A4_dun_Spire_SigilRoom_D = 0x313c7
    	Global $a4dun_Diablo_ShadowRealm_01 = 0x25845
    	Global $a4dun_spire_DiabloEntrance = 0x3227a
    	Global $a4dun_spire_exterior = 0x34964
    	Global $Axe_Bad_Data = 0x4d60
    	Global $PvP_Maze_01 = 0x4da2
    	Global $PvP_Octogon_01 = 0x4da3
    	Global $PvP_Pillar_01 = 0x4da4
    	Global $PvP_Stairs_01 = 0x4da5
    	Global $PvP_Test_BlueTeam = 0x4da6
    	Global $PvP_Test_Neutral = 0x4da7
    	Global $PvP_Test_RedTeam = 0x4da8
    	Global $PvPArena = 0x4d9c
    EndFunc
    For example
    Code:
    IsInArea($A1_trOUT_NewTristram)
    will return true if in town in act1, otherwise false

  9. #264
    Evozer's Avatar Contributor
    Reputation
    150
    Join Date
    Jan 2011
    Posts
    214
    Thanks G/R
    1/15
    Trade Feedback
    9 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I found the address in Cheat engine and then looked at the function writing to it in IDA.

  10. #265
    MadDogRUS's Avatar Private
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    how to fix this

    Code:
    while 1
    $coordX = _MemoryRead($ClickToMoveCurX, $d3, 'float')  ;GetCurrentPos() 
    sleep(100)
    
    ???
    WEnd
    in ??? need add

    if $coordX 20 times give me One same value when EXIT

    i use PowerUseGUID and periodically my character Freeze. therefore need verification
    Last edited by MadDogRUS; 08-11-2012 at 01:49 PM.

  11. #266
    Evozer's Avatar Contributor
    Reputation
    150
    Join Date
    Jan 2011
    Posts
    214
    Thanks G/R
    1/15
    Trade Feedback
    9 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by MadDogRUS View Post
    how to fix this

    Code:
    while 1
    $coordX = _MemoryRead($ClickToMoveCurX, $d3, 'float')  ;GetCurrentPos() 
    sleep(100)
    
    ???
    WEnd
    in ??? need add

    if $coordX 20 times give me One same value when EXIT

    i use PowerUseGUID and periodically my character Freeze. therefore need verification
    You shouldn't have any problems with this to be honest... but anyway

    I would make two variables
    float freezeX
    int freezeCount

    if freezeX is equal to coordX
    freezeCount++
    if freezeCount > 20
    you are stuck

    else
    freezeX = coordX
    freezeCount = 0

  12. #267
    MadDogRUS's Avatar Private
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    $freezeCount = 0
    Global $freezeX
    
    func proverkafriza($zaderzhka)
    $coordX = _MemoryRead($ClickToMoveCurX, $d3, 'float')
     if $freezeX = $coordX Then
     $freezeCount += 1
     else
     $freezeCount = 0
    EndIf
     if $freezeCount >= $zaderzhka Then
     $freezeCount = 0
    _MemoryWrite($ClickToMoveToggle , $d3,0, 'float')
    ControlClick ("[CLASS:D3 Main Window Class]", "", "", "left", 1)
    Else
    $freezeX = $coordX
    EndIf
    
    EndFunc
    use this i can normal use PowerUseGUID
    Last edited by MadDogRUS; 08-11-2012 at 10:25 PM.

  13. #268
    MadDogRUS's Avatar Private
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    how to fix Func Grabit() to make it work fast
    Pastebin.com
    Last edited by MadDogRUS; 08-13-2012 at 10:22 AM.

  14. #269
    adrn's Avatar Private
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    4
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi Guys,

    I am trying the script posted from the first post. http://pastebin.com/LsfsfPrv

    I kept getting hit by this error:
    Code:
    Line 608
    global $StringListDB =
    IndexStringList($Object_File_StringList[$index][0])
    global $StringListDB = IndexStringList($Object_File_StringList[^ ERROR
    Error: array variable subscript badly formatted.
    I have tried to change the global $ofs_ObjectManager to 0x15A0BEC or 0x015A1BEC. I've tried to install the 32bit and 64 bit version of AutoIt. I've also added these in the NomadMemory.au3 as suggested earlier in this thread.

    PHP Code:
    If ($sv_Type="ptr") and (@OSArch "X64"Then
        
    Return BitAnd($v_Value,0xFFFFFFFF)
    Else
        Return 
    $v_Value
    EndIf 
    None of these method have worked for me. Please help..

    Thanks

  15. #270
    MadDogRUS's Avatar Private
    Reputation
    1
    Join Date
    Jul 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    adrn use this NomadMemory.au3

    NomadMemory - Pastebin.com

    i run this on Win 7 x64

    and in you script use this


    Code:
    Global $ProcessID = WinGetProcess("Diablo III","")
    Local $d3 = _MemoryOpen($ProcessID)
    Last edited by MadDogRUS; 08-14-2012 at 04:13 PM.

Similar Threads

  1. Interact problems with Click to move
    By natt_ in forum WoW Memory Editing
    Replies: 3
    Last Post: 09-28-2014, 02:12 PM
  2. [AutoIt] Diablo 3 Click To Move, Interaction, Actor Indexing.
    By UnknOwned in forum Diablo 3 Memory Editing
    Replies: 84
    Last Post: 06-30-2012, 11:59 AM
  3. [Diablo 3] Click to move?
    By diablothree in forum Diablo 3 Memory Editing
    Replies: 3
    Last Post: 01-14-2012, 04:29 AM
  4. Click to move?
    By ashleyww in forum WoW Memory Editing
    Replies: 32
    Last Post: 07-18-2009, 08:48 PM
  5. Click to Move Problem
    By Rival-Fr in forum WoW Memory Editing
    Replies: 5
    Last Post: 07-03-2009, 09:27 AM
All times are GMT -5. The time now is 04:16 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