Thứ Năm, 26 tháng 8, 2010

Code Auto IT để auto web game Anh Hùng

#include
#Include

Dim $MonsterExisting = 1, $HeroFarming, $MonsterStar, $Attacked = 0, $isplay = 0, $filelog = "C:\Documents and Settings\COMPUTER\My Documents\auto_IT\autolog.txt"
Dim $isattacked = False , $receivequest = False;
;kiem tra xem co dang choi hero khong
Func check()
;_FileWriteLog($filelog,"Run Check",-1)
Sleep(1000)
$teamview = _ColorGetRed(PixelGetColor(702,265))
$maudo = _ColorGetRed(PixelGetColor(25,183))
$mauxanh = _ColorGetGreen(PixelGetColor(25,183))
$trongthanh = _ColorGetRed(PixelGetColor(958,527))

if ($teamview == 122) Then
MouseMove(702,460) ; click de close teamviewer
Sleep(500)
MouseClick("left")
_FileWriteLog($filelog,"Close teamviewer",-1)
EndIf
;$attack = _ColorGetRed(PixelGetColor(643,183))
; If ($attack < 5) Then
; MouseMove(490,670)
; Sleep(300)
; MouseClick("left")
; _FileWriteLog($filelog,"Close Monter Attack",-1)
; Sleep(1000)
; EndIf
if (($maudo == 209 ) And ($mauxanh == 19)) Then
$isplay = 1
;_FileWriteLog($filelog,"Check OK",-1)
if($trongthanh > 200) Then
MouseMove(958,544) ; click de ra ngoai thanh
Sleep(500)
MouseClick("left")
EndIf
Else
$isplay = 0
$attack = _ColorGetRed(PixelGetColor(643,183))
Sleep(1000)
If ($attack < 5) Then
MouseMove(490,670)
Sleep(300)
MouseClick("left")
_FileWriteLog($filelog,"Close Monter Attack",-1)
Sleep(1000)
EndIf
_FileWriteLog($filelog,"Check Fail",-1)
EndIf
;_FileWriteLog($filelog,"End Check",-1)
EndFunc

Func ReceiveQuest()
;TrayTip("ReceiveQuest","",10)
MouseMove(910,416) ; click nut nhiem vu
Sleep(200)
MouseClick("left")
Sleep(1000)
MouseMove(328,226) ; click nut chon danh sach nhiem vu hang ngay
Sleep(200)
MouseClick("left")
$num = 0
While ($num < 19 )

if ($num < 8) Then
$y = 400 + 25*$num
MouseMove(360,$y) ; click chon nhiem vu
Sleep(200)
MouseClick("left")
Sleep(500)
MouseMove(331,632) ; click nut nhan nhiem vu
Sleep(1000)
MouseClick("left")
ElseIf ($num < 16) Then
if($num == 8) Then
MouseClickDrag("left", 480,400,480,458) ;keo thanh cuon
EndIf
$y = 400 + 25*($num-8)
MouseMove(360,$y) ; click chon nhiem vu
Sleep(200)
MouseClick("left")
Sleep(500)
MouseMove(331,632) ; click nut nhan nhiem vu
Sleep(1000)
MouseClick("left")
ElseIf ($num < 20) Then
if($num == 16) Then
MouseClickDrag("left", 480,458,480,515) ;keo thanh cuon
EndIf
$y = 400 + 25*($num-16)
MouseMove(360,$y) ; click chon nhiem vu
Sleep(200)
MouseClick("left")
Sleep(500)
MouseMove(331,632) ; click nut nhan nhiem vu
Sleep(1000)
MouseClick("left")
EndIf

$num = $num + 1
WEnd

MouseMove(500,675) ; click nut Dong nhiem vu
Sleep(500)
MouseClick("left")
$receivequest = True
EndFunc

