Project1

标题: 怎么样才能增加技能的武器类型限制数量? [打印本页]

作者: wwla703    时间: 2016-11-19 20:19
标题: 怎么样才能增加技能的武器类型限制数量?

就是这个东西 两个不够用
本来打算在武器里用禁用技能来解决的,但是后来发现技能太多了......有脚本或者别的什么方式可以在技能里用备注 或者在脚本里写之类的其他方式添加么
求解{:2_270:}
作者: 魔法丶小肉包    时间: 2016-11-19 20:46
本帖最后由 魔法丶小肉包 于 2016-11-19 21:53 编辑

RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   def skill_wtype_ok?(skill)
  3.     wtype_id1 = skill.required_wtype_id1
  4.     wtype_id2 = skill.required_wtype_id2
  5.     if skill.note =~ /<限制类型3:\s*(\d+.*?)>/
  6.      $1.scan(/\d+/).each do |wtype_id3|
  7.         return true if wtype_equipped?(wtype_id3.to_i)
  8.       end
  9.     end
  10.     return true if wtype_id1 == 0 && wtype_id2 == 0
  11.     return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1)
  12.     return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2)
  13.     return false
  14.   end
  15. end

技能备注栏里写<限制类型3: 1 2 3>
作者: VIPArcher    时间: 2016-11-19 20:51
本帖最后由 VIPArcher 于 2016-11-19 21:04 编辑
  1. class Game_Actor
  2.   alias vip20161119_swok? skill_wtype_ok?
  3.   def skill_wtype_ok?(skill)
  4.     if skill.note =~ /<限制武器类型:\s*(\d+.*?)>/
  5.       $1.scan(/\d+/).each do |wtype_id|
  6.         return true if wtype_equipped?(wtype_id.to_i)
  7.       end
  8.     end
  9.     vip20161119_swok?(skill)
  10.   end
  11. end
复制代码

未测试,在备注栏备注 <限制武器类型: 1 2 3 10>
那么装备着这几种类型装备的角色就可以使用已学会的这个技能。
要注意的是如果数据库里技能的限制武器类型都设置为无的话,
这个技能是没有任何武器类型限制的即使你加上了这个脚本的备注


已加入5行脚本拒绝吃药套餐
https://rpg.blue/thread-378738-1-1.html
作者: VIPArcher    时间: 2016-11-19 21:25
魔法丶小肉包 发表于 2016-11-19 20:46
class Game_Actor < Game_Battler
  def skill_wtype_ok?(skill)
    wtype_id1 = skill.required_wtype_id ...

判断一下技能的备注skill.note 用一个正则去捕获一下你要的东西,例如你的wtype_id3的赋值方式可以改成这样
  1. wtype_id3 = skill.note =~ /<限制类型3:\s*(\d+)>/ ? $1.to_i : 0
复制代码

未测试




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1