本帖最后由 373459587 于 2012-7-1 23:58 编辑 用这个脚本吧#============================================================================== # 此脚本来自 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 = 5 #这个不用说了吧 # 设置要增加的装备部位的名字 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 def fix_equips if /@fix_equips\[(.+?)\]/ =~ @note result = $1.split(/,/).collect{|str|str.to_i} else result = [] end result end def fix_equips if /@fix_equips\[(.+?)\]/ =~ @note result = $1.split(/,/).collect{|str|str.to_i} else result = [] end result end def fix_equips if /@fix_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 def equip_type_sealed?(etype_id) if etype_id > 4 return @seal_equips.include?(etype_id) else return super end 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 |
变更装备的话用
|
这个明显就是变量没有定义,没用定义过的变量,怎能直接用呢 |
本帖最后由 woyaozhuce 于 2012-6-16 23:38 编辑 - -. 额好吧,我用这个脚本用了好久了, 本来也很多错误,不知道稀里糊涂的就改对了。{:2_264:} 要不你推荐一个吧。 这个脚本与某个(忘了那个脚本了)脚本整合一下就很不错。 那个脚本提供菜单这个脚本提供装备追加。 我是这样改过来的。 |
个人建议不要使用,因为原版的脚本本身就有错误 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-27 05:01
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.