侠卡康 发表于 2016-3-10 16:14:31

99999帧隐藏建筑的烦恼

本帖最后由 这只话唠菜鹰是路人 于 2016-11-22 00:39 编辑

首先关于99999帧隐藏建筑,请看这个帖子:https://www.hawkaoe.net/bbs/thread-29602-1-3.html

故事开始于一个月黑风高的白天,当时哈罗德想对箭塔使用99999帧将其隐藏,但是却没有效果,倍感烦恼:

随后TT表示了赞同:

哈罗德的玩家2是萨拉森文明,他想对该箭塔使用99999帧隐形,但是失败了。TT当时做《雪之守护》的时候想用99999帧的玩家2隐形箭塔封路,但是发现非西欧文明的箭塔没法隐形,结果只能给了玩家2西班牙。

笔者当时觉得不可思议,就对玩家1使用了中国文明,放置了两座箭塔,然后进入aokts修改帧数为99999帧,结果——
果然失败了!

但是失败后并没有那么简单,发生了点奇怪的事情

笔者上次遇到这种错误,是使用了盖亚文明,可以参照这个战役:https://www.hawkaoe.net/bbs/forum ... 60&page=5#pid751074
在《一只猫的一生》中,作者使用了盖亚文明,并放置了盖亚文明所特有的单位:美洲虎。这个scx可以用aokts打开并编辑,但一旦用地图编辑器编辑,不仅美洲虎这些单位会消失,而且scx也会不能用aokts打开并报错early EOF,除非在编辑器内保存一次。于是笔者有了个想法……

(不要在意有多少个阿提拉)
方法就是不进入地图编辑器,直接进入战役编辑器保存成cpx。这样这些箭塔果然隐形了。
然后翔鹰九袋大长老剧情狂点明了原因:

大家都知道,在编辑器里面玩家1到玩家8都是有一个默认文明的,分别是:不列颠,法兰克,哥特,条顿,日本,中国,拜占庭,波斯。也就是说,当编辑器读取scx时,先按照这些默认文明读取,然后再变成玩家自己设置的文明。
这就导致了,比如说,地图制作者为玩家3选文明为不列颠,再对其箭塔设置99999帧隐形。当载入scx一瞬间,玩家3文明被置为哥特。由于哥特和不列颠不是一套图像,这个箭塔的图像就改变了,99999帧隐形也被破坏了。
但是如果制作者为玩家3选文明匈奴,再对箭塔设置99999帧,由于匈奴、哥特、条顿、维京都是同一套建筑图像,箭塔的图像不会发生改变,隐形还会维持。
按照这个原理,玩家1和玩家2最好选用西欧系的文明(不列颠,凯尔特,法兰克,西班牙),玩家3和玩家4选用东欧系文明(匈奴,维京,哥特,条顿),玩家5和玩家6选择东方文明(中国,日本,高丽,蒙古),玩家7和玩家8选择中东文明(萨拉森,土耳其,拜占庭,波斯),这样可以避免99999帧隐形时失效。实验后的确有效:
那么阿兹特克和玛雅呢?很遗憾,没有默认玩家和他们对应。那么只能用上述的方法:
不进入地图编辑器,直接进入战役编辑器保存成cpx

做完整部战役,测试完毕后,再进行99999帧的操作。还有另外一种思路,就是利用改变所有权,因为改变所有权不会破坏99999帧隐形。比如,将玩家5的东方系箭塔改权为玩家3。至于具体怎么做,就见仁见智了。
有一些建筑是不会受到影响的,因为各民族图像完全一样,比如哨所。




侠卡康 发表于 2016-3-10 16:24:53

本帖最后由 atila 于 2016-3-28 19:32 编辑

既然说到了99999帧,不免会让人想起隐形天王——重装剑士
当时密铺帝发现了重装剑士的隐形效果:https://www.hawkaoe.net/bbs/thread-28062-1-2.html
虽然原理与99999帧不一样,但也深入人心。
之前主楼顶端的帖子里面有说明,大部分单位是不能使用99999帧的,因为单位的图像会“抖动”,早晚会显形,但是其实有个别隐藏单位还是可以用的
那就是“僵尸杀手”:
这个单位不仅站立是单帧不会抖动,走路也是单帧,可以边行走边隐形:
至于更深的用途,就要看各位战役制作者的了,这个帖子仅仅是帮助大家避免可能发生的bug,还有提供一些思路。

我不是纠纷哦 发表于 2016-3-10 16:32:05

99999帧有时候使用得太多,地图会崩档。。。。

我是谁004 发表于 2016-3-10 23:46:18

如果VMDL可以移动时隐形,那投石机车也应该可以了……

欧阳龙 发表于 2016-3-11 12:47:10

大发现,恭喜恭喜

Redapple 发表于 2016-3-13 15:09:42

好像有木头的伐木工什么的也是单帧……{:146:}

我是谁004 发表于 2016-3-13 23:13:12

Redapple 发表于 2016-3-13 15:09
好像有木头的伐木工什么的也是单帧……

那不是单帧,只是站立和移动动画相同而已
页: [1]
查看完整版本: 99999帧隐藏建筑的烦恼