;click nút tìm
Func OpenFind()
Sleep (2000)
_FileWriteLog($filelog,"Run OpenFind",-1)
$isattacked = False
MouseMove(751,640) ; click de ve trung tam thanh chinh
Sleep(200)
MouseClick("left")
sleep(2000)
$chiensu = _ColorGetRed(PixelGetColor(574,376)) ; check bang chien su
if ( $chiensu == 165) Then
Sleep(500)
MouseMove(560,480) ; click nut Dong Chien Su
Sleep(500)
MouseClick("left")
_FileWriteLog($filelog,"Close Dong Chien Su 2",-1)
EndIf
sleep(2000)
MouseMove (500, 388)
Sleep (500)
MouseMove (780, 183)
Sleep (500)
MouseClick("left")
;server lags
Sleep (2000)
_FileWriteLog($filelog,"End OpenFind",-1)
EndFunc
; dóng nút tìm
Func CloseFind()
Sleep (2000)
_FileWriteLog($filelog,"Run CloseFind",-1)
MouseMove (446, 672)
Sleep (500)
MouseClick("left") ; close find
_FileWriteLog($filelog,"Close Find",-1)

sleep(2000)

$tbAF = _ColorGetRed(PixelGetColor(648,389)) ; check bang thong bao chien su
if ($tbAF == 235) Then
Sleep(500)
MouseMove(648,389) ; click nut Dong Chien Su
Sleep(500)
MouseClick("left")
_FileWriteLog($filelog,"Close Dong Chien Su 1",-1)
EndIf
sleep(2000)
$skill = _ColorGetRed(PixelGetColor(624,375)) ; check bang chien su
if ( $skill == 212) Then
Sleep(500)
MouseMove(506,464) ; click nut Dong Ki Nang Chua Hoi Phuc
Sleep(500)
MouseClick("left")
_FileWriteLog($filelog,"Close Ki Nang Chua Hoi Phuc",-1)
EndIf

sleep(2000)
$tbDHD = _ColorGetRed(PixelGetColor(553,381)) ; check bang thong bao het diem hanh dong
if ($tbDHD == 222) Then
Sleep(500)
MouseMove(558,463) ; click nut Khong Nhac Nho
Sleep(500)
MouseClick("left")
_FileWriteLog($filelog,"Close thong bao het DHD",-1)
EndIf

_FileWriteLog($filelog,"End CloseFind",-1)
EndFunc

Func Quest($number)
_FileWriteLog($filelog,"Run Quest",-1)
Sleep (500)
;click chon tab bao vat
MouseMove (355, 235)
Sleep (200)
MouseClick("left")
Sleep (500)
;click danh sach bao vat
MouseMove (410, 266)
Sleep (200)
MouseClick("left")
;chon cap do quai dua tren $number
Sleep(200)
MouseClickDrag("left", 416,299,416,313) ;keo thanh cuon

Switch $number
Case 2 ;2star monster
MouseMove (360, 285)
Sleep (200)
MouseClick("left")
Case 3 ;3star monster
MouseMove (360, 305)
Sleep (200)
MouseClick("left")
Case 4 ;4star monster
MouseMove (360, 325)
Sleep (200)
MouseClick("left")
Case 5 ;5star monster
MouseMove (360, 345)
Sleep (200)
MouseClick("left")
Case 6 ;6star monster
MouseMove (360, 365)
Sleep (200)
MouseClick("left")
EndSwitch

;chon quai de danh
;xac dinh xem qua'i da~ he't chua
Sleep(2000)
;xac dinh ma`u tai vi tri' nút xem
Local $Empty = PixelGetColor(625,330)
;xac dinh ma`u tai vi tri' Rong Tinh
Local $Dragon = _ColorGetRed(PixelGetColor(384,326))
if ($Dragon == 255) Then
_FileWriteLog($filelog,"Quai Rong Tinh",-1)
EndIf

if ($Empty == 74031) Then
$MonsterExisting = 0
Else
Sleep(200)
MouseMove(625,330) ;vi tri nut Xem, mo thong tin quai
Sleep(500)
MouseClick("left")
Sleep(1000)
MouseMove(500,560) ;vi tri nut Tan cong
Sleep(500)
MouseClick("left")
EndIf
_FileWriteLog($filelog,"End Quest",-1)
EndFunc

