# (AHK) Membuat Bot / Auto Click dengan AutoHotKey

Sumber: https://nyit-nyit.net/threads/ahk-membuat-bot-auto-click-dengan-autohotkey.129795/
Forum: N3 Source Codes dan Tutorials
Dibuat: 2013-05-23 oleh hrd
Balasan: 32, dilihat: 65037

## Post pertama

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

Lebih jelas nya bisa buka website nya

(http://www.autohotkey.com/)
(http://www.autohotkey.com/docs/Tutorial.htm)
(http://www.autohotkey.com/docs/)
[Daftar perintah](http://www.autohotkey.com/docs/commands.htm)

Dalam tutorial ini, kita akan coba membuat auto click untuk salah satu game facebook, yaitu [Marvel: Avenger Alliance](http://apps.facebook.com/avengersalliance/) (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)

12704.IPB 12705.IPB
12706.IPB 12707.IPB

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**](http://www.autohotkey.com/docs/commands/ImageSearch.htm), yang akan kita gunakan untuk mencari potongan kecil dari gambar yang ada pada gambar 1-4

**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**"
12708.IPB

**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**"
12710.IPB

**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**"
12711.IPB

hasil editan gambar:
12714.IPB

**Step 4**: **Script**
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

#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
12713.IPB

P03o1wXFaBY

//hrd

## Balasan

### dickaaditia, 2013-05-25

ini bisa untuk semua game ga yah .. dalam artian ini sama ga dengan membuat bot secara manual ??

### PayPal, 2013-05-25

seharusnya bisa untuk semua game tp kan hshield,xtrap,Npro gameguard rata" memblocknya :)

mungkn lbh cocok buat game" FB atau sejenisnya

### ForYou, 2013-05-26

kk itu image editor kk pake apa? soalnya pake paint ga bs di itemin langsung backgroundnya

### dickaaditia, 2013-05-26

intinya kalo misal make ini ... monitor hanya fokus ke game itu aja ga bisa ngapa"in dan buka tab baru yah ??

### hrd, 2013-05-26

di tutorial pake photohosop

iya, jendela game harus active window. karena script mencari image dr layar yg keliahatan saja

### ForYou, 2013-05-27 (+1)

cara biar langsung item backgroundnya gmn tuh kk??

### hrd, 2013-05-27 (+1)

1. di hapus manual, dengan cara menggunakan select tool, bisa sedikit demi sedikit pake rect marquee tool (M), atau magic wand (W) terus tekan delete
2. bikin layer baru, tempatkan di bawah layer yg di edit, warnai hitam

### CyanPile, 2013-05-28

kalo cara kerja nya gimana kk , kita bisa kena ban ga? maklum newbie

### hrd, 2013-05-28

kalo kena ban kek nya nggak sih. secara ini kan cuman mensimulasikan pergerakan mouse+klik. jadi sama aja kan kalo kita sendiri yang main.

### gpenkcor, 2013-06-13

gan ada yang bisa bantu bikinin script AHK buat game legenda naga lyto gk??? buat hunt dungeon sekolah tinggi nya aja capek tiap hari dungeonya.he2..ane kasih hadiah de buat yang mau bantuin.tq b4

### susibohay25, 2013-06-16

bang,nice info :D

### XPByte, 2013-06-24

pixel gambarnya gk ngaruh kan?

### anaksembilan, 2013-06-25

agan ane mau tanya, kalo auto it sama ahk sama ga sih scriptnya? kan mau buat script A D A D A D terus2an dengan cepat, tapi pake hotkey ? kira2 gimana yak strukturnya?

### hrd, 2013-06-28

ngaruh gan. resolusi yg di ambil untuk script sebaik nya di pake juga pas main. karena biasa nya fungsi ImageSearch nya gak nemu pixel nya

autoit ama ahk mirip2 sih. beda2 tipis di penamaan fugsi. kecuali untuk fungsi bawaan Widows, seperti FindWindow, dll

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

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

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

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

; script utama untuk tekan ADAD
ADAD:
If (!Toggle) {
Tooltip, Stopped., x2,y1
SetTimer, RemoveTrayTip, 1000
Return
}
; tooltip, penanda script sedang berjalan
Tooltip, Running..., 0,0
; press key A
Send {a down}{a up}
; Sesuaikan aja sleep nya
Sleep, 10
; press key D
Send {d down}{d up}
Sleep, 10
return
RemoveTrayTip:
SetTimer, RemoveTrayTip, Off
Tooltip
return

```

lengkap nya:
[http://www.autohotke...mmands/Send.htm](http://www.autohotkey.com/docs/commands/Send.htm)

### sennacyber, 2013-07-10

Gan ini kalo di pakai untuk Game Rohan Private server bisa gak ya???
kalo masalah nembus nProtect GG itu sih Mudah

### anaksembilan, 2013-07-12

gan gan, itu tanda ";" sebagai comment kan ya?
terus :"F8::Toggle := !Toggle " <<< ane ganti jadi tanda "+" F8nya gak ngaruh dia ga press A D A D A D gmn dong? ajarin gan

^
^
^
^
update :
abis baca2 di forum ahk ane nemu yang simple gan hehe

```

$F1::
while GetKeyState("F1", "P") ; While the F1 key is being held down physically.
{
Send {a down}{a up}
; Sesuaikan aja sleep nya
Sleep, 10
; press key D
Send {d down}{d up}
Sleep, 10

}
return
```

tapi kedetect sama Hackshieldnya gan ada solusi? :(

### verbozze, 2013-07-15

Kalau saya pakai kode berikut ini untuk automatic switch weapon di CS, kemudian di-compile hasilnya working. Kalau untuk game direct seperti PB, apakah bisa diakali dengan sandboxie atau semacamnya?

*LButton::
Send {0 Down}
Sleep 24
Send {0 Up}
Sleep 24
Send {WheelDown}
Sleep 24
Send {WheelUp}
Sleep 20
return

Oh iya, setingan "use main weapon" pada game saya rubah shortcutnya menjadi tombol "0" dengan maksud klik kiri dapat digunakan untuk eksekusi perintah "use main weapon".

### hrd, 2013-07-21

soal HS, GG, XTRAP, dan hampir smua Anti-Cheat, pasti nge-blok API send key, kecuali ya, bisa **bypass**...

### angelcyber942, 2013-07-26

kalau cara kerja menstimulasikan pergerekan mouse dan klik saja , berarti untuk yang masih tekan keyboard misal tekan tombol A D W S buat menggerakkan karakter tidak bisa ya ?

lantas apa mungkin bila kita membuat comment yang cara kerja nya dari klik , misal komen forum , kita buat sebuah file dulu berisi link thread forum , kemudian berisi id and password , nah bot nya jalanin perintah copy paste link di browser , copy id and pass , klik login , klik post , copy paste kata2 misal sundul , kemudian klik submit , apakah bisa master ? :D

### hrd, 2013-08-05

bisa skali. banyak kok fungsi2 yg mendukung. mencari jendela aktif dgn WinWaitActive, ketik id/pass dgn SendKey, yg jadi masalah mungkin ketika ada captcha.

### fapfapan, 2013-08-17

maap nih mengganggu
ada yang tutorial tentang belajar bahasa script ahk gk??
yang b.indonesia
kalo ada share ya gan ane mau belajar script
Thanks B4

### cybersword, 2013-08-21

gan tolong bantu AHK script nya dragon pals dunk saya jadi bingung nih script ny dan fungsinya

### dianhartanti, 2013-09-19

Duh buat di game DN ina knapa ketendang yak ....
Wkwkwkwk ... Padahal cuma macro skill doang ....
Ada solusi ga gan ?

### ravenzN3, 2013-11-08

windows 7 64 bit blum di blok hs pak, enak tuh bisa buat norecoil pb

### neopool, 2014-07-09

Gradasi Warna maksudnya untuk apa om @@hrd , ada yang 35, 15, 20, mohon pencerahan

### hrd, 2014-07-09

gradasi warna: batas toleransi pemilihan warna yg akan di scan, misal warna gray ke dark gray di sama kan ato tidak, 
makin tinggi nilai nya, maka perbedaan warna yg agak muda ke warna yg agak tua semakin di anggap sama.. CMIIW.

### LieLie, 2014-08-04

Oo.. gampang2 susah y.hehe

### ekosanjaya, 2014-08-29

saya butuh sekali mau modifikasi mouse auto click, siapa yang bisa bantu saya ya?

### cup2x, 2015-06-05

@nyit1

bahasa indonesia aja gan, ga ngerti....

### syahroni, 2016-09-29

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

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

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

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

; script utama untuk tekan ADAD
ADAD:
If (!Toggle) {
Tooltip, Stopped., x2,y1
SetTimer, RemoveTrayTip, 1000
Return
}
; tooltip, penanda script sedang berjalan
Tooltip, Running..., 0,0
; press key A
Send {a down}{a up}
; Sesuaikan aja sleep nya
Sleep, 10
; press key D
Send {d down}{d up}
Sleep, 10
return
RemoveTrayTip:
SetTimer, RemoveTrayTip, Off
Tooltip
return

cara nambahin fungsi F9 dengan key qwe trus" an gimana gan, makasih
```

(2 balasan lain ada di halaman thread.)
