设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 336|回复: 14

[已经解决] 怎么样才能增加技能的武器类型限制数量?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
178
在线时间
191 小时
注册时间
2011-3-13
帖子
48
发表于 2016-11-19 20:19:53 | 显示全部楼层 |阅读模式

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

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

x
QQ图片20161119201758.png
就是这个东西 两个不够用
本来打算在武器里用禁用技能来解决的,但是后来发现技能太多了......有脚本或者别的什么方式可以在技能里用备注 或者在脚本里写之类的其他方式添加么
求解{:2_270:}

评分

参与人数 1星屑 +50 收起 理由
RaidenInfinity + 50 结帖

查看全部评分

Lv3.寻梦者

梦石
0
星屑
3352
在线时间
1214 小时
注册时间
2015-7-25
帖子
484

开拓者

发表于 2016-11-19 20:46:12 | 显示全部楼层
本帖最后由 魔法丶小肉包 于 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>

点评

想来想去只能改成这样了=w=''(我真是太笨了233)  发表于 2016-11-19 21:56
诶,你这个只能多匹配一个类型啊,那句脚本我只是给个建议。<限制类型3: 1> 要匹配多个可以参考楼下的写法。  发表于 2016-11-19 21:35
那个,,其实我不知道要怎么改才好,,,,TT  发表于 2016-11-19 21:15
完了完了要被鍘了2333  发表于 2016-11-19 21:13
所以酷爱改一下辣,我好给你发卡(  发表于 2016-11-19 21:10

评分

参与人数 1星屑 +200 收起 理由
RaidenInfinity + 200 尝试提供答案

查看全部评分

看!是肉包!

饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉,饿了吧,把它吃掉!
心动不如行动,酷爱一口咬下去啦
略略略=w=就是不给你吃,来追我呀
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
6230
在线时间
4950 小时
注册时间
2013-2-28
帖子
5017

开拓者贵宾

发表于 2016-11-19 20:51:06 | 显示全部楼层
本帖最后由 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

点评

谢谢,解决了  发表于 2016-11-19 21:16

评分

参与人数 1星屑 +250 梦石 +1 收起 理由
RaidenInfinity + 250 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
6230
在线时间
4950 小时
注册时间
2013-2-28
帖子
5017

开拓者贵宾

发表于 2016-11-19 21:25:35 | 显示全部楼层
魔法丶小肉包 发表于 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
复制代码

未测试

点评

多谢帮助~.~,帖子已编辑。看来我有必要去学习一下正则表达式了=w=  发表于 2016-11-19 21:33
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-6-6 12:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表