本帖最后由 三途亚梦 于 2017-12-12 17:27 编辑
给你写了一个比较粗糙的办法,即改变判断“更换装备”的条件。
如果预备换上的武器为“双手武器”时,会先把装备中的其它武器和盾牌卸下。
用法就是在备注写“[双手]”(不含引号)。
#============================================================================== # +++ 双手持用武器 +++ #============================================================================== # 提问区应求脚本 By 三途亚梦 # 脚本原地址:[url=https://rpg.blue/thread-377264-1-1.html]https://rpg.blue/thread-377264-1-1.html[/url] #============================================================================== # ★ 在数据库武器中备注[双手](中括号必要),则该武器为双手持用武器。 # 双手持用武器:该武器需要双手使用,装备时会自动卸下其它武器和盾牌。 #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ # 管理角色的类。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 更换装备 # slot_id : 装备栏 ID # item : 武器/护甲(为 nil 时装备解除) #-------------------------------------------------------------------------- alias amu_20150427_change_equip change_equip def change_equip(slot_id, item) if item != nil && item.note.include?("[双手]") @equips.each_with_index do |weapon| if weapon.object != nil && (weapon.object.etype_id == 0 || weapon.object.etype_id == 1) trade_item_with_party(nil, weapon.object) weapon.object = nil end end if slot_id != 0 slot_id = 0 end elsif item != nil @equips.each_with_index do |weapon| if weapon.object != nil && weapon.object.note.include?("[双手]") trade_item_with_party(nil, weapon.object) weapon.object = nil end end end amu_20150427_change_equip(slot_id, item) end end
#==============================================================================
# +++ 双手持用武器 +++
#==============================================================================
# 提问区应求脚本 By 三途亚梦
# 脚本原地址:[url=https://rpg.blue/thread-377264-1-1.html]https://rpg.blue/thread-377264-1-1.html[/url]
#==============================================================================
# ★ 在数据库武器中备注[双手](中括号必要),则该武器为双手持用武器。
# 双手持用武器:该武器需要双手使用,装备时会自动卸下其它武器和盾牌。
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
# 管理角色的类。
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 更换装备
# slot_id : 装备栏 ID
# item : 武器/护甲(为 nil 时装备解除)
#--------------------------------------------------------------------------
alias amu_20150427_change_equip change_equip
def change_equip(slot_id, item)
if item != nil && item.note.include?("[双手]")
@equips.each_with_index do |weapon|
if weapon.object != nil && (weapon.object.etype_id == 0 || weapon.object.etype_id == 1)
trade_item_with_party(nil, weapon.object)
weapon.object = nil
end
end
if slot_id != 0
slot_id = 0
end
elsif item != nil
@equips.each_with_index do |weapon|
if weapon.object != nil && weapon.object.note.include?("[双手]")
trade_item_with_party(nil, weapon.object)
weapon.object = nil
end
end
end
amu_20150427_change_equip(slot_id, item)
end
end
|