do command
do command adalah command untuk mengeksekusi perintah di console. sederhananya kita bisa menyuruh bot berjalan dengan mengetik "move koodinatx koordinaty" di layar console, maka do command ini berfungsi untuk melakukan perintah yang sama seperti yang bisa dilakukan dengan console command. syntax cara penulisannya sangat sederhana. yaitu do[spasi]command
macam-macam contoh:
do move 100 100 #memberi command move ke koordinat 100 100#
do c halo #memberi command chat untuk mengatakan halo#
do pm amelo halo #memberi command whisp kepada amelo untuk mengatakan halo#
do sp heal amelo 10 #memberi command heal lvl 10 kepada amelo#
untuk list console commandnya bagi yang udh sering menggerakan bot secara manual saya rasa sudah cukup hapal yang penting2. namun bagi yang belum hapal bisa langsung di cek ke http://www.openkore.com/index.php/Category:Console_Command atau klo emang ternyata kurang ngerti bahasa inggris nanti saya bikinin listnya beserta penjelasannya dalam bahasa indonesia.
console condition & regexp
console condition adalah condition yang terpicu dengan tulisan pada console. saya misalkan jika di console ada tulisan "heal" maka agar automacro terpicu oleh kata heal di console, kita dapat menuliskan trigger console seperti ini console /heal/ namun ada beberapa rule disini yang disebut regular expression atau regexp. dapat kita lihat bahwa saya menulis kata heal di antara tanda / , karena smua tanda yang berada diantara tanda itu harus ditulis dengan aturan regular expression. apa sih gunanya regexp? guna regexp adalah untuk membuat console menjadi kurang sensitif terhadap penulisan. contoh sederhana misalkan kita ingin jika ada tulisan "nama : heal" di console, namun karena nama ini bisa berubah2 maka tidak mungkin jika kita harus menghapal nama lalu membuat ratusan automacro untuk masing2 player kan? maka disini dibutuhkan regexp untuk mempersingkatnya. kata player : heal dapat di convert menjadi console /\w+ : heal/ jika kita asumsikan bahwa nama merupakan kumpulan huruf yang lebih dari 1. dibawah saya akan memberikan beberapa lambang atau metacharacter yang perlu di ketahui untuk membuat regular expression
jenis karakter :
\s ---> "space" karakter spasi, tab, newline
\S ---> selain spasi, tab dan newline
\w ---> "word" karakter huruf dan angka dan _
\W ---> selain karakter huruf dan angka dan _
\d ---> "decimal" karakter angka
\D ---> selain karakter angka
\n ---> "newline" baris baru
. ---> semua karakter termasuk angka huruf namun newline tidak termasuk
keterangan jumlah karakter :
+ ---> mengindikasikan bahwa karakter didepannya berjumlah > 1 misal \w+
? ---> mengindikasikan bahwa karakter didepannyaberjumlah 0 atau 1 \s?
* ---> mengindikasikan bahwa karakter didepannyaberjumlah 0 atau > 1 \d*
{m,n}---> menunjukan bahwa karakter didepannya tidak boleh kurang dari m dan tidak boleh lebih dari n, misal a{1,3} maka cocok dengan a, aa, dan aaa
keterangan tambahan :
^ ---> menunjukan bahwa karakter setelahnya berada pada baris paling awal
$ ---> menunjukan bahwa karakter sebelumnya berada pada akhir baris
| ---> berfungsi sebagai kata ganti "atau" misal a|b , maka kata a atau b cocok
[ ] ---> hanya cocok pada 1 karakter yang ada didalamnya misal [abc] hanya cocok dengan a, b, dan c atau [a-c] hanya cocok dengan a, b, c.
[^ ] ---> hanya cocok dengan karakter selain didalamnya misal [^abc] cocok dengan d, e, f dst, atau [^a-c] cocok dengan karakter selain a, b, c
( ) ---> berguna untuk mengambil kata di dalam kurung menjadi $.lastMatchn
\ ---> berguna untuk mengubah metacharacter menjadi character biasa, contoh tanda ( ) merupakan metacharacter, maka agar dibaca bukan metacharacter kita harus menuliskannya dengan \( \)
contoh pengaplikasian console dan regexp :
pada gambar diatas ada sebuah console dengan mode wxstart. disini kita mencoba membuat automacro dengan trigger sebuah bendera. untuk kita perlu melihat di console, apa yang ditulis di console saat seorang player menggunakan bendera. disitu ternyata tertera tulisan
[dist=2.8] ArdianiGuilotineCross (19): *Flag 1*
disini karena angka disebelah dist adalah jarak player maka jelas bahwa angka tersebut bisa berubah, lalu nick player yang diatas merupakan ArdianiGuillotineCross juga selalu berubah tergantung nick playernya namun selalu berupa karakter selain spasi. nomer disebelah player juga adalah id player pada index console yang selalu berubah2. flag sendiri memiliki nomer untuk bendera korea dan indonesia. maka setelah mengetahui dibagian mana saja yang bisa berubah2, kita dapat mengganti karakter berubah itu menjadi metacharacter dan jangan lupa bahwa jika kata2 tersebut sudah berisi metacharacter seperti [ ] maka kita harus menambahkan tanda \ agar program tidak membacanya sebagai metacharacter, sehingga menjadi seperti ini
console /^\[dist=.+\] \S+ \(\d+\): \*Flag\s\d\*$/
namun jika kita ingin mengambil nick pemain dan nomer index pemain, kita harus memberi tanda kurung pada masing2 bagian yang ini kita ambil sehingga menjadi seperti ini
console /^\[dist=.+\] (\S+) \(\(d+)\): \*Flag\s\d\*$/
dapat dilihat bahwa skrg terdapat 2 tanda kurung dr kiri ke kanan yaitu
(\S+) sebgai nick
(\d+) sebagai index player
jika kita ingin memakainya pada macro, maka kita perlu memakai special variable yang disediakan trigger console yaitu $.lastMatchN, n adalah nomer lastMatch yang dihitung dari kiri ke kanan. sehingga dapat ditulis
$.lastMactch1 sebagai nick
$.lastMactch2 sebagai index player
sehingga jika dibuat menjadi automacro lengkap untuk memberikan bless kepada player yang menggunakan bendera dapat ditulis menjadi seperti ini
automacro belajar {
console /^\[dist=.+\] (\S+) \(\(d+)\): \*Flag\s\d\*$/
exclusive 1
call {
$name = $.lastMatch1
$i = $.lastMatch2
do sp 34 $i 10
do c semangat ya $name ^^
}
}
No comments:
Post a Comment