赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 5547 |
最后登录 | 2013-6-13 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1 小时
- 注册时间
- 2008-7-9
- 帖子
- 154
|
拜托作者drgdrg一件事……发布脚本时请在该换行处换行好吗……我自己按了n多回车才弄好的……还有,给你微微修改了一下,解决了没有要求时简介消失情况,并且在装备和商店里也能看见简介里有限制:
#============================================================================
#BY drgdrg (感谢snstar2006提供的提取[]内容代码)
#定义装备等级限制方法:在数据库装备备注里写上[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 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(item.description)
end
end
end
end
class Window_Equip < 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(item.description)
end
end
end
end
class Window_ShopBuy < 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(item.description)
end
end
end
end |
|