原谅我用了这么长的一个标题……这是我能描述清楚这个问题的最简洁的文字了。
本帖描述的是任务制作中的一个坑,是尤里复仇原版平台1.000版本和1.001版本之间的差异导致触发执行结果不一致的坑。几乎所有情况下,1.000和1.001版本在触发执行方面都表现的高度一致,但是这两天在@断绳伞兵测试我的任务的时候,出现了莫名的任务失败情况。经过我的排查和推断,终于发现了问题之所在,并稳定复现了这一问题。
情况的具体描述是这样的:一个运输载具装载着一个物体走出地图边界,这个物体在1.000版本内不会被判定为摧毁,而在1.001版本内有时会被判定为摧毁。
经反复试验,确定被判定摧毁的不是运输载具本身,而是运输载具内装载的物体(步兵和坦克),而且这种情况的发生与陆上和海上没有关系。
我做了一个小Demo来演示这一差异。见all01umd.map
三个装甲运兵船各运载一个动员兵走出地图边界。针对这三个动员兵使用了三种判定摧毁的条件,由上而下分别是:
- 16 被摧毁, 单位, (数量为#)...(数值填写1)
- 48 被任何事物摧毁
- 7 被任一作战方摧毁
只有第一个触发不需要关联,后两个触发都需要把标签关联到对应的动员兵上。
实际执行结果是:1.000版本的尤里复仇中,三个触发都没有被激活;1.001版本的尤里复仇中,前两个触发被激活了,最后一个没有被激活。
结论:1.001版本中,如果一个运输载具载着一个物体走出地图边界,这个物体会被判定为摧毁,但是不会激活条件7 “被任一作战方摧毁”。这对于一些护送任务非常重要,极有可能导致在1.000版本里一切正常,而1.001版本里莫名其妙的任务失败。
这个现象出现的非常稳定,甚至可以用来判断玩家的尤里复仇版本。