| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 1156 |  
| 最后登录 | 2023-2-3 |  
| 在线时间 | 27 小时 |  
 Lv1.梦旅人 
	梦石0 星屑55 在线时间27 小时注册时间2013-6-8帖子11 | 
| 
本帖最后由 a722635 于 2013-7-15 16:51 编辑
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 想加入一個「靈器」欄位
 
 腳本如下
 
 
 #==============================================================================
 # 此脚本来自 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 = 1
 # 设置要增加的装备部位的名字
 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
 
 
 然後我在一個物品的備註增加@etype[5],而遊戲測試中是有這項物品的(物品-護甲分類)
 
 但是在裝備的部分卻看不到這樣物品,是腳本有錯誤嗎?
 
 | 
 |