本帖最后由 a000b1745 于 2013-9-18 16:35 编辑 在裝備的設定中可以額外設定讓穿上裝備時,封印其他位置的裝備。 小妹有個地方想請教版上大大們... 如圖;原本選擇封印裝備位置是"盾" 就是說裝備 TYPE 1 會被封 ...
a000b1745 发表于 2013-9-17 20:43 抱歉沒說清楚...我主要的功能是用在裝備的設置裡,而非角色職業... 譬如我穿上裝備 "全身重甲" 我就無法 ...
def equip_type_sealed?(etype_id) if etype_id == 5 etype_id = 1 elsif etype_id == 1 return false elsif etype_id > 5 return @fix_equips.include?(etype_id) end return super end
查看全部评分
a000b1745 发表于 2013-9-17 18:54 #============================================================================== # 此脚本来自 www.66r ...
#==============================================================================# 此脚本来自 [url]www.66rpg.com[/url]#------------------------------------------------------------------------------# 功能:[RMVA]增加装备栏数量# 作者:后知后觉([email][email protected][/email])# 版本: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 = 3 # 设置要增加的装备部位的名字 ETYPE_ADD_NAME = ["背後靈","項鍊","戒指"]enddef Vocab.etype(etype_id) etypes = $data_system.terms.etypes + HzhjEquip::ETYPE_ADD_NAME etypes[etype_id]endclass 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 endendclass RPG::Armor < RPG::EquipItem def etype_id if /@etype\[(.+?)\]/ =~ @note return $1.to_i else return @etype_id end endendclass 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 endendclass Window_EquipSlot < Window_Selectable def actor=(actor) return if [url=home.php?mod=space&uid=95897]@actor[/url] == actor @actor = actor create_contents refresh endendclass 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 endend
#============================================================================== # 此脚本来自 [url]www.66rpg.com[/url] #------------------------------------------------------------------------------ # 功能:[RMVA]增加装备栏数量 # 作者:后知后觉([email][email protected][/email]) # 版本: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 = 3 # 设置要增加的装备部位的名字 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 [url=home.php?mod=space&uid=95897]@actor[/url] == 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
a000b1745 发表于 2013-9-17 17:02 好的 是全工程腳本還是只有裝備擴張的??
a000b1745 发表于 2013-9-17 16:54 盾無法封印沒關係的不影響遊戲. 把這段插入MAIN就有效了嗎?? 我插了還是無效...
Sion 发表于 2013-9-17 15:20 class Game_BattlerBase alias equip_type_sealed_2013917? equip_type_sealed? def equip_type_sealed ...
class Game_BattlerBase alias equip_type_sealed_2013917? equip_type_sealed? def equip_type_sealed?(etype_id) case etype_id when 5; etype_id = 1 when 1; return false end equip_type_sealed_2013917?(etype_id) endend
class Game_BattlerBase alias equip_type_sealed_2013917? equip_type_sealed? def equip_type_sealed?(etype_id) case etype_id when 5; etype_id = 1 when 1; return false end equip_type_sealed_2013917?(etype_id) end end
折叠内容标题(非必须)
折叠内容
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 16:37
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.