找回密码
 点一下
查看: 1689|回复: 13

关于mark的设置

[复制链接]
发表于 2017-8-3 01:23:20 | 显示全部楼层 |阅读模式
单位A向单位B施放一个技能,会建立一个持续性效果。在持续性效果消失之前,不允许单位A再次向单位B施放这个技能。这种设计可以通过mark实现吗?如果可以,要如何设置呢?
我自己猜测是要匹配链接和施法单位,但是实测无效。
发表于 2017-8-3 09:25:12 来自手机 | 显示全部楼层
我不太会mark。不过,如果可以同时再给b单位一个和持续性效果时间一样长的行为应该就可以实现你的效果了

点评

这个是不行的,因为B可能还会接受C的技能,如果用一个行为来禁止,就会导致C也无法向B施放技能。  详情 回复 发表于 2017-8-3 18:11
回复

使用道具 举报

 楼主| 发表于 2017-8-3 18:11:43 | 显示全部楼层
2104075556 发表于 2017-8-3 09:25
我不太会mark。不过,如果可以同时再给b单位一个和持续性效果时间一样长的行为应该就可以实现你的效果了

这个是不行的,因为B可能还会接受C的技能,如果用一个行为来禁止,就会导致C也无法向B施放技能。

点评

只需在比较行为的验证器里的 需要施法单位 里填上施法单位即可  详情 回复 发表于 2017-8-4 07:08
回复

使用道具 举报

发表于 2017-8-4 07:08:02 | 显示全部楼层
yxxiaobin 发表于 2017-8-3 18:11
这个是不行的,因为B可能还会接受C的技能,如果用一个行为来禁止,就会导致C也无法向B施放技能。

只需在比较行为的验证器里的 需要施法单位 里填上施法单位即可

点评

万分感谢,确实可行。 其实开始我还是怀疑这说法的,因为通常来说,效果树里的指代都无法穿越效果树的限制,当再次使用时,其实就已经是另一个效果树了,指代应该已经失效了。但是抱着试试看的态度测试了一下,确实  详情 回复 发表于 2017-8-4 18:08
回复

使用道具 举报

 楼主| 发表于 2017-8-4 18:08:16 | 显示全部楼层
priceles 发表于 2017-8-4 07:08
只需在比较行为的验证器里的 需要施法单位 里填上施法单位即可

万分感谢,确实可行。
其实开始我还是怀疑这说法的,因为通常来说,效果树里的指代都无法穿越效果树的限制,当再次使用时,其实就已经是另一个效果树了,指代应该已经失效了。但是抱着试试看的态度测试了一下,确实是可行的。仔细思考了一下才明白,其实这里的施法者并非穿越效果树,而是只是指的本此施放的施法者,只是比对的该施法者和目标身上的标记行为施放者是否为同一单位。
再次感谢。
回复

使用道具 举报

发表于 2017-8-7 14:31:05 | 显示全部楼层
本帖最后由 chansey 于 2017-8-7 16:12 编辑

这几天研究了一下marker,其实楼主这个设计用mark就可以实现。
方法是利用CreatePersistent这个效果的持久性,大致思路是这样的:
由于CreatePersistent这个效果创建的marker在其整个生命周期内会一直存在,所以我们的技能就可以check这个marker。
即:第二次使用技能时,发现marker已经存在,就Fail掉。

演示在附件里,一个Ghost在5秒内只能对SCV使用一次狙击。

Marker4CreatePersistent.SC2Map

25.01 KB, 下载次数: 1

点评

如果是针对一个单位的设计,这个是没问题的,但是我需要的其实是一种连接性技能, 把A和B连接到一起,就不允许他们再次发动连接,也就是说不能重复连接,你的设计能满足单向,但是无法满足双向,也就是说,如果A向B  详情 回复 发表于 2017-8-8 18:07
回复

使用道具 举报

 楼主| 发表于 2017-8-8 18:07:04 | 显示全部楼层
chansey 发表于 2017-8-7 14:31
这几天研究了一下marker,其实楼主这个设计用mark就可以实现。
方法是利用CreatePersistent这个效果的持久 ...

如果是针对一个单位的设计,这个是没问题的,但是我需要的其实是一种连接性技能, 把A和B连接到一起,就不允许他们再次发动连接,也就是说不能重复连接,你的设计能满足单向,但是无法满足双向,也就是说,如果A向B施放了技能,可以阻止再次向B施放,但无法阻止B向A施放,这同样会导致重复连接。
当然,还是要感谢你的演示的,我从中一样获得了帮助。
最后,我按照地板的方案实现了做法,因为在我原有的系统里,本身就需要为单位A和单位B各添加一个行为b1(可叠加,以免刷新施法者),用于计数连接总数,所以也不需要额外再做一个行为了,只要做一下验证器就好。大致思路:如果单位A向B使用技能, 需要满足A(施法者)身上没有来自B(目标)的行为b1,B(目标)身上也没有来自A(施法者)的行为b1,这样就能避免重复了。

点评

确实,如果你要求双向的话,marker可能无法满足你的需求,毕竟marker的拟匹配项的施法者只能是使用技能的人本身,不能另外指定一个对象。  详情 回复 发表于 2017-8-9 15:25
回复

使用道具 举报

发表于 2017-8-9 15:25:33 | 显示全部楼层
yxxiaobin 发表于 2017-8-8 18:07
如果是针对一个单位的设计,这个是没问题的,但是我需要的其实是一种连接性技能, 把A和B连接到一起,就 ...

确实,如果你要求双向的话,marker可能无法满足你的需求,毕竟marker的拟匹配项的施法者只能是使用技能的人本身,不能另外指定一个对象。

点评

但仍要感谢你的热心帮助。  发表于 2017-8-9 17:51
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 17:23 , Processed in 0.199193 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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