Persiapan Instalasi Macro
1. Download Macro 2.0.2 disini.
2. Buat folder baru di dalam folder OpenKore dengan nama "plugins".
3. Extract Macro 2.0.2 yang sudah di download ke dalam folder "plugins".
4. Di dalam folder "plugin" tadi akan terdapat macro.pl dan sebuah folder baru yang bernama "macro".
5. Buka config.txt di dalam folder control, masukkan text di bawah ini :
Secara hirarki folder openkore kamu seharusnya akan berupa seperti dibawah ini:
Command Macro
Perintah-perintah di bawah ini dapat langsung dijalankan pada jendela console OpenKore kamu.
macro list
Melihat daftar macro yang sedang berjalan.
macro stop
Menghentikan macro yang sedang berjalan.
macro pause
Melakukan interupsi terhadap macro yang sedang berjalan.
macro resume
Melanjutkan macro yang sedang terinterupsi.
macro version
Melihat versi macro yang kamu gunakan.
macro reset []
Mereset status macro yang sedang berjalan.
macro status
Menampilkan status macro baik yang berjalan atau tidak.
Melakukan Konfigurasi Macro
Macros.txt
saat ini seharusnya kamu sudah punya file macros.txt di folder control. Misalnya :
Timeout.txt
File ini berada dalam folder control. Misalnya :
Menulis Perintah Macro
Perhatian!!
Sebelum kamu mulai menulis macro, diharapkan kamu sudah memahami sepenuhnya tentang perintah-perintah dasar console.
Karena secara teorinya perintah-perintah console dapat digunakan dalam meulis macro.
Baca juga contoh-contoh macro sebagai perbandingan kamu dalam menulis macro.
Learning by doing lebih baik dari pada asking and listening /gg.
do
Membuat openkore untuk menjalankan.
Contoh:
log
Mengirimkan ke console.
Contoh :
pause [n]
Menghentikan baris perintah untuk sementara dalam n detik
Contoh :
call [n]
Memanggil macro nkali. Saat telah selesai maka proses macro akan berlanjut.
release ( | all)
Mengembalikan status automacro dari posisi yang terkunci (oleh fungsi run-once atau lock) atau membuka kembali pemicu berjalannya semua macro saat menggunakan parameter release all.
lock
Mengunci automacro dan menghentikan proses pemeriksaan pemicunya.
stop
Menghentikan macro yang sedang berjalan.
set
Memberikan perintah baris langsung pada tubuh macro/automacro.
orphan method
macro_delay timeout
overrideAI [0|1]
repeat times
exclusive [0|1]
Penggunaan dan Deklarasi Variabel
Apakah variabel?
Variabel adalah suatu nilai yang dapat berubah-ubah, merupakan keterbalikan dari konstanta.
Dalam proses menulis macro, kamu dapat menggunakan variabel yang kamu definisikan sendiri.
Untuk membuat variabel gunakan perintah $variable = nilai , untuk memanggil nilai cukup dengan menggunakan perintah $variable nya. Dapat juga untuk membuat variabel bertambah atau mengurang dengan perintah $variable++ or $variable--.
Perhatian!!
Dalam memberikan nama variabel haruslah mengandung huruf dan angka, selain dari pada itu tidak diperkenankan.
Contoh :
Variabel Khusus
Terdapat variabel khusus yang read-only yang dimulai dengan karakter . (dot/titik)
$.map - peta dimana kamu berada ("prontera")
$.pos - posisi kamu saat ini ("123 234")
$.time - waktu sekarang dengan format unix timestamp ("1131116304")
$.datetime - tanggal dan waktu sekarang ("Fri Nov 4 15:59:36 2005")
$.hp - kondisi hp
$.sp - kondisi sp
$.lvl - kondisi base level
$.joblvl - kondisi job level
$.spirits - kondisi jumlah bulatan-bulatan spirit
$.zeny - kondisi nominal zeny
$.status - kondisi status char (dipisahkan dengan koma jika beberapa status aktif)
$.lastLogMsg - text dalam pemicu console yang memicu kondisi automacro terakhir terpenuhi.
$.lastpub - nama dari player dalam pemicu pubm yang memicu kondisi automacro terakhir terpenuhi
$.lastpubMsg - pesan yang ditulis dalam pemicu pubm
$.lastpm - nama dari player dalam pemicu pm yang memicu kondisi automacro terakhir terpenuhi
$.lastpmMsg - pesan yang ditulis dalam pemicu pm
$.lastguild - nama dari player dalam pemicu guild yang memicu kondisi automacro terakhir terpenuhi
$.lastguildMsg - pesan yang ditulis dalam pemicu guild
$.lastparty - nama dari player dalam pemicu party yang memicu kondisi automacro terakhir terpenuhi
$.lastpartyMsg - pesan yang ditulis dalam pemicu party
$.lastMonster- nama dari monster dalam pemicu monster yang memicu kondisi automacro terakhir terpenuhi
$.lastMonsterPos posisi terakhir yang terdeteksi dari monster ("123 234 prontera")
$.lastMatchN - backreferences for the last regexp match
$.paramN - parameter command line
$.caller - nama automacro yang terakhir terpicu $.hooksaveN - value of a hash key (argument that's given with hook)
Deklarasi Nested Variabel (Variabel Bersarang)
Contoh :
Flow Control dan Label
Dalam penulisan bahasa pemrograman mutakhir terdapat metode fungsi "if .. then", "while", "repeat", "for .. next", "do .. while" dan fungsi pemanggil denominatornya "if", "goto" dan "while".
Macro plugin hanya mendukung ketiga fungsi itu. Karena tidak ada pendefinisian baris ke- maka yang diperlukan adalah label dari fungsi-fungsi yang telah didefinisikan.
Contoh 1
Pendefinisian label goto haruslah mengandung huruf dan angka, selain daripada itu tidak diperkenankan.
Misal : satu_dua_tiga haruslah diganti menjadi SatuDuaTiga
Definisi Kondisi Operator
< kurang dari
<= kurang dari atau samadengan
== samadengan
>= lebih dari atau samadengan
> lebih dari
!= tidak samadengan
~ bagian kiri adalah sebagian dari bagian kanan (dipisahkan dengan koma)
Special Keyword
@npc ( )
Masukkan koordinat dari NPC dan mendapatkan ID-nya jika ditemukan dan -1 jika NPC tidak ditemukan.
@inventory (- )
Mencari dalam inventory kamu- nya dan mendapatkan ID-nya dan -1 jika item tidak ditemukan.
@Inventory (- )
Berfungsi sama dengan @inventory tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@cart (- )
Mencari dalam cart kamu- nya dan mendapatkan ID-nya dan -1 jika item tidak ditemukan.
@Cart (- )
Berfungsi sama dengan @cart tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@storage (- )
Mencari dalam storage kamu- nya dan mendapatkan ID-nya dan -1 jika item tidak ditemukan.
@Storage (- )
Berfungsi sama dengan @storage tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@player ()
Mencari nama pemain dan mendapatkan ID-nya atau -1 jika pemain yang dicari tidak ditemukan.
@vender ()
Mencari nama vending dan mendapatkan ID-nya atau -1 jika vending yang dicari tidak ditemukan.
@store ()
Mencari dalam toko- nya dan mendapatkan ID-nya atau -1 jika item yang dicari tidak ditemukan.
@random (""[, ""[, ...]])
Mendapatkan nilai acak dari salah satu argumen yang ditentukan.
@rand (, )
Mendapatkan nilai acak diantara dan termasuk nilai itu sendiri dan
@invamount (- )
Mendapatkan jumlah dari- dalam inventory
@cartamount (- )
Mendapatkan jumlah dari- dalam cart
@shopamount (- )
Mendapatkan jumlah dari- dalam shop
@storamount (- )
Mendapatkan jumlah dari- dalam storage
@eval ()
Melakukan evaluasi dari yang diberikan
@arg ("", )
Mendapatkan urutan ke kata dari atau null jika kata pada index diluar jangkauan
@config ()
Mendapatkan nilai dari yang ditentukan dalam config.txt
Semua ini cuma hasil copas! /gg
Author : Arief Prastyo Adji
Editor : Lidya Amalia Rahmania
Sumber :
http://www.d-bests.com/viewtopic.php?f=47&t=6326
http://wiki.openkore.com/index.php?title=Macro_plugin
http://archive.kaskus.co.id/thread/883408/
2. Buat folder baru di dalam folder OpenKore dengan nama "plugins".
3. Extract Macro 2.0.2 yang sudah di download ke dalam folder "plugins".
4. Di dalam folder "plugin" tadi akan terdapat macro.pl dan sebuah folder baru yang bernama "macro".
5. Buka config.txt di dalam folder control, masukkan text di bawah ini :
macro_nowarn 16. Buat files baru dengan nama macros.txt di dalam folder control OpenKore yang nantinya akan berisi kumpulan macro atau automacro kamu.
macro_orphans terminate
macro_debug none
macro_readmanual red/chili
Secara hirarki folder openkore kamu seharusnya akan berupa seperti dibawah ini:
OpenKore
|--openkore.pl
|--control
|....-- macros.txt
|--fields
|--logs
|--plugins
|...|-- Macro
|...|...|-- Automacro.pm
|...|...|-- Data.pm
|...|...|-- Parser.pm
|...|...|-- Script.pm
|...|...`-- Utilities.pm
|...`--macro.pl
|--src `--tables
Command Macro
Perintah-perintah di bawah ini dapat langsung dijalankan pada jendela console OpenKore kamu.
macroOptions :[options] [-- parameter(s)]
- repeat n (mengulang macro sebanyak n kali)
- overrideAI (mengutamakan macro diatas AI openkore)
- macro_delay (mengutamakan delay untuk macro yg di tunjuk diatas global delay)
- exclusive (menjaga agar macro yg dirujuk tidak digagalkan akibat macro lain)
- orphan method (metode yg digunakan untuk menangani macro yg ter-sub macro)
macro list
Melihat daftar macro yang sedang berjalan.
macro stop
Menghentikan macro yang sedang berjalan.
macro pause
Melakukan interupsi terhadap macro yang sedang berjalan.
macro resume
Melanjutkan macro yang sedang terinterupsi.
macro version
Melihat versi macro yang kamu gunakan.
macro reset [
Mereset status macro yang sedang berjalan.
macro status
Menampilkan status macro baik yang berjalan atau tidak.
Melakukan Konfigurasi Macro
Macros.txt
saat ini seharusnya kamu sudah punya file macros.txt di folder control. Misalnya :
C:\OpenKore\Control\macros.txtDi file inilah kita akan meletakkan macro dan automacro.
Timeout.txt
File ini berada dalam folder control. Misalnya :
C:\OpenKore\Control\timeout.txtDi file ini kita dapat menambahkan baris macro_delay (detik) untuk membuat macro plugin menjalankan tiap baris perintah.
Menulis Perintah Macro
Perhatian!!
Sebelum kamu mulai menulis macro, diharapkan kamu sudah memahami sepenuhnya tentang perintah-perintah dasar console.
Karena secara teorinya perintah-perintah console dapat digunakan dalam meulis macro.
Baca juga contoh-contoh macro sebagai perbandingan kamu dalam menulis macro.
Learning by doing lebih baik dari pada asking and listening /gg.
do
Membuat openkore untuk menjalankan
Contoh:
macro dudud {Akan memerintahkan openkore untuk pergi ke lokasi kota prontera dengan koordinat x 123, koordinat y 234 untuk duduk dan melakukan public chat "Adit Homo"
do move 123 234 prontera
do sit
do c "Adit Homo"
}
log
Mengirimkan
Contoh :
macro dudud {
log Macro bikin mumet
}
pause [n
Menghentikan baris perintah untuk sementara dalam n detik
Contoh :
macro dudud {
log saya mau brb selama 10 detik
pause 10
log saya sudah kembaliiiiiiii
}
call
Memanggil macro n
release (
Mengembalikan status automacro dari posisi yang terkunci (oleh fungsi run-once atau lock) atau membuka kembali pemicu berjalannya semua macro saat menggunakan parameter release all.
lock
Mengunci automacro dan menghentikan proses pemeriksaan pemicunya.
stop
Menghentikan macro yang sedang berjalan.
set
Memberikan perintah baris langsung pada tubuh macro/automacro.
orphan method
macro_delay timeout
overrideAI [0|1]
repeat times
exclusive [0|1]
Penggunaan dan Deklarasi Variabel
Apakah variabel?
Variabel adalah suatu nilai yang dapat berubah-ubah, merupakan keterbalikan dari konstanta.
Dalam proses menulis macro, kamu dapat menggunakan variabel yang kamu definisikan sendiri.
Untuk membuat variabel gunakan perintah $variable = nilai , untuk memanggil nilai cukup dengan menggunakan perintah $variable nya. Dapat juga untuk membuat variabel bertambah atau mengurang dengan perintah $variable++ or $variable--.
Perhatian!!
Dalam memberikan nama variabel haruslah mengandung huruf dan angka, selain dari pada itu tidak diperkenankan.
Contoh :
macro dudud {Log baris diatas akan menampilkan "HOMO Nagi . Nagi . HOMO"
$var1 = Nagi
$var2 = HOMO
$var3 = $var2 $var1
do c $var3 . $var1 . $var2
}
Variabel Khusus
Terdapat variabel khusus yang read-only yang dimulai dengan karakter . (dot/titik)
$.map - peta dimana kamu berada ("prontera")
$.pos - posisi kamu saat ini ("123 234")
$.time - waktu sekarang dengan format unix timestamp ("1131116304")
$.datetime - tanggal dan waktu sekarang ("Fri Nov 4 15:59:36 2005")
$.hp - kondisi hp
$.sp - kondisi sp
$.lvl - kondisi base level
$.joblvl - kondisi job level
$.spirits - kondisi jumlah bulatan-bulatan spirit
$.zeny - kondisi nominal zeny
$.status - kondisi status char (dipisahkan dengan koma jika beberapa status aktif)
$.lastLogMsg - text dalam pemicu console yang memicu kondisi automacro terakhir terpenuhi.
$.lastpub - nama dari player dalam pemicu pubm yang memicu kondisi automacro terakhir terpenuhi
$.lastpubMsg - pesan yang ditulis dalam pemicu pubm
$.lastpm - nama dari player dalam pemicu pm yang memicu kondisi automacro terakhir terpenuhi
$.lastpmMsg - pesan yang ditulis dalam pemicu pm
$.lastguild - nama dari player dalam pemicu guild yang memicu kondisi automacro terakhir terpenuhi
$.lastguildMsg - pesan yang ditulis dalam pemicu guild
$.lastparty - nama dari player dalam pemicu party yang memicu kondisi automacro terakhir terpenuhi
$.lastpartyMsg - pesan yang ditulis dalam pemicu party
$.lastMonster- nama dari monster dalam pemicu monster yang memicu kondisi automacro terakhir terpenuhi
$.lastMonsterPos posisi terakhir yang terdeteksi dari monster ("123 234 prontera")
$.lastMatchN - backreferences for the last regexp match
$.paramN - parameter command line
$.caller - nama automacro yang terakhir terpicu $.hooksaveN - value of a hash key (argument that's given with hook)
Deklarasi Nested Variabel (Variabel Bersarang)
Contoh :
macro dudud {
$var = dudud
log \$var is "dudud"
${$var} = banget
log \$\$var is \$dudud is "banget"
}
Flow Control dan Label
Dalam penulisan bahasa pemrograman mutakhir terdapat metode fungsi "if .. then", "while", "repeat", "for .. next", "do .. while" dan fungsi pemanggil denominatornya "if", "goto" dan "while".
Macro plugin hanya mendukung ketiga fungsi itu. Karena tidak ada pendefinisian baris ke- maka yang diperlukan adalah label dari fungsi-fungsi yang telah didefinisikan.
Contoh 1
macro dudud {Contoh 2
$i = 0
log pengulangan baris ini terjadi dalam 11 baris (0 .. 10)
while ($i <= 10) as pengulangan
log loop $i
$i++
end pengulangan
}
macro dudud {Perhatian!!
$i = @random ("1", "2", "3")
if ($i == 1) goto satu
if ($i == 2) goto dua
log i sama dengan tiga.
goto end
:satu
log i sama dengan satu
goto end
:dua
log i sama dengan tiga
:end
}
Pendefinisian label goto haruslah mengandung huruf dan angka, selain daripada itu tidak diperkenankan.
Misal : satu_dua_tiga haruslah diganti menjadi SatuDuaTiga
Definisi Kondisi Operator
< kurang dari
<= kurang dari atau samadengan
== samadengan
>= lebih dari atau samadengan
> lebih dari
!= tidak samadengan
~ bagian kiri adalah sebagian dari bagian kanan (dipisahkan dengan koma)
Special Keyword
@npc (
Masukkan koordinat dari NPC dan mendapatkan ID-nya jika ditemukan dan -1 jika NPC tidak ditemukan.
@inventory (
Mencari dalam inventory kamu
@Inventory (
Berfungsi sama dengan @inventory tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@cart (
Mencari dalam cart kamu
@Cart (
Berfungsi sama dengan @cart tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@storage (
Mencari dalam storage kamu
@Storage (
Berfungsi sama dengan @storage tetapi mendapatkan semua ID yang ditemukan dipisahkan dengan koma untuk beberapa item dan -1 jika item tidak ditemukan.
@player (
Mencari nama pemain dan mendapatkan ID-nya atau -1 jika pemain yang dicari tidak ditemukan.
@vender (
Mencari nama vending dan mendapatkan ID-nya atau -1 jika vending yang dicari tidak ditemukan.
@store (
Mencari dalam toko
@random ("
Mendapatkan nilai acak dari salah satu argumen yang ditentukan.
@rand (
Mendapatkan nilai acak diantara
@invamount (
Mendapatkan jumlah dari
@cartamount (
Mendapatkan jumlah dari
@shopamount (
Mendapatkan jumlah dari
@storamount (
Mendapatkan jumlah dari
@eval (
Melakukan evaluasi dari
@arg ("
Mendapatkan urutan ke
@config (
Mendapatkan nilai dari
Semua ini cuma hasil copas! /gg
Author : Arief Prastyo Adji
Editor : Lidya Amalia Rahmania
Sumber :
http://www.d-bests.com/viewtopic.php?f=47&t=6326
http://wiki.openkore.com/index.php?title=Macro_plugin
http://archive.kaskus.co.id/thread/883408/
0 komentar:
Posting Komentar