# ============================================================================= # TheoAllen - Custom Parameter Formula # Version : 1.0 # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (This script documentation is written in informal indonesian language) # ----------------------------------------------------------------------------- # PERHATIAN ~ ! # - Script ini membutuhkan pengetahuan scripting RGSS3 untuk dimaksimalkan # potensinya. Jika kamu mau membuat formula sendiri dan tidak tahu caranya, # kamu bisa tanya scripter lain atau tanya ane # ============================================================================= ($imported ||= {})[:Theo_CustomParamFormula] = true # ============================================================================= # Change Logs: # ----------------------------------------------------------------------------- # 2013.11.12 - Finished Script # ============================================================================= =begin --------------------------------------------------------------------------- Perkenalan : --------------------------------------------------------------------------- Terpikirkan kalau karakter punya formula parameter sendiri? Seperti, MDF si Eric tergantung dengan jumlah MP yang dimiliki. Atau mungkin DEF bergantung pada sisa HP karakter? Silahkan definisikan sendiri. --------------------------------------------------------------------------- Cara penggunaan : --------------------------------------------------------------------------- Pasang script ini dibawah material namun diatas main. Edit konfigurasi dibawah. Pastikan kamu ngedit diantara "def" dan "end" Misalnya : def custom_mdf(ori_param) ori_param + mp/5 end (ori_param adalah original parameter dari karakter) Dari contoh diatas, nilai mdf karakter akan mendapat tambahan 1 setiap punya sisa MP 5. Dalam artian, jika karakter kamu punya MP 100 dan MDF 50, maka hasil MDFnya adalah 50 + (100/5) = 70 Lalu gimana kalau itu hanya berlaku untuk karakter tertentu? Kamu bisa menggunakan "case, when". Seperti ini : def custom_mdf(ori_param) case id when 1 ori_param + mp/5 else ori_param end end Maka, aturan tersebut hanya akan berlaku pada actor yang berID satu. Kamu bisa menambahkan "when" sebanyak yang kalian mau. Dengan syarat, jangan lupa untuk menambahkan "else" diakhirannya. List variable yang dapat kamu pakai : (tidak hanya sebatas ini sebenarnya kalau kamu tahu scripting) - hp >> Sisa HP - mp >> Sisa MP - tp >> Nilai TP - mhp >> Maksimal HP - mmp >> Maksimal MP - atk >> Attack - def >> Defense - mat >> Magic attack - mdf >> Magic defense - agi >> Agility - luk >> Luck - $game_variables[var_id] >> Variable dalam game (ganti var_id dengan angka) --------------------------------------------------------------------------- Terms of use : --------------------------------------------------------------------------- Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau dipake buat komersil, jangan lupa, gw dibagi gratisannya. Jika kamu ingin share hasil custom formula kamu kepada publik, dan kamu minta kredit karena itu, silahkan saja. Asal jangan lupain ane aja =end # ============================================================================= class Game_Actor < Game_Battler # <-- Do not touch # ============================================================================= # Disini kamu akan mendefinisikan formula yang akan kamu buat sendiri # ============================================================================= Param_Base = false # Parameter dasar? (liat keterangannya dibawah) # -------------------------------------------------------------------------- # True >> Nilai dari ori_param adalah mentahan dari database. Tidak ada # nilai tambahan seperti hasil dari perhitungan feature # False >> Maka nilai dari ori_param adalah sudah hasil olahan dari # perhitungan feature dan yang lainnya # -------------------------------------------------------------------------- # * ) Maximum MP # -------------------------------------------------------------------------- def custom_mhp(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Maximum MP # -------------------------------------------------------------------------- def custom_mmp(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Attack Point # -------------------------------------------------------------------------- def custom_atk(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Defense Point # -------------------------------------------------------------------------- def custom_def(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Magic Attack # -------------------------------------------------------------------------- def custom_mat(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Magic Defense # -------------------------------------------------------------------------- def custom_mdf(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Agility Point # -------------------------------------------------------------------------- def custom_agi(ori_param) ori_param # <-- definisikan disini end # -------------------------------------------------------------------------- # * ) Luck Point # -------------------------------------------------------------------------- def custom_luk(ori_param) ori_param # <-- definisikan disini end # ============================================================================= # Akhir dari konfigurasi # ============================================================================= end param_name = Game_Actor::Param_Base ? "param_base" : "param" eval(" class Game_Actor < Game_Battler alias theo_custom_param #{param_name} def #{param_name}(param_id) ori_param = theo_custom_param(param_id) case param_id when 0 # MHP custom_mhp(ori_param) when 1 # MMP custom_mmp(ori_param) when 2 # ATK custom_atk(ori_param) when 3 # DEF custom_def(ori_param) when 4 # MAT custom_mat(ori_param) when 5 # MDF custom_mdf(ori_param) when 6 # AGI custom_agi(ori_param) when 7 # LUK custom_luk(ori_param) end end end ")