All pastes #715442 Raw Edit

Jemand

public text v1 · immutable
#715442 ·published 2007-09-26 09:42 UTC
rendered paste body
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=ShopBot.ico
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <Date.au3>
#Include <GUIConstants.au3>

Dim $Location
Dim $IniFile		= "mm.ItemReader.ini"
Dim $IniSection1	= "mm.ItemReader"
Dim $IniSection2	= "ShopBot"
Dim $i				= 1

Opt("PixelCoordMode",0)
Opt("MouseCoordMode",0)
Opt("SendKeyDelay",100)
Opt("MouseClickDelay",100)

$D2WinName	= IniRead($IniFile,$IniSection1,"WName","Diablo II")
$ReaderKey	= IniRead($IniFile,$IniSection1,"HotKey","PAUSE")
$GameName	= IniRead($IniFile,$IniSection2,"GameName","")
$GamePass	= IniRead($IniFile,$IniSection2,"GamePass","")
$ShopBot	= GUICreate("ShopBot",150,30)
$StartBot	= GUICtrlCreateButton("Run !",5,5,140,20)
GUISetIcon("ShopBot.ico")
GUISetState(@SW_SHOW)
HotKeySet("{END}","QuitBot")

Call("Init")

Func Init()
	While 1
		Switch GUIGetMsg()
			Case $StartBot
				WinActivate($D2WinName)
				Sleep(1000)
				Call("CheckStatus")
				If $Location = "Channel" Then
					Call ("CreateGame")
				Else
					Run("mm.ItemReader.exe")
					Sleep(1500)
					Call("Drognan")
				EndIf
			Case $GUI_EVENT_CLOSE
				Call("QuitBot")
		EndSwitch
	Wend
EndFunc

Func CheckStatus()
	$Status = PixelGetColor(300,600)
	Switch $Status
		Case 1024
			$Location = "Channel"
		Case 11897418
			$Location = "InGame"
	EndSwitch
EndFunc

Func CreateGame()
	MouseClick("left",600,485,1,0)
	Send($GameName&$i)
	$i = $i+1
	Send("{TAB}")
	Send($GamePass)
	Send("{ENTER}")
	While $Location = "Channel"
		Call("CheckStatus")
	WEnd
	Sleep(200)
	MouseClick("left",560,60,1,0)
	Sleep(2000)
	MouseClick("left",20,110,1,0)
	Sleep(2000)
	MouseClick("left",400,25,1,0)
	Sleep(2000)
	MouseClick("left",795,40,1,0)
	Sleep(2000)
	MouseClick("left",790,120,1,0)
	Sleep(2000)
	MouseClick("left",790,120,1,0)
	Sleep(2000)
	MouseClick("left",790,120,1,0)
	Sleep(2000)
	MouseClick("left",790,120,1,0)
	Sleep(2000)
	MouseClick("left",680,90,1,0)
	Sleep(1500)
	If PixelGetColor(390,150) = 1638144 Then
		Run("mm.ItemReader.exe")
		Sleep(1500)
		Call("Drognan")
	Else
		Call("QuitGame")
	EndIf
EndFunc

Func Drognan()
	$DrognanCoords = PixelSearch(0,160,370,500,0xFF2C00,0,39)
	If @error Then
		MsgBox(0,"ShopBot","Could not find Drognan !")
		Call("QuitGame")
	EndIf
	MouseMove($DrognanCoords[0],$DrognanCoords[1],0)
	Sleep(250)
	MouseClick("left",$DrognanCoords[0],$DrognanCoords[1],1,100)
	Sleep(1500)
	Send("{DOWN}")
	Send("{ENTER}")
	Sleep(1500)
	MouseClick("left",200,95,1,0)
	Sleep(1500)
	Call("CheckItem",200,190)
	Call("CheckItem",260,190)
	Call("CheckItem",320,190)
	Call("CheckItem",380,190)
	Call("CheckItem",200,275)
	Call("CheckItem",260,275)
	Call("CheckItem",320,275)
	Call("CheckItem",380,275)
	Call("CheckItem",200,360)
	Call("CheckItem",260,360)
	Call("CheckItem",320,360)
	Call("CheckItem",380,360)
	Sleep(300)
	Send("{SPACE}")
	$BlockCoords = PixelSearch(250,20,790,450,0x18FF00,0,19)
	MouseClick("left",$BlockCoords[0]+30,$BlockCoords[1]+175,1,0)
	Sleep(1000)
	MouseClick("left",785,100,1,0)
	Sleep(1800)
	MouseClick("left",20,520,1,0)
	Sleep(3000)
	Call("Drognan")
EndFunc

Func CheckItem($x,$y)
	MouseMove($x,$y,0)
	Sleep(200)
	Send("{"&$ReaderKey&"}")
	Sleep(1500)
	$ItemFile		= FileOpen("mm.ItemReader.txt",0)
	Global $Item	= FileRead($ItemFile)
	If StringInStr($Item,"+2 to Paladin Skill Levels") And StringInStr($Item,"+3 to Blessed Hammer") Then
		MouseClick("right")
		Call("WriteLog")
	EndIf
	If StringInStr($Item,"+2 to Paladin Skill Levels") And StringInStr($Item,"+2 to Blessed Hammer") And StringInStr($Item,"Faster Cast Rate") Then
		MouseClick("right")
		Call("WriteLog")
	EndIf
	If StringInStr($Item,"+2 to Sorceress Skill Levels") And StringInStr($Item,"+3 to Blizzard") And StringInStr($Item,"Faster Cast Rate") Then
		MouseClick("right")
		Call("WriteLog")
	EndIf
	If StringInStr($Item,"+2 to Sorceress Skill Levels") And StringInStr($Item,"+3 to Enchant") And StringInStr($Item,"Faster Cast Rate") Then
		MouseClick("right")
		Call("WriteLog")
	EndIf
	If StringInStr($Item,"+2 to Sorceress Skill Levels") And StringInStr($Item,"+3 to Energy Shield") Then
		MouseClick("right")
		Call("WriteLog")
	EndIf
	FileClose($ItemFile)
	FileDelete("mm.ItemReader.txt")
EndFunc

Func WriteLog()
	$LogFile = FileOpen("ShopBot.log",1)
	FileWriteLine($LogFile,_NowDate()&" - "&_NowTime()&@CRLF&@CRLF&$Item&@CRLF)
	FileClose($LogFile)
EndFunc

Func QuitGame()
	Sleep(3000)
	Send("{ESC}")
	MouseClick("left",400,280,1,0)
	Sleep(10000)
	Call("CheckStatus")
	Call("CreateGame")
EndFunc

Func QuitBot()
	ProcessClose("mm.ItemReader.exe")
	FileDelete("mm.ItemReader.txt")
	Exit
EndFunc