查看: 2785|回复: 4

[已经解决] 【脚本修改】武器限定技能

[复制链接]
梦石
0
星屑
1501
在线时间
277 小时
注册时间
2017-2-18
回帖
80

开拓者

发表于 2017-5-14 15:35:40 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
之前求了个武器限定技能的脚本,在这里感谢一下芯☆淡茹水~
但是与使用的随机属性、装备强化发生了冲突,所以求修改一下,将它的判定方式由通过名称判定改成通过备注判定
[pre lang="ruby"]=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
#==============================================================================[/pre]
梦石
0
星屑
34459
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2017-5-14 17:26:02 | 显示全部楼层
  1. #==============================================================================
  2. module RPG
  3.   class Skill < UsableItem
  4.     def weapon_limit_id
  5.       return 0 unless @note.include?("Need_weapon")
  6.       @note.gsub!(/\<Need_weapon (\d+)\>/){return $1.to_i}
  7.     end
  8.   end
  9.   class Weapon < BaseItem
  10.     def kind
  11.       return 0 unless @note.include?("Kind")
  12.       @note.gsub!(/\<Kind (\d+)\>/){return $1.to_i}
  13.     end
  14.   end
  15. end
  16. #--------------------------------------------------------------------------
  17. class Game_Actor < Game_Battler
  18.   def skill_can_use?(skill)
  19.     return false unless skill_learn?(skill)
  20.     return false if weapon_limit(skill)
  21.     return super
  22.   end
  23.   def weapon_limit(skill)
  24.     return true unless skill.is_a?(RPG::Skill)
  25.     return false if skill.weapon_limit_id == 0
  26.     data = weapons.find{|w| next if w.nil?;w.kind == skill.weapon_limit_id}
  27.     return data.nil?
  28.   end
  29. end
  30. #==============================================================================
复制代码


技能加武器种类限制,在备注写:<Need_weapon 种类>  比如: <Need_weapon 2>  <Need_weapon 10>
Need_weapon 后面留一空格再写数字。
武器添加种类,在备注写: <Kind 种类>  ,格式同上。
这个没测试,不知道能不能成功

评分

参与人数 1星屑 +100 收起 理由
怪蜀黍 + 100 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
65
在线时间
69 小时
注册时间
2017-1-28
回帖
55
发表于 2017-5-14 17:33:54 | 显示全部楼层
亲 可以修改武器的大小吗? 急!

点评

什么意思  发表于 2017-5-20 15:15
回复

使用道具 举报

梦石
0
星屑
1501
在线时间
277 小时
注册时间
2017-2-18
回帖
80

开拓者

 楼主| 发表于 2017-5-20 15:57:37 | 显示全部楼层
芯☆淡茹水 发表于 2017-5-14 17:26
技能加武器种类限制,在备注写:  比如:   
Need_weapon 后面留一空格再写数字。
武器添加种类,在备注写 ...

不行……没有用,即便没有装备脚本中定义类型的武器,技能照样可以正常使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部