Wednesday, August 21, 2013

List kondisi berdasar script

Script as conditional branch
Level : Intermediate - Skilled
Pembukaan :
Dalam conditional branch di eventing, kalian tau bahwa ada fitur script call. Dan juga beberapa script orang ada yg menggunakan script sebagai sarana conditional branch mereka. Salah satu contohnya adalah script gw Page Condition Eval Script. Atau Crafting system gw dan masih banyak lagi disana. Tentunya ini bisa jadi masalah bagi mereka yang ngga ngerti script. Post ini wa mau ngelist kondisi-kondisi yang bisa ditulis dengan cara script. (Aslinya bisa lebih banyak dari ini)

Sebelum ke masalah yang lebih lanjut. Wa mau kasi list simbol pembanding yang digunakan dalam script yang nanti bisa kamu gunakan buat nulis kondisi.
  • ( == ) Sama dengan
  • ( != ) Tidak sama dengan
  • ( < ) Lebih kecil dari
  • ( > ) Lebih besar dari
  • ( <= ) Lebih kecil atau sama dengan
  • ( >= ) Lebih besar atau sama dengan
Contoh penggunaannya ntar gw jelasin dibawah

--------------------------------------------------------------

Game Switches
Dalam RPG Maker terdapat switch. Bagi eventer pasti udah tau apa itu switch. Untuk mengevaluasi apakah switch tersebut ON atau OFF, kamu bisa langsung tulis seperti ini.
$game_switches[id]
Id adalah id switch yang mau kamu evaluasi. Hasilnya akan bernilai benar kalo switch tersebut ON.

-------------------------------------------------------------- 

Game Variables
Dalam RPG Maker juga terdapat built-in variable yang bisa dipake dimana saja. Untuk mengambil nilai variablenya, langsung aja tulis dengan format.
$game_variables[id] # <simbol> <nilai yg dibandingkan>
Contoh penulisannya bisa seperti ini. 
$game_variables[1] <= 30
# variable id lebih kecil atau sama dengan 30
 Kamu juga bisa membandingkan dua variable sekaligus. 
$game_variables[1] == $game_variables[2]
# apakah variable 1 sama dengan variable 2?
Silahkan bereksperiment

--------------------------------------------------------------  

Party Inventory
Dalam script bawaan disediakan dua fungsi. Yaitu fungsi untuk mengecek apakah party punya sebuah item tertentu dan jumlah item tersebut. Langsung saja, dari fungsi yang pertama.

Party punya item tertentu?
Untuk pengecekan apakah party punya item tertentu atau tidak, kamu cukup menuliskannya dengan format template seperti ini. 
$game_party.has_item?(item, include_equip)
Item adalah item dari database. Kamu bisa menuliskannya dengan cara $data_items[id_item]. Jika yang ingin kamu cek adalah weapon atau armor, kamu bisa menuliskannya dengan cara $data_armors[id_armor] atau $data_weapons[id_weapon]. 

Include equip adalah untuk menentukan apakah termasuk yg diequip pada karakter. Kamu bisa mengisinya dengan "true" atau "false".

Contoh penulisannya kek gini. 
$game_party.has_item?($data_weapons[3],true)
Silahkan bereksperimen

Party punya item dalam jumlah tertentu?
Fungsi yang kedua adalah dengan pengecekan jumlah item. Kamu bisa tulis langsung dengan format template seperti ini 
$game_party.item_number(item) # <simbol> <nilai>
Item isinya sama kek sebelumnya. Make database $data_items dll. Kamu jg harus ngebandingin nilainya biar ntar bernilai benar ato salah. Misalnya gini.

$game_party.item_number($data_items[10]) >= 10
# apakah item dengan id 10 jumlahnya lebih dari 10?

Silahkan bereksperimen sendiri 


-------------------------------------------------------------- 

Actor Related
Sekarang berdasar kondisi actor. Banyak hal yg bisa dicek. Misalnya actor dalam dalam party, actor kena status x, atau actor lagi gunain equip tertentu. Langsung aja deh ya :D

Actor ada di party?
Untuk mengecek apakah seorang actor dalam party kamu bisa langsung menggunakan template seperti ini

$game_party.members.include?($game_actors[id])
Id adalah id actor dalam database.

Actor punya nama tertentu?
Bagian sini adalah untuk mengecek apakah actor tertentu menggunakan nama tertentu. Seperti ini contohnya
$game_actors[1].name == "Ralph"

Actor class
Untuk mengecek seorang actor lagi menempati class tertentu, kamu bisa mengeceknya dengan seperti ini

$game_actors[1].class_id == 3
# apakah actor id 1 class idnya adalah 3

Actor punya skill?
Untuk mengecek seorang actor udah punya skill tertentu, kamu bisa menggunakan fungsi seperti ini
$game_actors[id].skill_learned?($data_skills[skill_id])
Skill id adalah id skill dalam database


Actor menempati level tertentu?
Untuk mengecek level actor, kamu bisa gunain script call kek gini
$game_actors[id].level # <simbol> <nilai>

Misalnya
$game_actors[1].level > 10
# actor 1 levelnya lebih besar dari 10 


Actor lagi make equip?
Equip dibagi menjadi dua. Yaitu weapon dan armor. Untuk ngecek equip seorang actor tertentu, kamu bisa ngeceknya dengan nulis kek gini
$game_actors.equips.include?($data_weapons[2]) 

ato kalo mau armor
$game_actors.equips.include?($data_armor[2]) 

Actor lagi kena status?
Untuk ngecek seorang actor kena status tertentu, kamu bisa gunain template kek gini
$game_actors.state?(state_id) 

Actor punya nilai HP/MP/TP sekian persen?
Untuk ngecek nilai HP ato MP dari actor, kamu bisa 
$game_actors[id].hp_rate
$game_actors[id].mp_rate
$game_actors[id].tp_rate
# Masing2 nilainya adalah antara 0.0 - 1.0
# Semisal kamu mo ngecek HP actor tertentu apakah
# kurang dari 50 persen, gunain kek gini
$game_actors[1].hp_rate > 0.5

--------------------------------------------------------------

Jumlah gold
Untuk mengecek jumlah gold yang terdapat dalam party, kamu tinggal menuliskannya kek gini.
$game_party.gold > 100 
# apakah gold lebih dari 100? 

--------------------------------------------------------------

Player lagi berada di map tertentu? 
Untuk ngecek player lagi ada di map tertent, kamu bisa gunain seperti in
$game_map.map_id == 1 # apakah lagi di map dengan ID 1 ?

Kalo pengen ngecek banyak, kamu bisa gunain kek gini
[1,2,3,4,5].any? {|id| $game_map.map_id == id}
# Apakah player lagi ada di map dengan id 1 - 5? 

--------------------------------------------------------------
Sekian aja list tutorial script call yg bisa dipake buat kondisi-kondisi. Ada kemungkinan gw bakal buka part keduanya. Entah kapan. Kalo ada pertanyaan soal ini langsung aja reply disini.

2 comments:

  1. thanks ka ...
    wheew mesti beljar dari dasar kayanya ane .. T..T ...
    itu script ruby kan? bukunya versi indo ada dijual ga ya ka?

    ReplyDelete
    Replies
    1. Kalo Ruby ga tau kk. Kalo langsung RGSS3 ada ko di blog ini. Cari di bagian tutorial

      Delete

Comment rules :
1. Stay in topic or I will ignore
2. Comment must be in either Bahasa Indonesian or English.

I appreciate any form of comments. However, please do not spam!