找回密码
 点一下
查看: 647|回复: 4

请教下行为计数验证器的最大数

[复制链接]
发表于 2014-12-18 16:01:40 | 显示全部楼层 |阅读模式
本帖最后由 hgzerg 于 2014-12-18 19:47 编辑

请教下行为计数验证器的最大数超过10时,此行为移除验证时,应用的最终效果会报错,Effect溢出使用'%1'。这是BUG还是怎么回事?
发表于 2014-12-18 20:52:50 | 显示全部楼层
没有出现过这样的情况,怀疑是你效果树循环溢出,这是你效果树本身做的有问题,不是验证器bug。

点评

麻烦你有时间看下,行为计数验证器设为9时,正常不报错,10就报错。 还有点疑惑,小于9的行为计数验证器,≥9应该为假吧,为什么目标有9层时不为假第十下才为假?  详情 回复 发表于 2014-12-19 10:29
回复

使用道具 举报

 楼主| 发表于 2014-12-19 10:29:50 | 显示全部楼层
yxxiaobin 发表于 2014-12-18 20:52
没有出现过这样的情况,怀疑是你效果树循环溢出,这是你效果树本身做的有问题,不是验证器bug。

麻烦你有时间看下,行为计数验证器设为9时,正常不报错,10就报错。

还有点疑惑,小于9的行为计数验证器,≥9应该为假吧,为什么目标有9层时不为假第十下才为假?

技能(国)--行为计数测试.SC2Map

22.3 KB, 下载次数: 6

点评

首先说你的疑惑。这个问题确实存在,我怀疑是bug。对于行为计数验证器来讲,如果用于验证行为本身,实际效果是在指定计数上+1的。比如说要求本行为小于2,否则禁用/移除,那么实际上相当于是要求行为小于3的。如果你  详情 回复 发表于 2014-12-20 21:39
回复

使用道具 举报

发表于 2014-12-20 21:39:30 | 显示全部楼层
本帖最后由 yxxiaobin 于 2014-12-23 22:47 编辑
hgzerg 发表于 2014-12-19 10:29
麻烦你有时间看下,行为计数验证器设为9时,正常不报错,10就报错。

还有点疑惑,小于9的行为计数验证 ...


首先说你的疑惑。这个问题确实存在,我怀疑是bug。对于行为计数验证器来讲,如果用于验证行为本身,实际效果是在指定计数上+1的。比如说要求本行为小于2,否则禁用/移除,那么实际上相当于是要求行为小于3的。如果你需要要求行为计数小于2,那么验证器应该写小于1。但是注意:只是应用到验证行为本身的移除或禁用字段才会有这个问题,应用于其他地方(比如其他行为的移除或禁用字段,或者应用于效果)是完全正常的,所以某些情况下,同一个条件可能需要写两个验证器。
然后说你的技能。你的思路不是很好,因为行为数量增加到指定值导致行为移除,行为移除调用移除行为效果,移除行为效果又导致行为移除,行为移除又调用移除行为效果,如此循环N次。比较合理的思路是:在技能效果树中直接加入一个切换效果,根据目标行为层数,决定是添加一层行为,还是移除全部行为。如果你因为某些原因必须让行为自行验证,则在移除行为效果中使用一个验证器,验证行为是否等于指定值。比如对于你的例子,行为到10层时被移除,则要在移除行为效果中使用一个验证器:该行为层数等于9。为什么是等于9,而不是10,因为第10层添加后立即被移除,然后才会调用移除行为效果,这时统计行为层数,结果显然是9。
最后有一点很神奇,反复测试你的地图,就是会导致溢出,但是我新建一张地图后重演你的过程,却不会溢出,反复测试也没找出原因来。

点评

好的,O(∩_∩)O谢谢大神指点。  详情 回复 发表于 2014-12-20 23:01
回复

使用道具 举报

 楼主| 发表于 2014-12-20 23:01:42 | 显示全部楼层
yxxiaobin 发表于 2014-12-20 21:39
首先说你的疑惑。这个问题确实存在,我怀疑是bug。对于行为计数验证器来讲,如果用于验证行为本身,实 ...

好的,O(∩_∩)O谢谢大神指点。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 08:49 , Processed in 0.320291 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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