# ============================================================================= # TheoAllen - Item Shop Level # Version : 1.0 # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (This script documentation is written in informal indonesian language) # ============================================================================= ($imported ||= {})[:Theo_ItemShopLevel] = true # ============================================================================= # CHANGE LOGS: # ----------------------------------------------------------------------------- # 2013.09.28 - Finished script # ============================================================================= =begin Perkenalan : Script ini ngebikin sebuah item bisa dibeli di toko jika level party udah memenuhi syarat. Cara penggunaan : Pasang dibawah material namun diatas main. Gunakan tag pada notebox item, weapon, dan armor. Dimana n adalah level minimal yg harus dimiliki party. Edit konfigurasi pengecekan level jika perlu 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. =end # ============================================================================= # Sedikit konfigurasi # ============================================================================= LevelChecker = 1 # Mode pengecekan # 1 - Level tertinggi dari anggota party # 2 - Level rata-rata dari anggota party (butuh Theo - Condition Checker) # 3 - Level terendah dari anggota party (butuh Theo - Condition Checker) Eliminate_Excluded_Item = true # [True] Kalo level party belom memasuki syarat, item ngga akan ditampilkan # [False] Item akan ditulis transparan kalo item belom bisa dibeli # ============================================================================= # Akhir dari konfig # ============================================================================= class << DataManager alias theo_shoplevel_load_db load_database def load_database theo_shoplevel_load_db load_shoplevel_db end def load_shoplevel_db ($data_items + $data_weapons + $data_armors).compact.each do |db| db.load_shop_level end end end class RPG::Item < RPG::UsableItem attr_accessor :shop_level def load_shop_level @shop_level = 1 note.split(/[\r\n]+/).each do |line| if line =~ //i @shop_level = $1.to_i end end end end class RPG::EquipItem < RPG::BaseItem attr_accessor :shop_level def load_shop_level @shop_level = 1 note.split(/[\r\n]+/).each do |line| if line =~ /<(SHOP_LEVEL|shop level): [ ]*(\d+)>/i @shop_level = $1.to_i end end end end class Window_ShopBuy < Window_Selectable alias theo_shoplevel_make_items make_item_list def make_item_list theo_shoplevel_make_items return unless Eliminate_Excluded_Item @data.delete_if do |data| sufficient_party_level?(data) end end def sufficient_party_level?(item) case LevelChecker when 1 item.shop_level > $game_party.highest_level when 2 item.shop_level > $game_party.average_level rescue display_error when 3 item.shop_level > $game_party.lowest_level rescue display_error end end alias theo_shoplevel_enable? enable? def enable?(item) theo_shoplevel_enable?(item) && sufficient_party_level?(item) end def display_error msgbox "Requires Theo - Condition Checker" SceneManager.exit end end