Project1
标题:
如何到了一定等级才能使用装备
[打印本页]
作者:
rpg549007821
时间:
2010-9-14 03:59
标题:
如何到了一定等级才能使用装备
求VP脚本
作者:
4401612
时间:
2010-9-14 10:23
#============================================================================
# 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 += " LV" + 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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1