# ============================================================================= # TheoAllen - Minimum Level Equip Requirement # Version : 1.0c # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (This script documentation is written in informal indonesian language) # ============================================================================= ($imported ||= {})[:Theo_MinLevelEquip] = true # ============================================================================= # CHANGE LOGS: # ----------------------------------------------------------------------------- # 2013.09.21 - Bug fix when optimizing equip # 2013.08.10 - Bug fix when unequip item # 2013.08.05 - Finished script # ============================================================================= =begin Perkenalan : Script ini ngebikin setiap equip bisa disetting level minimalnya buat digunain Cara penggunaan : Pasang dibawah material namun diatas main Gunakan notetag pada note equip. Dimana n adalah level minimal yang dibutuhkan untuk diequip 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 # ============================================================================= # Tidak ada konfigurasi # ============================================================================= class << DataManager alias theo_equip_level_load_db load_database def load_database theo_equip_level_load_db load_equip_minimum_level end def load_equip_minimum_level ($data_armors + $data_weapons).compact.each do |equip| equip.load_minimum_level_req end end end class RPG::EquipItem < RPG::BaseItem attr_accessor :minimum_level def load_minimum_level_req @minimum_level = 1 self.note.split(/[\r\n]+/).each do |line| case line when /<(?:MIN_LEVEL|min level): [ ]*(\d+)>/i @minimum_level = $1.to_i end end end end class Window_EquipItem < Window_ItemList alias theo_min_equip_level_enable? enable? def enable?(item) return theo_min_equip_level_enable?(item) && sufficient_level?(item) end def sufficient_level?(item) return true unless item return @actor.level >= item.minimum_level end end class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # Overwrite Optimize Equipment #-------------------------------------------------------------------------- def optimize_equipments clear_equipments equip_slots.size.times do |i| next if !equip_change_ok?(i) items = $game_party.equip_items.select do |item| item.etype_id == equip_slots[i] && equippable?(item) && item.performance >= 0 && sufficient_equip_level?(item) end change_equip(i, items.max_by {|item| item.performance }) end end def sufficient_equip_level?(item) level >= item.minimum_level end end