stealth, I actually just noticed that it did a random pause after deleting those two lines. should I delete the function as well?
stealth, I actually just noticed that it did a random pause after deleting those two lines. should I delete the function as well?
Guys, for some reason when my movement speed is set to 12 (which it is, excluding the increaased movement speed skill) the script doesn't work properly however when I change my MovementSpeed to 0, it seems to work fine. Also after I kill Sarkoth, my script runs to the middle where he was and just stands there for a few seconds before it begins picking anything up. I have tried to trim time off all the sleep functions but none seem to have any effect on me just standing there. Any pointers into where this behavior could be from?
how about with 1360x768 bro
try this code let me know if it gives an error or anything i cant test it since i am using my phone
_TesseractScreenCapture(0, "", 1, 2, Round(1454* $x_ratio),Round(508*$y_ratio),round(1920*$x_ratio)-round(1571*$x_ratio),round(1080*$y_ratio)-round(525*$y_ratio), 0)
AyTony it looks right i would search your pc to make sure its not reading another dh.ini some people reported there was a 2nd ini file it was reading from sometimes
how about with 1360x768 bro
Sorry for the delay below is the tesseract edit to the script to calculate gold per hour.
Files required:
- Tesseract program file
Downloads - tesseract-ocr - An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. - Google Project Hosting
- SimpleTesseractColor.au3
[AutoIt] SimpleTesseractColor.au3 - Pastebin.com
Download this to your autoit include folder and edit the following to point to your actual tesseract install location
DH script editsCode:ShellExecuteWait("C:\Program Files (x86)\Tesseract-OCR\tesseract.exe", $capture_filename & " " & $ocr_filename, "", "", @SW_HIDE)
Replace your include statements
Find and replace your SetupGUI function with this one to display the gold per hourCode:#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <SimpleTesseractColor.au3> #include <ScreenCapture.au3> Opt('MouseCoordMode', 2) Opt('PixelCoordMode', 2) Global $size = WinGetClientSize("[CLASS:D3 Main Window Class]"), $ver = "1.9.3", $ini = "DH.ini", $hFont = 0, $title, $Paused, $Go = False, $i = 0, $gX = 0, $gY = 0, $LegendaryCount = 0, $SetCount = 0, $RareCount = 0, $MagicCount = 0, $GemCount = 0, $TomeCount = 0, $deathCount = 0, $cellarCount = 0, $t = TimerInit(), $rt = 0, $run = 0, $yellow = 0xFFF000, $red = 0xD90000, $lblRun, $lblLocation, $lblStatus, $lblLast, $lblRuntime, $lblGear, $lblItems, $lblGold, $lblFailed, $StartingGold = 0,$AccumulatedGold = 0,$GPH = 0
Add the gold calculation function to bottom of your script.Code:Func SetupGUI() $frmBot = GUICreate($title & $ver & " - Updating", 280, 128, Round(1540 * $x_ratio), Round(920 * $y_ratio), -1, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW), 0) GUISetBkColor(0xC0C0C0) $lblRun = GUICtrlCreateLabel("Run Number: 0 - Runs till vendor: 0", 4, 0, 280, 24) GUICtrlSetFont(-1, 10, 600, 0, "Segoe UI") GUICtrlSetColor(-1, 0xFF0000) $lblLocation = GUICtrlCreateLabel("Location: Main Menu", 12, 20, 240, 17) $lblStatus = GUICtrlCreateLabel("Status: ", 12, 35, 240, 17) $lblLast = GUICtrlCreateLabel("Last Runtime: 0 seconds", 12, 50, 240, 17) $lblRuntime = GUICtrlCreateLabel("Total Runtime: 0 hours, 0 minutes", 12, 65, 240, 17) $lblGear = GUICtrlCreateLabel("Legendary: 0 - Set: 0 - Rare: 0", 12, 80, 240, 17) $lblItems = GUICtrlCreateLabel("Magic: 0 - Gems: 0 - Tomes: 0", 12, 95, 240, 17) $lblGold = GUICtrlCreateLabel("0 Per Hour - Accumulated Gold: 0", 12, 110, 240, 17) GUISetState(@SW_SHOW) EndFunc ;==>SetupGUI
Edit your TownPortal function to call the GoldPerHour functionCode:Func GoldPerHour() Send("i") Sleep(200) $CurrentGold = _TesseractScreenCapture(0, "", 1, 2, 1450*$x_ratio, 504*$y_ratio, 1570*$x_ratio, 530*$y_ratio, 0) Sleep(200) Send("i") $CurrentGold = StringRegExpReplace($CurrentGold, "[^0-9]", "") $trt = TimerDiff($t) If $StartingGold <= 0 Then $StartingGold = $CurrentGold If $StartingGold > 0 Then $AccumulatedGold = $CurrentGold - $StartingGold $GPH = $AccumulatedGold / ($trt / 1000) * 3600 If $GPH >= 0 and $AccumulatedGold >=0 then If $GPH > 1000000 Then $GPH = Round($GPH/1000000,2) & "M" ElseIf $GPH > 1000 Then $GPH = Round($GPH/1000) & "K" EndIF If $AccumulatedGold > 1000000 Then $AccumulatedGold = Round($AccumulatedGold/1000000,2) & "M" ElseIf $AccumulatedGold > 1000 Then $AccumulatedGold = Round($AccumulatedGold/1000) & "K" EndIF GUICtrlSetData($lblGold,$GPH & " Per Hour - Accumulated Gold: " & $AccumulatedGold) EndIf EndFunc ;==>GoldPerHour
Code:Func TownPortal() GUICtrlSetData($lblStatus, "Status: Returning to Town") Send("{INS}") Call("GoldPerHour") Sleep(Random($tptime, $tptime + 500)) EndFunc ;==>TownPortal
Last edited by kitsura; 07-04-2012 at 12:51 AM.
My bot doesnt seem to vendor any items, I believe I have the right set up anyone mind highlighting where in the script/ini I can double check this.
If I do have the right set up what is then the problem?
I have question about the script. I changed line 96 $attackTime = 1000 ;Time (in ms) the script will shoot sarkoth with the right button, attack time to 1000 because I wanted to use cluster arrow.
Also changed line 97 to False. $attackMulti = "False" ;True if you want to shoot both left and right in addition to the middle (False for Lightning Ball) so I can just attack middle.
Isn't this how I should do it? It is still firing middle left top and takes around 3900ms to kill sarkoth.
is it safe to be running this at this time? i see a bunch of people getting banned not sure if its because of auto it or some other thing
IF its a supported resolution the code i posted should work I don't have a pc atm as I am on vacation so i cant really just figure out cords for people.
there are a couple of hardcoded sleeps that are random but they are during looting and stashing and below 1.5seconds. However if you removed those 2 lines I posted earlier then yes you should be able to delete the function but its never being called so it shouldnt be getting ran.
As always bot at your own risk if you are afraid of losing something then don't bot.
you change it in the dh.ini file not the script itself. ini files overwrites anything that is hardcoded into the script.
DH.ini file part in red. If you dont want to "accidently" sell legendaries/sets/rares i suggest setting identify to false since you cant sell an unidentified item.
[Auto Start]
Auto Start=True
Game Location=D:\D3\Diablo III\
Game Start Time=12000
Updater Start Time=15000
Password=
Task Manager Executable Name=Diablo III.exe
[Custom Loot]
PNG Location=@ScriptDir
Total Items=1
[Skills]
Caltrops=4
SmokeScreen=1
Preparation=2
Companion=3
[Additional]
Movement Speed=0
Walk Time=2800
Load Time=3400
Teleport Time=6900
[Looting]
Sets=True
Legendaries=True
Rares=True
Magic=True
Gems=True
Tomes=True
Custom=False
[ManageLoot]
Every=8
Identify=False
[Stashing]
Loot=True
Legendaries=True
Rares=True
Magic=False
Tomes=True
Gems=True
[Vendoring]
Loot=True ;means it will visit the vendor or not
Rares=False ;to vendor rares or not
Magic=False ;to vendor magic items or not
All=False ;vendors EVERYTHING in bag I like to leave it on false
All-Rows=6
All-Cols=10
[Variability]
Timer=True
Manage Off By=2
Attack Time=2700
Attack Multiple=True
for your speed issue make sure you have the passive tactical advantage. The only sleep that would affect right before looting would be in the loot fuction. Alternatively it could be scanning for loot and you think its just standing there I have seen it cause some people a 1-2 second sleep like time while it scans the screen.
Code:func Loot() Sleep(Random(500, 1200)) MouseMove(Round(Random(0, 400) * $x_ratio), Round(Random(700, 1080) * $y_ratio), 3) ;Moves mouse out of the way If $LootSets == True Then $SetCount += LootGear(0x02CE01) EndIf If $LootLegendaries == True Then $LegendaryCount += LootGear(0xBF642F, 0) EndIf If $LootRares == True Then $RareCount += LootGear(0xBBBB00) EndIf If $LootGems == True Then Call("LootGems") EndIf If $LootTomes == True Then Call("LootTomes") EndIf If $LootCustom == True Then Call("LootCustom") EndIf If $LootMagic == True Then $MagicCount += LootGear(0x6969FF) EndIf Call("ShowLoot") EndFunc ;==>Loot
Last edited by stealthingyew; 07-04-2012 at 07:49 AM.
thanks stealth.
even after the script being optimized and times being cut, it seems that I am only pulling 225k/hr overnight with 284% gf! what other changes should I be making here?
[QUOTE=kitsura;2361218]Sorry for the delay below is the tesseract edit to the script to calculate gold per hour.
Code:Func GoldPerHour() Send("i") Sleep(200) $CurrentGold = _TesseractScreenCapture(0, "", 1, 2, 1450*$x_ratio, 504*$y_ratio, 1570*$x_ratio, 530*$y_ratio, 0) Sleep(200) Send("i") $CurrentGold = StringRegExpReplace($CurrentGold, "[^0-9]", "") $trt = TimerDiff($t) If $StartingGold <= 0 Then $StartingGold = $CurrentGold If $StartingGold > 0 Then $AccumulatedGold = $CurrentGold - $StartingGold $GPH = $AccumulatedGold / ($trt / 1000) * 3600 If $GPH >= 0 and $AccumulatedGold >=0 then If $GPH > 1000000 Then $GPH = Round($GPH/1000000,2) & "M" ElseIf $GPH > 1000 Then $GPH = Round($GPH/1000) & "K" EndIF If $AccumulatedGold > 1000000 Then $AccumulatedGold = Round($AccumulatedGold/1000000,2) & "M" ElseIf $AccumulatedGold > 1000 Then $AccumulatedGold = Round($AccumulatedGold/1000) & "K" EndIF GUICtrlSetData($lblGold,$GPH & " Per Hour - Accumulated Gold: " & $AccumulatedGold) EndIf EndFunc ;==>GoldPerHour
Will this work with any resolution ??
I was orginally looting and stuff but turned it off besides legendaries/sets and that was my biggest jump in gph and then increasing the manageloot runs to like 150. However i revereted back to atleast collecting rares since i got a 1250 dps xbow with a socket that was rare.
2012-07-04 08:09:44 :
************************************************
Dank Celler
Stats:
Total Runtime: 11 hours, 22 minutes
Total Cellars Found: 545 (49%)
Total Cellars Not Found: 570 (51%)
Total Deaths: 8 (1%)
Total Repairs: 0 (0%)
Loot:
Magic: 0 - Gems: 0 - Tomes: 0
Legendary: 2 - Set: 0 - Rare: 0
Starting Gold: 37373839 Gold Per Hour: 249573 Gold Earned: 2832305
Total Gold: 40206144
************************************************
I checked my exact stats and they are 7 pickup radius 226gf 128mf only gold/legendary 0 movement speed when im back in town ill get mymovement speed to 25% i think that will probably help a lot as well. There was 1 legendary in my bag couldnt check my stash its hard to do when you are remotely connected to your pc with a phone lol When I am available to actually emtpy my stash i do collect rares.
Here is a log from when i looted all and had it salvaging blues
2012-06-30 08:21:19 :
************************************************
Dank Celler
Stats:
Total Runtime: 8 hours, 10 minutes
Total Cellars Found: 340 (48%)
Total Cellars Not Found: 364 (52%)
Total Deaths: 8 (1%)
Total Repairs: 0 (0%)
Loot:
Magic: 622 - Gems: 349 - Tomes: 31
Legendary: 0 - Set: 0 - Rare: 29
Starting Gold: 26709647 Gold Per Hour: 219137 Gold Earned: 1784867
Total Gold: 28494514
and here is a log from just looting rares
2012-06-30 21:52:40 :
************************************************
Dank Celler
Stats:
Total Runtime: 7 hours, 18 minutes
Total Cellars Found: 338 (48%)
Total Cellars Not Found: 372 (52%)
Total Deaths: 8 (1%)
Total Repairs: 0 (0%)
Loot:
Magic: 0 - Gems: 0 - Tomes: 0
Legendary: 0 - Set: 0 - Rare: 23
Starting Gold: 29040345 Gold Per Hour: 242362 Gold Earned: 1765272
Total Gold: 30805617
as you can see there is not much of a change in the gold per hour.