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

Project1

 找回密码
 注册会员
搜索
查看: 2199|回复: 14
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
173
在线时间
192 小时
注册时间
2011-3-13
帖子
48
跳转到指定楼层
1
发表于 2016-11-19 20:19:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

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

评分

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

查看全部评分

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

2
发表于 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 尝试提供答案

查看全部评分

笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

3
发表于 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
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 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, 2024-11-16 23:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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