Func ChooseMonsterType($MonsterStar)

$MonsterExisting = 1
_FileWriteLog($filelog,"Run ChooseMonsterType",-1)
;click danh sach quai
MouseMove (410, 266)
Sleep (200)
MouseClick("left")
;chon cap do quai dua tren $MonsterStar
Sleep(200)
MouseClickDrag("left", 416,299,416,335) ;keo thanh cuon

Switch $MonsterStar
Case 4 ;5star monster
MouseMove (360, 285)
Sleep (200)
MouseClick("left")
Case 5 ;5star monster
MouseMove (360, 305)
Sleep (200)
MouseClick("left")
Case 6 ;6star monster
MouseMove (360, 325)
Sleep (200)
MouseClick("left")
Case 7 ;7star monster
MouseMove (360, 345)
Sleep (200)
MouseClick("left")
Case 8 ;8star monster
MouseMove (360, 365)
Sleep (200)
MouseClick("left")
EndSwitch

;chon quai de danh
;xac dinh xem qua'i da~ he't chua
Sleep(2000)
;xac dinh ma`u tai vi tri' nút xem
Local $Empty = PixelGetColor(625,330)
if ($Empty == 74031) Then
$MonsterExisting = 0
Else
Sleep(200)
MouseMove(625,330) ;vi tri nut Xem, mo thong tin quai
Sleep(200)
MouseClick("left")
Sleep(200)
MouseMove(500,565) ;vi tri nut Tan cong
Sleep(200)
MouseClick("left")
EndIf
_FileWriteLog($filelog,"MonsterExisting = " & $MonsterExisting,-1)
_FileWriteLog($filelog,"End ChooseMonsterType",-1)
EndFunc

;cho.n tha`nh trong danh sach thanh phu thuoc vao $CastleNo
Func ChooseCastle($CastleNo)

MouseMove(395,280) ; danh sach tha`nh tri`
Sleep(200)
MouseClick("left")

Switch $CastleNo
;chon thanh dau tien
Case 1
MouseMove(408,303)
Sleep(200)
MouseClick("left")
;chon thanh thu 2
Case 2
MouseMove(408,324)
Sleep(200)
MouseClick("left")
EndSwitch
EndFunc

