查看: 2708|回复: 14

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

[复制链接]
梦石
0
星屑
173
在线时间
192 小时
注册时间
2011-3-13
回帖
31
发表于 2016-11-19 20:19:53 | 显示全部楼层 |阅读模式

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

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

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

评分

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

查看全部评分

梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2016-11-19 20:46:12 | 显示全部楼层
本帖最后由 魔法丶小肉包 于 2016-11-19 21:53 编辑

[pre lang="ruby"]class Game_Actor < Game_Battler
  def skill_wtype_ok?(skill)
    wtype_id1 = skill.required_wtype_id1
    wtype_id2 = skill.required_wtype_id2
    if skill.note =~ /<限制类型3:\s*(\d+.*?)>/
     $1.scan(/\d+/).each do |wtype_id3|
        return true if wtype_equipped?(wtype_id3.to_i)
      end
    end
    return true if wtype_id1 == 0 && wtype_id2 == 0
    return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1)
    return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2)
    return false
  end
end[/pre]
技能备注栏里写<限制类型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 尝试提供答案

查看全部评分

笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 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 认可答案

查看全部评分

回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 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
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部