| 赞 | 43  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 61 | 
 
| 经验 | 240 | 
 
| 最后登录 | 2025-8-11 | 
 
| 在线时间 | 605 小时 | 
 
 
 
 
 
Lv4.逐梦者 
	- 梦石
 - 0 
 
        - 星屑
 - 6090 
 
        - 在线时间
 - 605 小时
 
        - 注册时间
 - 2017-9-27
 
        - 帖子
 - 251
 
 
 
 | 
	
 本帖最后由 天浩 于 2018-8-28 14:29 编辑  
 
-  class Game_Actor < Game_Battler
 
 -   #--------------------------------------------------------------------------
 
 -   # ● 获取装备栏的数组
 
 -   #--------------------------------------------------------------------------
 
 -   def equip_slots
 
 -     return [0,0,2,3,4,4,4] if dual_wield?       # 双持武器
 
 -     return [0,1,2,3,4,4,4]                      # 普通
 
 -   end
 
 - end
 
  
- #==============================================================================
 
 - # 此脚本来自 www.66rpg.com
 
 - #------------------------------------------------------------------------------
 
 - #  功能:[RMVA]增加装备栏数量
 
 - #  作者:后知后觉([email protected])
 
 - #  版本: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 = 0
 
 -   # 设置要增加的装备部位的名字
 
 -   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 = 240 if @actor.equips.size > 6
 
 -     @actor.equips.each_with_index do |item, i|
 
 -       dx = x + 150 * (i / 6)
 
 -       dy = y + line_height * (i % 6)
 
 -       self.draw_item_name_(item, dx, dy, true, 120)
 
 -     end
 
 -   end
 
 - end
 
  
 
  复制代码 
 
 
 
 
其实只要这样。~~~改下默认,然后加个装备扩展脚本。嘿嘿~~~ 
 
 
class Game_Actor < Game_Battler 
  #-------------------------------------------------------------------------- 
  # ● 获取装备栏的数组 
  #-------------------------------------------------------------------------- 
  def equip_slots 
    return [0,0,2,3,4] if dual_wield?       # 双持武器    
    return [0,1,2,3,4]                      # 普通 
  end 
end 
# 这是VA默认的,数字是对应装备孔的,比如饰品要装3个位置,就像我发上来的脚本一样,后面加上两个4即可~~~然后加上扩展脚本的功能~~~,但是扩展脚本这里扩展位置设置为0即可。~~~~ 
 
 
 |   
 
 
 
 |