- #============================================================================== 
 
- # 此脚本来自 [url]www.66rpg.com[/url] 
 
- #------------------------------------------------------------------------------ 
 
- #  功能:[RMVA]增加装备栏数量 
 
 
- #  版本:v1.1 2012-02-20 
 
- #  使用说明: 
 
- #       1.在下面设置需要增加的数量以及增加部位的名字 
 
- #       2.在数据库-护甲-备注 里写入 @etype[位置编号] 
 
- #         默认系统一共有5个装备位置.占用了0~4号 
 
- #         所以扩展出来的装备栏位置编号是从 5 开始.比如 @etype[5]  @etype[6] 
 
- #       3.在扩展位置上给角色设置初始装备的方法 
 
- #         在 数据库-角色-备注 里写入 @add_equips[装备1ID,装备2ID.....] 
 
- #         每个ID中间由半角的 , 分开 比如 @add_equips[61] @add_equips[61,63] 
 
- #       4.设置 固定装备 的初始值 
 
- #         在 数据库-角色-备注 里写入 @fix_equips[装备位置编号,装备位置编号......] 
 
- #         每个编号间由半角的 , 分开 比如 @fix_equips[5] @fix_equips[5,6] 
 
- #       5.设置 禁用装备 的初始值 
 
- #         在 数据库-角色-备注 里写入 @seal_equips[装备位置编号,装备位置编号......] 
 
- #         每个编号间由半角的 , 分开 比如 @seal_equips[5] @seal_equips[5,6] 
 
- #       6.游戏运行时可以使用: 
 
- #           $game_actors[角色ID].fix_equips  来获取该角色被固定装备位置的数组 
 
- #           $game_actors[角色ID].seal_equips 来获取该角色被禁用装备位置的数组 
 
- #         然后可以使用数组类的 delete 和 push 方法来删除/增加 etype_id 
 
- #         来达到解除与启用 固定、禁用的效果 
 
- #         比如 $game_actors[1].fix_equips.delete(5) 解除1号角色5号位置的固定 
 
- #              $game_actors[2].seal_equips.push(6) 2号角色禁用6号装备位置 
 
- #  注意事项: 
 
- #       1.上面说的设置初始装备、固定装备、禁用装备都是只针对新扩展部位的 
 
- #         默认的前5个装备位置的固定、禁用、设置初始.还请使用RMVA默认方式设置 
 
- #       2.状态画面的描绘装备部分.在默认分辨率下.只能描绘6个装备. 
 
- #         我小改了一下.但还是觉得不怎么好看.建议你自己重新描绘那一块... 
 
- #============================================================================== 
 
- module HzhjEquip 
 
-   # 设置要增加的装备部位数量 
 
-   ETYPE_ADD_NUM = 4 
 
-   # 设置要增加的装备部位的名字 
 
-   ETYPE_ADD_NAME = ["腰带", "鞋子","披风","荣誉",] 
 
- end 
 
- def Vocab.etype(etype_id) 
 
-   etypes = $data_system.terms.etypes + HzhjEquip::ETYPE_ADD_NAME 
 
-   etypes[etype_id] 
 
- end 
 
- class RPG::Actor < RPG::BaseItem 
 
-   def add_equips 
 
-     if /@add_equips\[(.+?)\]/ =~ @note 
 
-       result = $1.split(/,/).collect{|str|str.to_i} 
 
-       result << 0 while result.size < HzhjEquip::ETYPE_ADD_NUM 
 
-     else 
 
-       result = Array.new(HzhjEquip::ETYPE_ADD_NUM){0} 
 
-     end 
 
-     result 
 
-   end 
 
-   def fix_equips 
 
-     if /@fix_equips\[(.+?)\]/ =~ @note 
 
-       result = $1.split(/,/).collect{|str|str.to_i} 
 
-     else 
 
-       result = [] 
 
-     end 
 
-     result 
 
-   end 
 
-   def seal_equips 
 
-     if /@seal_equips\[(.+?)\]/ =~ @note 
 
-       result = $1.split(/,/).collect{|str|str.to_i} 
 
-     else 
 
-       result = [] 
 
-     end 
 
-     result 
 
-   end 
 
- end 
 
- class RPG::Armor < RPG::EquipItem 
 
-   def etype_id 
 
-     if /@etype\[(.+?)\]/ =~ @note 
 
-       return $1.to_i 
 
-     else 
 
-       return @etype_id 
 
-     end 
 
-   end 
 
- end 
 
- class Game_Actor < Game_Battler 
 
-   attr_accessor :fix_equips 
 
-   attr_accessor :seal_equips 
 
-   alias hzhj_old_init_equips_game_actor init_equips 
 
-   def init_equips(equips) 
 
-     @fix_equips = actor.fix_equips 
 
-     @seal_equips = actor.seal_equips 
 
-     hzhj_equips = equips.clone 
 
-     add_equips = actor.add_equips 
 
-     HzhjEquip::ETYPE_ADD_NUM.times{hzhj_equips << add_equips.shift} 
 
-     hzhj_old_init_equips_game_actor(hzhj_equips) 
 
-   end 
 
-   alias hzhj_old_equip_slots_game_actor equip_slots 
 
-   def equip_slots 
 
-     result = hzhj_old_equip_slots_game_actor 
 
-     HzhjEquip::ETYPE_ADD_NUM.times{result << result.size} 
 
-     result 
 
-   end 
 
-   def equip_type_fixed?(etype_id) 
 
-     if etype_id > 4 
 
-       return @fix_equips.include?(etype_id) 
 
-     else 
 
-       return super 
 
-     end 
 
-   end 
 
-   def equip_type_sealed?(etype_id) 
 
-     if etype_id > 4 
 
-       return @seal_equips.include?(etype_id) 
 
-     else 
 
-       return super 
 
-     end 
 
-   end 
 
- end 
 
- class Window_EquipSlot < Window_Selectable 
 
-   def actor=(actor) 
 
-     return if @actor == actor 
 
-     @actor = actor 
 
-     create_contents 
 
-     refresh 
 
-   end 
 
- end 
 
- class Window_Status < Window_Selectable 
 
-   def draw_equipments(x, y) 
 
-     x = 224 if @actor.equips.size > 6 
 
-     @actor.equips.each_with_index do |item, i| 
 
-       dx = x + 146 * (i / 6) 
 
-       dy = y + line_height * (i % 6) 
 
-       draw_item_name(item, dx, dy, true, 122) 
 
-     end 
 
-   end 
 
- end