;cho.n hero --
Func ChooseHero($HeroNumber)
MouseMove(669,282) ; danh sach hero trong tha`nh
Sleep(200)
MouseClick("left")

Switch $HeroNumber
;chon hero dau tien
Case 1
MouseMove(665,302)
Sleep(200)
MouseClick("left")
;chon hero thu 2
Case 2
MouseMove(671,322)
Sleep(200)
MouseClick("left")
;chon hero thu 3 tuong tu...
EndSwitch
EndFunc

Func FarmMonster($MonsterStar, $CastleNo, $HeroNumber)
_FileWriteLog($filelog,"Run FarmMonster Level " & $MonsterStar,-1)
;chon quai
Call("ChooseMonsterType", $MonsterStar)
Sleep(200)
if ($MonsterExisting ==1) then

;chon thanh xuat phat
;Call("ChooseCastle",$CastleNo)
;Sleep(200)
;chon hero trong thanh
;Call("ChooseHero",$HeroNumber)
Sleep(200)
;bat dau tan cong
MouseMove(425,590) ;vi tri nut Tan cong
Sleep(500)
MouseClick("left")
Sleep(1000)
$hetDHD = _ColorGetRed(PixelGetColor(513,381)) ; check bang bao het diem hanh dong

If (($hetDHD > 200) )Then
MouseMove(503,467) ;vi tri nut Dong do thieu diem hanh dong
Sleep(500)
MouseClick("left")
MouseMove(587,592) ;vi tri nut Huy Bo?
Sleep(500)
MouseClick("left")
;MsgBox(0,"Thông báo", "Ðã het DHD cho 1h de hoi phuc")
_FileWriteLog($filelog,"Ðã het DHD cho 20ph de hoi phuc",-1)
Sleep(1200000)
$Attacked = 0
;MouseMove(515,427) ;vi tri nut Dong MsgBox
;Sleep(500)
;MouseClick("left")
;Sleep(500)
EndIf
EndIf
_FileWriteLog($filelog,"End FarmMonster",-1)
EndFunc
;cho` hero tro? ve`
Func WaitAttack()
;TrayTip("Waitting Attack","",20)
_FileWriteLog($filelog,"Run WaitAttack",-1)
MouseMove(381,462)
Sleep(20000)
$lap = 0
While ($lap < 150)
$lap = $lap + 1
Call("check")
if ($isplay ==1) Then
$attack = _ColorGetRed(PixelGetColor(381,462))
If (($attack < 4) )Then
Sleep(500)
MouseMove(430,466)
Sleep(500)
MouseClick("left")
Sleep(500)
$isattacked = True
ExitLoop
EndIf
EndIf
Sleep(3000)
WEnd
_FileWriteLog($filelog,"End WaitAttack",-1)
EndFunc

Func EnterAttack()
Sleep (1000)
If ($isattacked ) Then
_FileWriteLog($filelog,"Run EnterAttack",-1)
;ConsoleWrite("Enter EnterAttack \n")
MouseMove(490,670)
$dem = 0
$lap = 0
Sleep(5000)
While (($lap < 2) and ($dem < 60))
$attack = _ColorGetRed(PixelGetColor(490,670))
If ($attack > 188) Then
$lap = $lap + 1
If ($lap > 1) then
Sleep(3000)
EndIf
MouseMove(490,660)
Sleep(300)
MouseClick("left")
_FileWriteLog($filelog,"Buff Skill",-1)
Else
$attack = _ColorGetRed(PixelGetColor(643,183))
If ($attack < 4) Then
_FileWriteLog($filelog,"Check color closeattack ok",-1)
;ConsoleWrite("Check color closeattack ok \n")
$lap = $lap + 1
EndIf
EndIf
Sleep(1000)
$dem = $dem + 1
WEnd
Sleep(1000)
;ConsoleWrite("End EnterAttack \n")
_FileWriteLog($filelog,"End EnterAttack",-1)

EndIf
EndFunc

Func CloseAttack()
Sleep (2000)
;TrayTip("Attack Finished","",5)
if ($isattacked) then
_FileWriteLog($filelog,"Run CloseAttack",-1)
;ConsoleWrite("Enter CloseAttack \n")
Sleep(3000)
MouseMove(490,670)
Sleep(300)
MouseClick("left")
Sleep(6000)
;ConsoleWrite("End CloseAttack \n")
;Call("check")
;if ($isplay ==1) Then
;MouseMove(490,670)
;Sleep(300)
$attack = _ColorGetRed(PixelGetColor(643,183))
If ($attack < 5) Then
MouseMove(490,670)
Sleep(300)
MouseClick("left")
Sleep(1000)
EndIf
;EndIf
;$lap = $lap + 1
Sleep(1000)

_FileWriteLog($filelog,"End CloseAttack",-1)
EndIf
EndFunc

Func Delay()
_FileWriteLog($filelog,"Run Delay",-1)
;MouseMove(845,388) ;mat hero de lay mau pixel
Sleep(5000)
$lap = 0
While ($lap < 360)
$lap = $lap + 1
Call("check")
if ($isplay ==1) Then
TrayTip("Waitting Hero Return","",5)
$HeroFarming = _ColorGetRed(PixelGetColor(845,388))
If ($HeroFarming < 10) Then
ExitLoop
EndIf

EndIf
Sleep(5000)
WEnd
_FileWriteLog($filelog,"End Delay",-1)
EndFunc

Func PlayMonter($level,$control)
_FileWriteLog($filelog,"Run PlayMonter",-1)
$runfinished = 0
;main execute
Sleep(3000)
While ($level > 4)
;(@HOUR < 7) Or ((@HOUR == 7) and (@MIN < 40)) Or ((@HOUR = 10) and (@MIN > 20)) Or)
if ((@HOUR <= 8) Or (@HOUR >= 10)) then
;cho` hero bên ngoài tro? vê`
Call("check")
if ($isplay == 1) Then
$Attacked = 1
Call("Delay")
Call ("OpenFind")
Call ("FarmMonster",$level,1,1) ;farm quai 6, hero so 1, xuat phat tu thanh 1
Sleep(1000)
Call ("CloseFind")

If ($MonsterExisting <> 1) Then
$level = $level - 1
$MonsterExisting = 1
;MsgBox(0,"Thông báo", "Ðã farm hê't quái")
MouseMove(751,640) ; click de ve trung tam thanh chinh
Sleep(200)
MouseClick("left")
$Attacked = 0
EndIf

if (($Attacked == 1) and ($control == 1)) Then
call("WaitAttack")
Call("EnterAttack")
Call("CloseAttack")
EndIf

EndIf

Sleep(2000)
if ($level == 4) Then
$runfinished = $runfinished + 1
$level = 7
_FileWriteLog($filelog,"Finished Round "& $runfinished ,-1)
if (Mod($runfinished,2) == 0) Then
_FileWriteLog($filelog," Monter Empty, Waiting 20 min at "& @HOUR &" : "& @MIN,-1)
;ConsoleWrite("Waiting 20 min at "& @HOUR &" : "& @MIN)
Sleep(1200000)
EndIf
EndIf

Else
;MsgBox(0,"Thông báo", "Cho den sau 9h20ph")
;Sleep(1000)
;MouseMove(515,427) ;vi tri nut Dong MsgBox
;Sleep(500)
;MouseClick("left")
;Sleep(500)
_FileWriteLog($filelog,"Waiting 20 min at "& @HOUR &" : "& @MIN,-1)
;ConsoleWrite("Waiting 20 min at "& @HOUR &" : "& @MIN)
Sleep(1200000)
EndIf

WEnd
_FileWriteLog($filelog,"End PlayMonter",-1)
EndFunc

Func PlayQuest($level,$control,$receivequest)
if( not $receivequest ) Then
Call("ReceiveQuest")
EndIf
While ($level > 1)
Call("check")
if ($isplay ==1) Then
Call("Delay")
Call ("OpenFind")
Call ("Quest",$level) ;lam quest bao vat tu level

Sleep(200)
if ($MonsterExisting ==1) then
;chon thanh xuat phat
;Call("ChooseCastle",$CastleNo)
;Sleep(200)
;chon hero trong thanh
;Call("ChooseHero",$HeroNumber)
Sleep(200)
;bat dau tan cong
MouseMove(425,590) ;vi tri nut Tan cong
Sleep(500)
MouseClick("left")
EndIf
$level = $level - 1
Sleep(1000)
Call ("CloseFind")
if ($control == 1) Then
Call("WaitAttack")
Call("EnterAttack")
Call("CloseAttack")
EndIf

EndIf
If (($MonsterExisting <> 1) or ($level ==1) )Then
Call ("CloseFind")
_FileWriteLog($filelog,"Ðã lam xong nhiem vu",-1)
Call("PlayMonter",7,$control)
;MsgBox(0,"Thông báo", "Ðã lam xong nhiem vu")
EndIf
Sleep(5000)
;cho` hero bên ngoài tro? vê`
;Call("Delay")
WEnd
EndFunc
;MsgBox(0,"Thông báo", "Ðã het DHD cho 1h de hoi phuc")
;Sleep(50000)
;main execute
_FileWriteLog($filelog,"Start Auto",-1)
;if (Mod(3,2) == 0) Then
; ConsoleWrite("OK")
; EndIf
;sleep(5000)
;Call("ReceiveQuest")
;Call("PlayQuest",6,1,1)
sleep(5000)
;Call("ReceiveQuest")
Call("PlayMonter",7,1)
_FileWriteLog($filelog,"End Auto",-1)
Exit

Không có nhận xét nào:

Đăng nhận xét