查看: 2236|回复: 4

[已经过期] 怎么样判定XX状态被驱散?

[复制链接]
梦石
0
星屑
4853
在线时间
1157 小时
注册时间
2009-10-3
回帖
140
发表于 2014-11-3 13:49:45 | 显示全部楼层 |阅读模式

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

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

×
RT
例:我方牧师释放了一个持续回血BUFF,该技能设定如果该BUFF被驱散,则立刻恢复所有生命。
怎么样才能判定这样一个状态的存在?

自己给自己挖了一个坑,然后掉下去的我,竟然爬不上来了,呵呵(NMB)。

无限の剣制

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

开拓者贵宾

发表于 2014-11-3 14:12:40 | 显示全部楼层
看不懂,就是说这个牧师放的这个技能可以附加一个持续恢复状态A。如果这个状态A消失的时候立刻恢复所有HP么?

点评

还不是消失的时候,是该状态因为驱散(其它技能导致的强制解除,非自然解除)的时机触发全回血。  发表于 2014-11-3 14:19
回复

使用道具 举报

梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
回帖
155
发表于 2014-11-3 18:59:33 | 显示全部楼层
本帖最后由 timiesea 于 2014-11-3 19:01 编辑

  给楼主一个思路吧,这个有点复杂的样子,等待大触。

  楼主可以在脚本中把回复的相关代码给写好。然后新建一个方法,放到类里,例如:class A function B。然后在状态的备注里写上函数名,例如@<驱散 B>
  然后给每一个可能驱散状态的技能都设置一个备注,用来写明驱散的状态ID,如果是驱散全部状态则使用例如-1等一个字符来表示。例如:@<clear_state 1,2,3,4,5,>
  然后再写一个方法来识别这个备注(要使用正则表达式)。目的是知道哪一个技能会驱散什么状态,如果是驱散多个状态则存放到一个数组里。新建一个公共事件:写脚本,把技能ID传到一个变量,然后获取该技能的备注进行读取,然后识别出要驱散什么状态,并将状态ID存放到数组里,然后遍历这个数组,根据状态的ID,状态的备注中获取到要执行的函数然后执行,最后在代码中手动驱散这些状态(重要)。别忘了在技能的使用效果里调用这个公共事件。这样子做就可以达到效果了。还有,即使是技能想要驱散状态,也不能在使用效果里写了,我们要自己在代码里自行驱散。

  这个方法是很复杂,但是不仅仅可以实现楼主的所需要的效果,而且当状态自主解除时并不会触发效果。

  优点:实用;缺点:复杂,连我都有点不知道该怎么写呢。

  一句话:坑爹呢这是。。。

点评

其实我觉得可以从“驱散”技能来入手,检查目标是否有“回血”状态,如果有则解除该状态并把血回满,写个复杂一些的技能公式来解决。  发表于 2014-11-3 19:28
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。
回复

使用道具 举报

梦石
0
星屑
4853
在线时间
1157 小时
注册时间
2009-10-3
回帖
140
 楼主| 发表于 2014-11-3 20:43:59 | 显示全部楼层
timiesea 发表于 2014-11-3 18:59
  给楼主一个思路吧,这个有点复杂的样子,等待大触。

  楼主可以在脚本中把回复的相关代码给写好。然 ...

谢谢,但是如果这样太复杂了,能否能在战斗里设置条件分歧呢?

点评

难道你想纯事件做吗…… 虽然可以但是会绕很多圈还存在缺陷……  发表于 2014-11-3 21:38
自己给自己挖了一个坑,然后掉下去的我,竟然爬不上来了,呵呵(NMB)。
回复

使用道具 举报

梦石
0
星屑
124
在线时间
900 小时
注册时间
2012-11-13
回帖
845
发表于 2014-11-4 13:08:25 | 显示全部楼层
首先某状态消失后自动附加另一状态可判定 XX状态被驱散 ,然后用事件or脚本写出当有某一状态时自动将血回满

即可

点评

可以用 http://rm.66rpg.com/thread-366532-1-1.html 里的“战斗日志追加”脚本显示  发表于 2014-11-5 13:24
不过直接用公共事件回血不显示信息pop呢。  发表于 2014-11-4 14:01
废弃
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部