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

User Tag List

Page 17 of 21 FirstFirst ... 131415161718192021 LastLast
Results 241 to 255 of 302
  1. #241
    bozow888's Avatar Member
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,
    I am new to programming using autoit script. Is there a more detail step by step guide on how we could get the first script using nomadmemory.au3 to run.

    I did the following and still not working.
    - Install Autoit
    - Downloaded Script - v2.1 [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling - Pastebin.com
    Link : [AutoIt] [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling - Pastebin.com

    - Downloaded NomadMemory.au3)
    Link : [AutoIt] NomadMemory.au3 - Pastebin.com

    - Placed NomadMemory.au3 in "C:\Program Files (x86)\AutoIt3\Include"
    - Placed NomadMemory.au3 in same directory as scipt
    - Compiled and run Script.

    - Get Error and no respond.

    Hope some expert here can help me get a simple code working. Thanks in advance.

    [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling. (Version 2)
  2. #242
    tempo22's Avatar Sergeant Authenticator enabled
    Reputation
    7
    Join Date
    Jul 2012
    Posts
    53
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @bozow888 it would help to have the error.



    Anyone know, using this toolkit, how to find if an item is unid.

  3. #243
    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)
    Trying to get SNO ID, added this row
    Code:
    $__ACTOR[$i][4] = _MemoryRead($CurrentOffset+0xB4, $d3, 'int')
    to IterateLocalActor() function but it doesnt give me correct sno ids

  4. #244
    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)
    i´m not familiar with the autoit source. but if you are working on Acds:
    0x90 snoId
    0xB4 gameBalanceId

    if you are working on RActors:
    0x88 snoId

  5. #245
    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)
    Yeah ofc its the gameBalanceId i want. But

    $__ACTOR[$i][4] = _MemoryRead($CurrentOffset+0xB4, $d3, 'int')

    doesnt give me a correct number :/

  6. #246
    bozow888's Avatar Member
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bozow888 View Post
    Hi,
    I am new to programming using autoit script. Is there a more detail step by step guide on how we could get the first script using nomadmemory.au3 to run.

    I did the following and still not working.
    - Install Autoit
    - Downloaded Script - v2.1 [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling - Pastebin.com
    Link : [AutoIt] [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling - Pastebin.com

    - Downloaded NomadMemory.au3)
    Link : [AutoIt] NomadMemory.au3 - Pastebin.com

    - Placed NomadMemory.au3 in "C:\Program Files (x86)\AutoIt3\Include"
    - Placed NomadMemory.au3 in same directory as scipt
    - Compiled and run Script as Administrator

    - Get Error and no respond.

    Hope some expert here can help me get a simple code working. Thanks in advance.

    --- Start Error Messsage ---

    Line 3230 (File "C:\Script\ClickMove\ClickMove.exe"):

    Error : Unknown Function Name.

    --- End Error Messsage ---

    Can some one share the latest set of entire working code for the script. It could serve a good platform to start modfiying and coding. Thanks.

  7. #247
    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)
    Added some code for more info about items in backpack/stash

    Code:
    ;;--------------------------------------------------------------------------------
    ;;	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)+8] ;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] ;lvl
    				$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 %
    				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 ;==>MapItemWithLvl
    
    ;;--------------------------------------------------------------------------------
    ;;	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)             ;   $gameBalance=0x015A6008
    	$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
    Its pretty slow (1~2s for me) but you shouldnt need to use it that often

    Anyone know how to determine if an item is identified or not?
    Last edited by joxxe87; 08-10-2012 at 05:32 AM.

  8. #248
    AGPS's Avatar Member
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    53
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Very nice, joxxe87!

  9. #249
    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)
    $newItems[$i][$indexForBGID+1] = $snowithlvl[$j][1] ;lvl

    lvl req or ilvl ?

  10. #250
    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)
    The code is pretty messy and not well documented, sry for that. Yeah its item iLvl. Some other stats (vitality) seems to bug sometimes.

  11. #251
    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)
    ty joxxe87 good work.

  12. #252
    bozow888's Avatar Member
    Reputation
    1
    Join Date
    Aug 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bozow888 View Post
    --- Start Error Messsage ---

    Line 3230 (File "C:\Script\ClickMove\ClickMove.exe"):

    Error : Unknown Function Name.

    --- End Error Messsage ---

    Can some one share the latest set of entire working code for the script. It could serve a good platform to start modfiying and coding. Thanks.
    Can anyone share a simple Working code here? Just need to walk around pickup rare time and talk to nearest black smith. I dun understand why the error is @ line 3230 where i only have 1573 lines in the scripts. Thanks

  13. #253
    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 bozow888 View Post
    Can anyone share a simple Working code here? Just need to walk around pickup rare time and talk to nearest black smith. I dun understand why the error is @ line 3230 where i only have 1573 lines in the scripts. Thanks
    Run the script instead of your compiled exe. Post your error message here...

    Anyone have any clue on how to check if an item is unidentified or not?

    These are two images from two different items that are unid and then being identified.


    The data to the left is before, data to the right is after. The offset for the two different items seems to be the same, and almost the same data changes when being identified.

    The 14th row is allways 0 when unid (in this test), so:

    image1 : 0x37e8483c - 0x37e84704 = 0x138
    image2 : 0x37e83cfc - 0x37e83bc4 = 0x138

    if the value at name+0x138 is zero, it might be unid (atleast in this test)
    Attached Thumbnails Attached Thumbnails [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling. (Version 2)-ss1-jpg   [AutoIt] Diablo 3 Click To Move, Interaction, Actor Handling. (Version 2)-ss2-jpg  
    Last edited by joxxe87; 08-10-2012 at 11:30 AM.

  14. #254
    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)

    upload pictures

    Think i got it As you can see, if they are unid they have 0 in the last column (not working for pots/reciepes etc, but they are of item quality 1)
    Code:
    $newItems[$i][$indexForBGID + 19] = NOT(_MemoryRead($newItems[$i][7]+0x148+0x4, $d3, 'int') = 0 AND $newItems[$i][$indexForBGID + 10] > 1)  ;offset +0x148+0x4 ... 0 on weapon/armor/ring/amu = unid
    Will give you true if they are identified, otherwise false. Dunno how correct this method is, but seems to work for me while testing with some items.

  15. #255
    tempo22's Avatar Sergeant Authenticator enabled
    Reputation
    7
    Join Date
    Jul 2012
    Posts
    53
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Really great, i will test that out on my script

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 10:03 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