[AHK] Membuat Bot / Auto Click dengan AutoHotKey

[AHK] Membuat Bot / Auto Click dengan AutoHotKey

Auto Hot Key (AHK) adalah tools untuk otomatisasi yang di lengkapi dengan scripting dan hotkey

Lebih jelas nya bisa buka website nya

AutoHotkey
Tutorial
Dokumentasi
Daftar perintah

Dalam tutorial ini, kita akan coba membuat auto click untuk salah satu game facebook, yaitu Marvel: Avenger Alliance (MAA)
Kenapa MAA? bukan nya sdh ada extension utk firefox? buatan l33thax? Lah... ketinggalan berita ya gan? kan dah nda work (for now).

update: ternyata l33thax update hari ini. so AFD is working again.


Dalam tutor ini kita akan membuat auto flight deck (AFD). Capek juga kan klik sana klik sini, trus cek lagi beberapa menit kemudian untuk collect silver nya).

Jadi apa yang di butuh kan untuk membuat AFD? mari kita analisa (sok canggih)
Spoiler klik klik 

sc01.png sc02.png
sc03.png sc04.png 

nah, dari screenshot di atas, di butuh kan 5 klik untuk 1 flight, yang di perlukan di sini adalah cuman mengarahkan cursor ke posisi-posisi yang di tandai merah tersebut, dan meng-klik mouse.

trus? bagaimana ngarahin mouse nya? apa kita mencari satu-satu koordinat nya? untung nya tidak perlu.
bisa juga sih menggunakan koordinat statis yang sudah ditentukan, tp bagamana kalau posisi layar browser bergeser? ato misal kita share hasil bot nya, dan resolusi layar yang make beda?

Di AHK, ada fungsi ImageSearch, yang akan kita gunakan untuk mencari potongan kecil dari gambar yang ada pada gambar 1-4

Quote
A strategy that is sometimes useful is to search for a small clipping from an image rather than the entire image. This can improve reliability in cases where the image as a whole varies, but certain parts within it are always the same. One way to extract a clipping is to:
  • Press Alt+PrintScreen while the image is visible in the active window. This places a screenshot on the clipboard.
  • Open an image processing program such as Paint.
  • Paste the contents of the clipboard (that is, the screenshot).
  • Select a region that does not vary and that is unique to the image.
  • Copy and paste that region to a new image document.
  • Save it as a small file for use with ImageSearch.


Tools yang di butuhkan
  • AutoHotKey, link download di awal post
  • Image editor, photoshop, gimp, paint, dsb
  • Text editor, notepad dsb
Step 1
1. Ambil screenshot pada posisi flight deck idle (gambar 1 di atas)
2. Buka dengan image editor, cari gambar yang unik
3. Paste ke new document
4. Berikan latar warna hitam
5. dan save as "zz.png"
edit01.png 

Step 2
1. Ambil screenshot pada posisi "select heroes" (gambar 3 di atas)
2. Buka dengan image editor, cari gambar yang unik
3. Paste ke new document
4. Berikan latar warna hitam
5. dan save as "select.png"
edit02.png 

Step 3
1. Ambil screenshot pada posisi "select heroes" (gambar 4 di atas)
2. Buka dengan image editor, cari gambar yang unik
3. Paste ke new document
4. Berikan latar warna hitam
5. dan save as "done.png"
edit03.png 

hasil editan gambar:
prev01.png 

Step 4Script
1. Copy paste script di bawah ke notepad
2. save as maa-afd.ahk
3. Jalankan script, dgn double klik pada file maa-afd.ahk
4. Tekan F8 untuk On/Off bot
5. Enjoy you very own bot

Spoiler copas 

#NoEnv
#SingleInstance, Force
SendMode Input
SetWorkingDir %A_ScriptDir%

;tampilkan copy left
MsgBox, 0, MAA:AFD © 2013 hrd, MAA: Auto flight deck`n`nF8: Toggle bot On/Off`n`nAuto close in 5 sec.,5

; buat loop utk pengecekan afd, sleep 100ms
SetTimer MyLoop, 100

bCheck=0
;x1, y1, x2, y2 = batas pencarian ImageSearch
x1=0
y1=0
x2=1366
y2=768
isBusy = 0

; hotkey untuk on/off bot
F8::Toggle := !Toggle

;script untuk toggle on/off
MyLoop:
If (Toggle)
{
If bCheck=0
{
SetTimer, CheckDeck, 50
bCheck=1
}
}
else if (!Toggle)
{
If bCheck=1
{
SetTimer, CheckDeck, Off
bCheck=0
}
}
return

; script utama untuk chek AFD
CheckDeck:
If (!Toggle) {
FoundX=0
FoundY=0
Tooltip, Stopped., x2,y1
SetTimer, RemoveTrayTip, 1000
Return
}
; tooltip, penanda script sedang berjalan
Tooltip, Running..., x2,y1

; set mode pixel utk pencarian image
CoordMode Pixel

; cari image di layar, sumber dari file zz.png
; dengan transparansi hitam
; 35 step gradasi
; simpan hasil pencarian ke FoundX, FoundY
ImageSearch, FoundX, FoundY, x1, y1, x2, y2, *35 *TransBlack zz.png

; cek error, 0=ketemu, 1=tidak ketemu, 2=gagal membuka file sumber
if ErrorLevel = 0
{
tempx := FoundX + 10
tempy := FoundY + 70
Tooltip Zzzz... %tempx% %tempy%, %FoundX%, %FoundY%

; posisi kan cursor
MouseMove, %tempx%, %tempy%

; click untuk menampikan "Send Hero"
Click
Sleep, 75

; Klik tombol "Send Hero"
Click
}

; pilih hero dan konfirmasi
ImageSearch, FoundX, FoundY, x1, y1, x2, y2, *15 *TransBlack select.png
if ErrorLevel = 0
{
Tooltip SELECT %FoundX% %FoundY%, %FoundX%, %FoundY%
MouseMove, %FoundX%, %FoundY%

; klik gambar hero pertama di layar "Select Hero"
Click
Sleep, 75

; posisi kan cursor ke tombol "Confirm"
tempx := FoundX + 200
tempy := FoundY + 250
MouseMove, %tempx%, %tempy%
Click
}

; cari gambar "Done" untuk collect silver
ImageSearch, FoundX2, FoundY2, x1, y1, x2, y2, *20 *TransBlack done.png
if ErrorLevel = 0
{
tempx2 := FoundX2 + 22
tempy2 := FoundY2 + 77
Tooltip Done %tempx2% %tempy2%, %FoundX2%, %FoundY2%
MouseMove, %tempx2%, %tempy2%
Click
Sleep, 10
Click
}
return

RemoveTrayTip:
SetTimer, RemoveTrayTip, Off
Tooltip
return

Semoga berguna, silahkan di kembangkan ke game-game lain, misal buat auto battle atau auto potion di game-game RPG.

buat yg malas edit-edit gambar dan coding. silahkan di donlot yg sudah jadi
File Terlampir  maa-afd-N3.zip   4.39K   2 Jumlah Unduhan

Preview Bot :