加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
之前求了个武器限定技能的脚本,在这里感谢一下芯☆淡茹水~
但是与使用的随机属性、装备强化发生了冲突,所以求修改一下,将它的判定方式由通过名称判定改成通过备注判定
=begin *黯淡的流星所加注释:该脚本的使用方法 在武器的名称(注意是名称!)后写上 ,数字就可以将此武器定义为x类型(X为填写的数字) 例如:长剑,1 就是说,此武器的名字是“长剑”,类型是1 在技能的名称后写上 ,数字就可以这个技能定义为x类型,只有在装备了相同类型的武器时 才能使用,例如:重斩,1 就是说技能“重斩”只有在装备1类型武器时才能使用 当武器名称后没有填写时,默认该武器类型为0,在装备该武器时无法使用任何定义了类型 的技能 当技能名称后没有填写时,默认该技能类型为0,在装备任何武器时都可以使用 注意:逗号用半角!用半角!用半角!重要的事情说三遍 =end #============================================================================== module RPG class Skill < UsableItem def name return @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : "" end def weapon_limit_id return @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0 end end class Weapon < BaseItem def name return @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : "" end def kind return @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0 end end end #-------------------------------------------------------------------------- class Game_Actor < Game_Battler def skill_can_use?(skill) return false unless skill_learn?(skill) return false if weapon_limit(skill) return super end def weapon_limit(skill) return true unless skill.is_a?(RPG::Skill) return false if skill.weapon_limit_id == 0 data = weapons.find{|w| next if w.nil?;w.kind == skill.weapon_limit_id} return data.nil? end end #==============================================================================
=begin
*黯淡的流星所加注释:该脚本的使用方法
在武器的名称(注意是名称!)后写上 ,数字就可以将此武器定义为x类型(X为填写的数字)
例如:长剑,1 就是说,此武器的名字是“长剑”,类型是1
在技能的名称后写上 ,数字就可以这个技能定义为x类型,只有在装备了相同类型的武器时
才能使用,例如:重斩,1 就是说技能“重斩”只有在装备1类型武器时才能使用
当武器名称后没有填写时,默认该武器类型为0,在装备该武器时无法使用任何定义了类型
的技能
当技能名称后没有填写时,默认该技能类型为0,在装备任何武器时都可以使用
注意:逗号用半角!用半角!用半角!重要的事情说三遍
=end
#==============================================================================
module RPG
class Skill < UsableItem
def name
return @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : ""
end
def weapon_limit_id
return @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0
end
end
class Weapon < BaseItem
def name
return @name.split(/,/)[0] != nil ? @name.split(/,/)[0] : ""
end
def kind
return @name.split(/,/)[1] != nil ? @name.split(/,/)[1].to_i : 0
end
end
end
#--------------------------------------------------------------------------
class Game_Actor < Game_Battler
def skill_can_use?(skill)
return false unless skill_learn?(skill)
return false if weapon_limit(skill)
return super
end
def weapon_limit(skill)
return true unless skill.is_a?(RPG::Skill)
return false if skill.weapon_limit_id == 0
data = weapons.find{|w| next if w.nil?;w.kind == skill.weapon_limit_id}
return data.nil?
end
end
#==============================================================================
|