UPDATED!!!! V1.2.5 Beta 24th June
Added a new script i havn't tested much, No more random click, will just rejoin game if adria is not found, If your next to leah it will try click on adria. Cleared up code to make it easier and more usable.
This is for 2 computers, for people who wish to help powerlevel other people!
Before you start:
1. Must run AutoHotKey as admin!
2. Diablo must be in WINDOWED (FULLSCREEN)
3. Check numlock :P
U CAN MOVE THE MESSAGE BOXES, only hit enter when ur mouse is in position and leave it there as there is a delay
This first script is the host script and should be run first as follows:
Start the Host Script on the Resume Game Screen, once you hit enter where resume game is, the script will click it for you and send u in game, now the leecher has to join, once the leecher has joined, mouse over the RED health bar at the TOP LEFT (Leechers works best) and then follow the prompts until the script is done, it will proceed to leave the game and create a new one and wait for the leecher.
Since the leecher has already joined the game and the host has left, start the leecher script on the other computer. Select the white glare on the health globe down the bottom, it will always be white. move the message box if needed to select players bottom. next hover over the BOTTOM of adrias dress still hovering over the PURPLE color (reason being is resolution settings) and just keep following the settings
HOST CODE:
This is the leecher code, start it when you are ingame, at spawn spot when you first join game best to have the host code already runningCode:WaitPixelColor(p_DesiredColor,p_PosX,p_PosY,p_TimeOut=0,p_GetMode="",p_ReturnColor=0) { l_Start := A_TickCount Loop { PixelGetColor, l_RetrievedColor, %p_PosX%, %p_PosY%, %p_GetMode% If ErrorLevel { If !p_ReturnColor Return 1 Break } If ( l_RetrievedColor = p_DesiredColor ) { If !p_ReturnColor Return 0 Break } If ( p_TimeOut ) && ( A_TickCount - l_Start >= p_TimeOut ) { If !p_ReturnColor Return 2 Break } } Return l_RetrievedColor } Numpad3:: ;Start this in-game and it will quit once and resume game then wait for the new player MsgBox, make sure you are in windowed fullscreen! Hover your cursor over Resume Game and hit enter (dont click ok yet! hover your mouse over and use the enter on your keyboard to hit ok, this applies to all future boxes!!) IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, RGx, RGy } MouseClick, Left, %RGx%, %RGy% sleep, 500 MsgBox, Please get the leecher to join the game, then hover your mouse over their red health bar, the hit Enter. (their red bar top left) IfMsgBox Ok { WinActivate Diablo III Sleep, 200 MouseGetPos, HBx, HBy Sleep, 200 PixelGetColor, color, %HBx%, %HBy% } Sleep, 500 Send, {ESC} MsgBox, Hover your cursor over Leave Game IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, LGx, LGy } Sleep, 500 MouseClick, Left, %LGx%, %LGy% Sleep, 500 MsgBox Hover your cursor over OK and hit enter IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Cx, Cy } Sleep, 500 Send, {ESC} Sleep, 500 Send, {ESC} Sleep, 500 Loop { ;Start this in-game and it will quit once and resume game then wait for the new player Sleep, 100 Send, {ESC} ;Open up options menu Sleep, 500 MouseClick, left, %LGx%, %LGy% ;Click on Leave Game Sleep, 500 MouseClick, left, %Cx%, %Cy% ;Confirm leave party Sleep, 5000 ;Wait for leave game and main menu, also a little time before client registers as left party, increase if too little MouseClick, left, %RGx%, %RGy% ;Resume game Sleep, 100 WaitPixelColor(color, HBx, HBy) } return Numpad2:: pause return
BETA LEECHER!! I have not had a good chance to test this one. Would you guys prefer to set your own search box for adria??Code:;UPDATED!!!! V1.2.4 by DeadlyDragon Xmult = 3 ;Lower this for Lower resolution, 3 is default for 1920 x 1080 Ymult = 3 ;Loser this for Lower resolution, 3 is default for 1920 x 1080 WaitPixelColor(p_DesiredColor,p_PosX,p_PosY,p_TimeOut=0,p_GetMode="",p_ReturnColor=0) { l_Start := A_TickCount Loop { PixelGetColor, l_RetrievedColor, %p_PosX%, %p_PosY%, %p_GetMode% If ErrorLevel { If !p_ReturnColor Return 1 Break } If ( l_RetrievedColor = p_DesiredColor ) { If !p_ReturnColor Return 0 Break } If ( p_TimeOut ) && ( A_TickCount - l_Start >= p_TimeOut ) { If !p_ReturnColor Return 2 Break } } Return l_RetrievedColor } Numpad3:: MsgBox Please hover your mouse over white glare on health globe (Pure white) and press enter IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Gx, Gy Sleep, 200 PixelGetColor, globe, %Gx%, %Gy% } MsgBox Please hover your mouse over your characters bum and press enter IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, CBx, CBy } MsgBox Please hover you mouse over unique colour on adira (purple?) and press enter, get the bottom of the dress. IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Ax, Ay Sleep, 200 PixelGetColor, color, %Ax%, %Ay% } Sleep, 500 MouseClick, left , Ax, Ay Sleep, 3000 MsgBox Please hover you mouse over the black corner of quest text (top left above char avatar) and hit ok IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Chatx, Chaty } Sleep, 500 Send, o MsgBox Please hover you mouse over your host friend and hit ok IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Hostx, Hosty } Sleep, 200 MouseClick, right, Hostx, Hosty ; Right click on top friend MsgBox Please hover you mouse over Join Game/Request Invite (Request invite turns into Join Game) IfMsgBox Ok { WinActivate Diablo III Sleep, 200 MouseGetPos, JGx, JGy } Sleep, 200 MouseClick, left , JGx, JGy Sleep 1500 Ax2 = %Ax% Ay2 = %Ay% Ax -= (Xmult*40) Ax2 += (Xmult*40) Ay2 += (Ymult*30) CBx2 = %CBx% CBy2 = %CBy% CBx -= (Xmult*18) CBx2 -= (Xmult*55) CBy2 -= (Ymult*35) Sleep, 5000 Loop { Sleep, 200 if WaitPixelColor(globe, Gx, Gy) = 0 ;White blip on health globe { Sleep, 1000 Pixelsearch, Px, Py, Ax, 8, Ax2, Ay2, color, 3, fast ;Searches for adria, change color is needed Sleep, 500 MouseClick, left, %Px%, %Py% ;Click on adria if % WaitPixelColor(0, Chatx, Chaty, 5000) = 2 ;Waits for the black background of the chat box that pops up { Pixelsearch, Px, Py, CBx2, CBy2, CBx, CBy,color, 4, fast Sleep, 200 MouseClick, left, %Px%, %Py% WaitPixelColor(0, Chatx, Chaty, 5000) Send, {ESC} ;Skips the chat Sleep, 2500 Send, o ;Open friends Sleep, 3500 ;Increase this depending on how long it takes host to create his game and "Join game" come available MouseClick, right, Hostx, Hosty ; Right click on top friend Sleep, 1000 MouseClick, left , JGx, JGy ; Left click on join game and repeat; Sleep, 7000 } else { Send, {ESC} ;Skips the chat Sleep, 2500 Send, o ;Open friends Sleep, 4500 ;Increase this depending on how long it takes host to create his game and "Join game" come available MouseClick, right, Hostx, Hosty ; Right click on top friend Sleep, 1000 MouseClick, left , JGx, JGy ; Left click on join game and repeat; Sleep, 7000 } } } return Numpad2:: pause return
credits go to who ever created the waitforpixel as it was not me!Code:;DeadlyDragon V1.2.5 BETA mult = 3 ;Loser this for Lower resolution, 3 is default for 1920 x 1080 JoinGameAvailable = 3500 ;Inscrease this if it is clicking on join game too early AdriaLoad = 1000 ;Increase this if it isnt finding adria at the beginning because she has not loaded.o Numpad3:: GetGlobe() GetLeaveGame() MsgBox Please hover your mouse over your characters bum and press enter IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, CBx, CBy } MsgBox Please hover you mouse over unique colour on adira (purple? lowest part possible.) and press enter, get the bottom of the dress. IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Ax, Ay Sleep, 200 PixelGetColor, color, %Ax%, %Ay% } Sleep, 500 MouseClick, left , Ax, Ay Sleep, 3000 MsgBox Please hover you mouse over the black corner of quest text (top left above char avatar) and hit ok IfMsgBox Ok { WinActivate Diablo III Sleep, 500 MouseGetPos, Chatx, Chaty } GetHost() GetJoin() Sleep, 200 MouseClick, left , JGx, JGy Sleep 1500 Ax2 = %Ax% Ay2 = %Ay% Ax -= (mult*60) Ax2 += (mult*40) Ay2 += (mult*70) CBx2 = %CBx% CBy2 = %CBy% CBx -= (mult*25) CBx2 -= (mult*80) CBy2 -= (mult*35) while InGame() sleep, 100 Loop { Sleep, %AdriaLoad% While InGame() ;White blip on health globe { if !InGame() continue Pixelsearch, Px, Py, Ax, 8, Ax2, Ay2, color, 3, fast ;Searches for adria if ErrorLevel { if !InGame() continue Sleep, 10000 JoinGame() continue } else { Sleep, 200 MouseClick, left, %Px%, %Py% ;Click on adria if % WaitPixelColor(0, Chatx, Chaty, 5000) = 2 ;Waits for the black background of the chat box that pops up for 5 seconds { Pixelsearch, Px, Py, CBx2, CBy2, CBx, CBy, color, 4, fast if ErrorLevel { JoinGame() continue } else { Sleep, 200 MouseClick, left, %Px%, %Py% if % WaitPixelColor(0, Chatx, Chaty, 5000) = 2 { JoinGame() continue } } } else { Send, {ESC} JoinGame() } } } } return Numpad2:: pause return GetJoin() { global Hostx, Hosty, JGx, JGy MouseClick, right, Hostx, Hosty ; Right click on top friend MsgBox Please hover you mouse over Join Game/Request Invite (Request invite turns into Join Game) IfMsgBox Ok { global JGx, JGy WinActivate Diablo III Sleep, 200 MouseGetPos, JGx, JGy } } GetHost() { Send, o MsgBox Please hover you mouse over your host friend and hit ok IfMsgBox Ok { global Hostx, Hosty WinActivate Diablo III Sleep, 500 MouseGetPos, Hostx, Hosty } } JoinGame() { global Hostx, Hosty, JGx, JGy if IsMenuUp() Send, {ESC} Send, o ; Open friends Sleep, %JoinGameAvailable% ; Increase this depending on how long it takes host to create his game and "Join game" come available MouseClick, right, Hostx, Hosty ; Right click on top friend Sleep, 1000 MouseClick, left , JGx, JGy ; Left click on join game and repeat; while InGame() Sleep, 100 Sleep, 3000 } GetGlobe() { global G, Gx, Gy MsgBox Please hover your mouse over white glare on health globe (Pure white) and press enter IfMsgBox Ok { WinActivate Diablo III Sleep, 100 MouseGetPos, Gx, Gy Sleep, 200 PixelGetColor, G, %Gx%, %Gy% } } InGame() { global G, G2, Gx, Gy Pixelsearch, Px, Py, Gx, Gy, Gx, Gy, G, 4, fast Result1 := ErrorLevel Pixelsearch, Px, Py, Gx, Gy, Gx, Gy, G2, 4, fast Result2 := ErrorLevel if !Result1 or !Result2 { return 1 } else { return 0 } } IsMenuUp() { global LG1, LG2, LGx, LGy PixelSearch, Px, Py, LGx, LGy, LGx, LGy, LG1, 0, Fast Result1 := ErrorLevel PixelSearch, Px, Py, LGx, LGy, LGx, LGy, LG2, 0, Fast Result2 := ErrorLevel if !Result1 or !Result2 { return 1 } else { return 0 } } GetLeaveGame() { global G2, Gx, Gy,LG1, LG2, LGx, LGy Send, {ESC} MsgBox, Hover your cursor over Leave Game IfMsgBox Ok { WinActivate Diablo III Sleep, 100 MouseGetPos, LGx, LGy Sleep, 50 PixelGetColor, LG1, %LGx%, %LGy% MouseMove, 10, 10 Sleep, 50 PixelGetColor, LG2, %LGx%, %LGy% Sleep, 50 PixelGetColor, G2, %Gx%, %Gy% } Send, {ESC} Sleep, 100 } WaitPixelColor(p_DesiredColor,p_PosX,p_PosY,p_TimeOut=0,p_GetMode="",p_ReturnColor=0) { l_Start := A_TickCount Loop { PixelGetColor, l_RetrievedColor, %p_PosX%, %p_PosY%, %p_GetMode% If ErrorLevel { If !p_ReturnColor Return 1 Break } If ( l_RetrievedColor = p_DesiredColor ) { If !p_ReturnColor Return 0 Break } If ( p_TimeOut ) && ( A_TickCount - l_Start >= p_TimeOut ) { If !p_ReturnColor Return 2 Break } } Return l_RetrievedColor }







Reply With Quote
thanks to 08449





