Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # =============================================================================
- # 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 <shop level: n> 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 =~ /<shop level: [ ]*(\d+)>/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
Advertisement
Add Comment
Please, Sign In to add comment