Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # =============================================================================
- # 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 <min level: n> 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
Advertisement
Add Comment
Please, Sign In to add comment