TheoAllen

Theo - Custom Parameter Formula

Nov 11th, 2013
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.06 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Custom Parameter Formula
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # -----------------------------------------------------------------------------
  7. # PERHATIAN ~ !
  8. # - Script ini membutuhkan pengetahuan scripting RGSS3 untuk dimaksimalkan
  9. #   potensinya. Jika kamu mau membuat formula sendiri dan tidak tahu caranya,
  10. #   kamu bisa tanya scripter lain atau tanya ane
  11. # =============================================================================
  12. ($imported ||= {})[:Theo_CustomParamFormula] = true
  13. # =============================================================================
  14. # Change Logs:
  15. # -----------------------------------------------------------------------------
  16. # 2013.11.12 - Finished Script
  17. # =============================================================================
  18. =begin
  19.   ---------------------------------------------------------------------------
  20.   Perkenalan :
  21.   ---------------------------------------------------------------------------
  22.   Terpikirkan kalau karakter punya formula parameter sendiri? Seperti, MDF
  23.   si Eric tergantung dengan jumlah MP yang dimiliki. Atau mungkin DEF
  24.   bergantung pada sisa HP karakter? Silahkan definisikan sendiri.
  25.  
  26.   ---------------------------------------------------------------------------
  27.   Cara penggunaan :
  28.   ---------------------------------------------------------------------------
  29.   Pasang script ini dibawah material namun diatas main.
  30.   Edit konfigurasi dibawah. Pastikan kamu ngedit diantara "def" dan "end"
  31.   Misalnya :
  32.  
  33.   def custom_mdf(ori_param)
  34.     ori_param + mp/5
  35.   end
  36.  
  37.   (ori_param adalah original parameter dari karakter)
  38.   Dari contoh diatas, nilai mdf karakter akan mendapat tambahan 1 setiap
  39.   punya sisa MP 5. Dalam artian, jika karakter kamu punya MP 100 dan MDF 50,
  40.   maka hasil MDFnya adalah 50 + (100/5) = 70
  41.  
  42.   Lalu gimana kalau itu hanya berlaku untuk karakter tertentu?
  43.   Kamu bisa menggunakan "case, when". Seperti ini :
  44.  
  45.   def custom_mdf(ori_param)
  46.     case id
  47.     when 1
  48.       ori_param + mp/5
  49.     else
  50.       ori_param
  51.     end
  52.   end
  53.  
  54.   Maka, aturan tersebut hanya akan berlaku pada actor yang berID satu.
  55.   Kamu bisa menambahkan "when" sebanyak yang kalian mau. Dengan syarat,
  56.   jangan lupa untuk menambahkan "else" diakhirannya.
  57.  
  58.   List variable yang dapat kamu pakai :
  59.   (tidak hanya sebatas ini sebenarnya kalau kamu tahu scripting)
  60.  
  61.   - hp    >> Sisa HP
  62.   - mp    >> Sisa MP
  63.   - tp    >> Nilai TP
  64.   - mhp   >> Maksimal HP
  65.   - mmp   >> Maksimal MP
  66.   - atk   >> Attack
  67.   - def   >> Defense
  68.   - mat   >> Magic attack
  69.   - mdf   >> Magic defense
  70.   - agi   >> Agility
  71.   - luk   >> Luck
  72.  
  73.   - $game_variables[var_id] >> Variable dalam game (ganti var_id dengan angka)
  74.  
  75.   ---------------------------------------------------------------------------
  76.   Terms of use :
  77.   ---------------------------------------------------------------------------
  78.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  79.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  80.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  81.  
  82.   Jika kamu ingin share hasil custom formula kamu kepada publik, dan kamu
  83.   minta kredit karena itu, silahkan saja. Asal jangan lupain ane aja
  84.  
  85. =end
  86. # =============================================================================
  87. class Game_Actor < Game_Battler  # <-- Do not touch
  88. # =============================================================================
  89. # Disini kamu akan mendefinisikan formula yang akan kamu buat sendiri
  90. # =============================================================================
  91.     Param_Base = false   # Parameter dasar? (liat keterangannya dibawah)
  92.   # --------------------------------------------------------------------------
  93.   # True  >> Nilai dari ori_param adalah mentahan dari database. Tidak ada
  94.   #          nilai tambahan seperti hasil dari perhitungan feature            
  95.   # False >> Maka nilai dari ori_param adalah sudah hasil olahan dari
  96.   #          perhitungan feature dan yang lainnya
  97.   # --------------------------------------------------------------------------
  98.   # * ) Maximum MP
  99.   # --------------------------------------------------------------------------
  100.   def custom_mhp(ori_param)
  101.     ori_param    # <-- definisikan disini
  102.   end
  103.   # --------------------------------------------------------------------------
  104.   # * ) Maximum MP
  105.   # --------------------------------------------------------------------------
  106.   def custom_mmp(ori_param)
  107.     ori_param   # <-- definisikan disini
  108.   end
  109.   # --------------------------------------------------------------------------
  110.   # * ) Attack Point
  111.   # --------------------------------------------------------------------------
  112.   def custom_atk(ori_param)
  113.     ori_param   # <-- definisikan disini
  114.   end
  115.   # --------------------------------------------------------------------------
  116.   # * ) Defense Point
  117.   # --------------------------------------------------------------------------
  118.   def custom_def(ori_param)
  119.     ori_param   # <-- definisikan disini
  120.   end
  121.   # --------------------------------------------------------------------------
  122.   # * ) Magic Attack
  123.   # --------------------------------------------------------------------------
  124.   def custom_mat(ori_param)
  125.     ori_param   # <-- definisikan disini
  126.   end
  127.   # --------------------------------------------------------------------------
  128.   # * ) Magic Defense
  129.   # --------------------------------------------------------------------------
  130.   def custom_mdf(ori_param)
  131.     ori_param   # <-- definisikan disini
  132.   end
  133.   # --------------------------------------------------------------------------
  134.   # * ) Agility Point
  135.   # --------------------------------------------------------------------------
  136.   def custom_agi(ori_param)
  137.     ori_param   # <-- definisikan disini
  138.   end
  139.   # --------------------------------------------------------------------------
  140.   # * ) Luck Point
  141.   # --------------------------------------------------------------------------
  142.   def custom_luk(ori_param)
  143.     ori_param   # <-- definisikan disini
  144.   end
  145. # =============================================================================
  146. # Akhir dari konfigurasi
  147. # =============================================================================
  148. end
  149. param_name = Game_Actor::Param_Base ? "param_base" : "param"
  150. eval("
  151. class Game_Actor < Game_Battler
  152.  alias theo_custom_param #{param_name}
  153.  def #{param_name}(param_id)
  154.    ori_param = theo_custom_param(param_id)
  155.    case param_id
  156.    when 0  # MHP
  157.      custom_mhp(ori_param)
  158.    when 1  # MMP
  159.      custom_mmp(ori_param)
  160.    when 2  # ATK
  161.      custom_atk(ori_param)
  162.    when 3  # DEF
  163.      custom_def(ori_param)
  164.    when 4  # MAT
  165.      custom_mat(ori_param)
  166.    when 5  # MDF
  167.      custom_mdf(ori_param)
  168.    when 6  # AGI
  169.      custom_agi(ori_param)
  170.    when 7  # LUK
  171.      custom_luk(ori_param)
  172.    end
  173.  end
  174. end
  175. ")
Advertisement
Add Comment
Please, Sign In to add comment