[VXAce] Tutorial Version 1.0
Level : Intermediate
Sesuatu didalam game yg keberadaannya cukup powerful dan bisa membuat alur game bakal berubah total biasanya diproteksi dengan baik oleh developernya. Entah mungkin dengan melawan boss yg kuat, melewati dungeon yg rumit, atau mengharuskan player menginputkan password untuk mengaksesnya. Disini saya akan mengajarkanmu bagaimana cara membuat event yg mengharuskan player untuk menginputkan password untuk mengakses sesuatu.
Cara membuat event yang mengharuskan player untuk menginputkan password
Preparation
Disini saya akan membuat sebuah treasure chest yang ketika ingin dibuka player harus menginputkan password. Alat2 yang harus disiapkan :
- Event chest yang sudah jadi (kalo mau cepat tinggal klik kanan event > quick event creation > treasure chest > isikan apa yang mau dijadikan sbg hadiah di treasure chestnya tar) .
- Sebuah dummy actor (actor yang propertiesnya kosong) yang namanya entar akan digunakan sebagai syarat benar salah passwordnya. Disini saya memakai actor urutan ke 11 di database sebagai dummy actornya.
- Pengetahuan yang cukup tentang event. Kalo belum banyak tau, belajarlah kesini.
Semua persiapan sudah selesai, sekarang saatnya eksekusi.
Execution
Event treasure chest yang tadinya kita buat kita akan edit sedikit dari bagiannya. Sekarang buka event treasure chestmu.
Jadi skenario pengaksesan treasure chest bakalan seperti ini algoritmanya :
1. Player diberikan teks konfirmasi untuk membuka treasure chest dengan password.
2. Player disodorkan sebuah form penginputan password.
3. Cek password. Kalo password benar, pergi ke langkah nomor 4. Kalo password salah, pergi ke langkah nomor 5.
4. Treasure chest terbuka, memberikan player hadiahnya. Pergi ke langkah nomor 6.
5. Player diberikan konfirmasi bahwa password salah.
6. Event selesai.
Oke skenarionya sudah ada, sekarang kita kerjakan berurutan :
1. Player diberikan teks konfirmasi untuk membuka treasure chest dengan password.
Sebelum command "Play SE" yang sudah ada, kita selipkan command "Show Text" diatasnya yang bertuliskan bahwa player harus menginputkan password untuk membuka treasure chest.
Dibagian command "Play SE" yang sudah terinput, kita selipkan command baru |
Kita pilih command "Show Text" untuk menampilkan tulisan konfirmasi |
Atur tulisannya. Contohnya seperti ini |
Hasilnya setelah diselipkan command "Show Text" yang berisikan tulisan konfirmasi |
Kembali lagi kita akan menyelipkan sebuah command yang berguna untuk penginputan password. Command yang akan kita gunakan kali ini adalah command "Name Input Processing". Nama dari actor dummy tadi yang akan kita gunakan sebagai syarat benar salah dari passwordnya. Jadi nama actor (di tutorial ini actor urutan ke 11) adalah passwordnya.
Dibagian command "Play SE" yang sudah terinput, kita selipkan command baru |
Kita pilih command "Name Input Processing" untuk menampilkan jendela penginputan nama actor. Ini berlaku seolah2 penginput password |
Pilih actor dummy tadi (actor urutan ke 11) yang akan dieksekusi di "Name Input Processing". Jangan lupa max characters di set ke maximum (16) agar player bisa leluasa menginput password |
Hasilnya setelah diselipkan command "Name Input Processing" untuk input passwordnya |
Untuk langkah ini kita akan menggunakan command "Conditional Branch" dengan syarat nama aktor dummy tadi sesuai dengan password yang kita inginkan. Contohnya kita ingin password yang sebenarnya adalah "buka saja" (tanpa tanda kutip).
Dibagian command "Play SE" yang sudah terinput, kita selipkan command baru |
Kita pilih command "Conditional Branch" untuk mengecek kondisi bercabang apakah passwordnya benar atau salah |
Model jadinya seperti ini. Tapi ini sebenarnya belum semuanya seh, karena ketika benar maka command kosong yang bakalan dijalankan karena belum diisikan command. |
Karena ketika passwordnya benar maka treasure chest terbuka dan memberikan player hadiahnya, kita cut saja command yang udah jadi tadi. |
Terus paste kan dibagian ini |
Hasil akhir setelah menambahkan commmand "Conditional Branch" |
4. Treasure chest terbuka, memberikan player hadiahnya. Pergi ke langkah nomor 6.
Langkah nomor 4 udah diselesaiin di langkah nomor 3 lewat cutpass command lama. :3
5. Player diberikan konfirmasi bahwa password salah.
Untuk bagian konfirmasi password salah, kita selipkan command "Show Text" dibagian else dari conditional branch yang tadi.
Di bagian else dari conditional branch, kita tambahkan command baru |
Kita pilih command "Show Text" untuk menampilkan tulisan konfirmasi bahwa password salah |
Atur tulisannya. Contohnya seperti ini |
Hasil akhirnya |
Ya udah kosongin aja, tar selesai ndiri kok. :v ~
Result
Ayo playtest untuk melihat hasilnya
Percoban pertama |
Dicoba dengan password salah |
Responnya adalah password salah |
Percobaan kedua dengan password yang benar |
Responnya adalah treasure chest terbuka yang menandakan password benar |
Percobaan ketiga. Tapi gimana donk kalo yang tulis itu orang alay kaek gini? Padahal passwordnya benar lho, tapi captionnya ga benar :v ~ lol |
Responnya udah jelas password salah karena captionnya beda |
Terus harus gimana donk?Kita akan rubah kondisi di conditional branchnya. Itu aja yang dirubah, kita akan pake trik regex buat cek nilai kebenaran apakah string nama dengan string pengecekan sama atau tidak.
Regex itu apaan?Regex itu singkatan dari Regular Expression, sebuah urutan karakter yang membentuk pola khusus, biasa digunakan dalam pencarian karakter yang disamakan dengan karakter inputtan, dan juga bisa untuk fungsi kaek find replace. Untuk lebih jelas baca disini
Sekarang ayo kita coba trik regex. Edit kembali conditional branchmu.
Edit conditional branchnya |
Tadi kan di tab 2 kita pake actor, sekarang kita pake penulisan script buat jadi cek kondisinya |
Hasil akhirnya setelah dengan trik regex |
Nah dengan trik regex tersebut, maka tulisan alay pun bisa terbaca dengan benar asalkan passwordnya memang benar tapi captionnya beda2.
Itu adalah semacam snippet yang berguna untuk mengecek sama tidaknya sebuah string dengan regex. Di kolom script di conditional branch kita tadi menuliskannya seperti ini :Ga keliatan jelas, itu yang ada di kolom script apaan?
!($game_actors[11].name =~ /buka saja/i).nil?
Okelah saya kasih penjelasan dikit. Disini kita memakai regex buat mengecek tulisan alay (lol) biar tetap benar passwordnya walau captionnya beda2. $game_actors[11].name itu mengakses data actor ($game_actors) urutan ke 11 ($game_actors[11]). Data yang diakses adalah nama actor ($game_actors[11].name). Tanda =~ digunakan untuk cek kesamaan antara karakter yang dibandingkan. Biasanya memakai tanda sama dengan (=) untuk karakter biasa, nah untuk karakter regex dipakai tanda sama dengan tilde (=~). Tulisan /buka saja/i adalah bentuk regex yang akan dicari nilai kebenarannya saat dibandingkan. Untuk regex biasa diawali dengan slash dan diakhiri dengan slash (//). Di tengah2 slash tersebut kita akan inputkan karakter pembandingnya, dimana disini karakter pembandingnya adalah kata "buka saja". Huruf i diakhir dari regex tersebut adalah sebuah karakter khusus regex yang membolehkan kita untuk mengecek nilai kebenaran dari perbandingan regexnya TANPA memperhatikan besar kecil dari karakternya, dengan kata lain fungsi i di regex dipake untuk case insensitive. Semua tulisan tadi ($game_actors[11].name =~ /buka saja/i) diletakkan di tanda kurung dan diberi fungsi .nil? di akhirnya karena saat regex tidak mendapatkan karakter yang sama perbandingannya (perbandingannya salah), akan mengembalikan nilai nil, bukan nilai false.
Ini pernyataan dari helpfile saat regex tidak menemukan karakter yang sama |
Karena ketika hasil pengecekan salah dan hasil kembalian nilainya adalah true, maka kita harus membalikkan nilai kebenarannya agar hasil pengecekan salah akan mengembalikan nilai false, solusinya gunakan tanda seru (!).
Sekarang kita playtest lagi untuk melihat hasilnya. Kita gunakan tulisan alay (lol) untuk mengecek nilai kebenarannya.
Percobaan keempat. Sekarang kita liat apakah tulisan alay seperti ini bakal ngebuka treasure chestnya atau tidak. |
Wah terbuka. Horee berarti tulisan alay work donk. Lololol :v :v ~~~ |
Sekian tutorial dari saya, semoga bermanfaat.
3 comments
mungkin bisa di coba, kayanya oke, terimakasih banyak atas infonya...
Replynice info
Replycoba di RM2003 ah siapa tahu bisa~
Hallo gan mohon di jwb kalo blog ini masih aktif .. Saya sudah berhasil dengan tutor abang tapi pas melakukan battle dummy karakter nya terlihat di battle jadi solusi nya gimana bang supaya pass battle dummy gak kliatan
ReplyPost a Comment