关于一个rpg maker vx ace装备的问题
我想设置装备等级可是我不知道怎么设置意思就是装备武器的等级没到等级不能装备哪位大神帮帮谢谢了...
我想设置装备等级 可是我不知道怎么设置
意思就是 装备武器的等级 没到等级不能装备
哪位大神帮帮 谢谢了 展开
意思就是 装备武器的等级 没到等级不能装备
哪位大神帮帮 谢谢了 展开
若以下回答无法解决问题,邀请你更新回答
展开全部
#============================================================================
# BY drgdrg (感谢snstar2006提供的提取[]内容代码)
# 感谢Kissye找到与扩张脚本冲突的解决办法
#定义装备等级限制方法:在数据库装备备注里写上[LV n] ,LV后有空格,n为等级,
#同理,定义装备能力值限制方法:备注里写上[ATK n][DEF n][SPI n][AGI n]。
#若某项限制不写则没有装备限制。
#注意这里限制的能力值是人物原始的能力值,不考虑装备、状态的影响,
#但是考虑事件对能力值的影响。
#==============================================================================
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
def LVlimit #物品要求最低等级
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[LV (\d+)\]/
}
return m
end
def ATKlimit #物品要求最低个人攻击力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[ATK (\d+)\]/
}
return m
end
def DEFlimit #物品要求最低个人防御力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[DEF (\d+)\]/
}
return m
end
def SPIlimit #物品要求最低个人精神力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[SPI (\d+)\]/
}
return m
end
def AGIlimit #物品要求最低个人敏捷性
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[AGI (\d+)\]/
}
return m
end
end
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
# 处理角色的类。本类在 Game_Actors 类 ($game_actors)
# 的内部使用、Game_Party 类请参考 ($game_party) 。
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 判断是否可以装备
# item : 物品
#--------------------------------------------------------------------------
def equippable?(item)
return false if item.nil? #加上这句 BY Kissye
return false if self.level < item.LVlimit #等级限制
return false if actor.parameters[2, @level] + @atk_plus < item.ATKlimit #攻击力限制
return false if actor.parameters[3, @level] + @def_plus < item.DEFlimit #防御力限制
return false if actor.parameters[4, @level] + @spi_plus < item.SPIlimit #精神力限制
return false if actor.parameters[5, @level] + @agi_plus < item.AGIlimit #敏捷性限制
if item.is_a?(RPG::Weapon)
return self.class.weapon_set.include?(item.id)
elsif item.is_a?(RPG::Armor)
return false if two_swords_style and item.kind == 0
return self.class.armor_set.include?(item.id)
end
return false
end
end
#==============================================================================
# ■ Window_Item
#------------------------------------------------------------------------------
# 物品画面、战斗画面、显示浏览物品的窗口。
#==============================================================================
class Window_Item < Window_Selectable
#--------------------------------------------------------------------------
# ● 更新帮助文本(自动显示使用物品的等级能力限制)
#--------------------------------------------------------------------------
def update_help
if item != nil
newdes = item.description
newdes += " 需要" if(item.LVlimit !=0 or item.ATKlimit !=0 or item.DEFlimit != 0 or item.SPIlimit != 0 or item.AGIlimit != 0)
newdes += " 等级" + item.LVlimit.to_s if item.LVlimit != 0
newdes += " 攻击" + item.ATKlimit.to_s if item.ATKlimit != 0
newdes += " 防御" + item.DEFlimit.to_s if item.DEFlimit != 0
newdes += " 魔攻" + item.SPIlimit.to_s if item.SPIlimit != 0
newdes += " 敏捷" + item.AGIlimit.to_s if item.AGIlimit != 0
@help_window.set_text(newdes)
else
@help_window.set_text("")
end
end
end
# BY drgdrg (感谢snstar2006提供的提取[]内容代码)
# 感谢Kissye找到与扩张脚本冲突的解决办法
#定义装备等级限制方法:在数据库装备备注里写上[LV n] ,LV后有空格,n为等级,
#同理,定义装备能力值限制方法:备注里写上[ATK n][DEF n][SPI n][AGI n]。
#若某项限制不写则没有装备限制。
#注意这里限制的能力值是人物原始的能力值,不考虑装备、状态的影响,
#但是考虑事件对能力值的影响。
#==============================================================================
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
def LVlimit #物品要求最低等级
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[LV (\d+)\]/
}
return m
end
def ATKlimit #物品要求最低个人攻击力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[ATK (\d+)\]/
}
return m
end
def DEFlimit #物品要求最低个人防御力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[DEF (\d+)\]/
}
return m
end
def SPIlimit #物品要求最低个人精神力
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[SPI (\d+)\]/
}
return m
end
def AGIlimit #物品要求最低个人敏捷性
m = 0
self.note.split(/[\r\n]+/).each { |line|
m = $1.to_i if line =~ /\[AGI (\d+)\]/
}
return m
end
end
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
# 处理角色的类。本类在 Game_Actors 类 ($game_actors)
# 的内部使用、Game_Party 类请参考 ($game_party) 。
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 判断是否可以装备
# item : 物品
#--------------------------------------------------------------------------
def equippable?(item)
return false if item.nil? #加上这句 BY Kissye
return false if self.level < item.LVlimit #等级限制
return false if actor.parameters[2, @level] + @atk_plus < item.ATKlimit #攻击力限制
return false if actor.parameters[3, @level] + @def_plus < item.DEFlimit #防御力限制
return false if actor.parameters[4, @level] + @spi_plus < item.SPIlimit #精神力限制
return false if actor.parameters[5, @level] + @agi_plus < item.AGIlimit #敏捷性限制
if item.is_a?(RPG::Weapon)
return self.class.weapon_set.include?(item.id)
elsif item.is_a?(RPG::Armor)
return false if two_swords_style and item.kind == 0
return self.class.armor_set.include?(item.id)
end
return false
end
end
#==============================================================================
# ■ Window_Item
#------------------------------------------------------------------------------
# 物品画面、战斗画面、显示浏览物品的窗口。
#==============================================================================
class Window_Item < Window_Selectable
#--------------------------------------------------------------------------
# ● 更新帮助文本(自动显示使用物品的等级能力限制)
#--------------------------------------------------------------------------
def update_help
if item != nil
newdes = item.description
newdes += " 需要" if(item.LVlimit !=0 or item.ATKlimit !=0 or item.DEFlimit != 0 or item.SPIlimit != 0 or item.AGIlimit != 0)
newdes += " 等级" + item.LVlimit.to_s if item.LVlimit != 0
newdes += " 攻击" + item.ATKlimit.to_s if item.ATKlimit != 0
newdes += " 防御" + item.DEFlimit.to_s if item.DEFlimit != 0
newdes += " 魔攻" + item.SPIlimit.to_s if item.SPIlimit != 0
newdes += " 敏捷" + item.AGIlimit.to_s if item.AGIlimit != 0
@help_window.set_text(newdes)
else
@help_window.set_text("")
end
end
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询