虽然很早就知道有“当AI有多个基地之后,会导致很多建造限制失效”这个说法了,但一直不太清楚里面的“很多”到底是有多多,
直到我这次我有张地图,在里面的电脑同时满足了无限金钱、空间充足、多个基地这三个条件之后,我尝试限制电脑建造防御塔的数量,才发现不是很多限制失效,应该是所有限制都会失效……
下面以“在电脑有15个基地的前提下限制电脑建造巨炮的数量不超过22个”为例,讲一下我尝试限制建造数量的各种方法,
- 要限制建造数量,大家第一时间想到的自然是BuildLimit,但我实测,不管是写“BuildLimit=22”还是“BuildLimit=-22”都没有用的,只要电脑的巨炮被玩家拆掉了一个,直接就会又建造15个巨炮,没有上限。
- 在BuildLimit大法失效后,我思考了一下,既然我只是在做地图,那可以考虑通过地图的触发来限制建造数量,于是写了一个地图触发,当地图里面巨炮科技类型存在的数量达到22个之后,就调整巨炮的科技等级为11,“TechLevel=11”了,电脑应该就不能造了吧,等检测到巨炮数量少于20个了再把科技类型改回去就行,想得挺好,但是实际测试还是,游戏中用触发把巨炮改成“TechLevel=11”之后,电脑依旧哐哐造。
- 这时候想起了ares里面有个“Prerequisite.Negative”可以让单位在有了某个建筑之后就无法被建造,于是我就给给巨炮加了个“Prerequisite.Negative=厕所的注册名”,然后把厕所建筑放到地图外面,在触发检测到地图里面巨炮科技类型存在的数量达到22个之后,就把厕所建筑的所属方改成电脑,但实际测试还是电脑依旧哐哐造。
- 这下我是有点没招了,想了半天,决定从巨炮的建造前提“Prerequisite”入手,给巨炮的建造前提加了一个厕所建筑,开局就把厕所建筑更改所属方给电脑,然后在触发检测到地图里面巨炮科技类型存在的数量达到22个之后,再把厕所建筑摧毁,都暂时先不考虑电脑巨炮数量少于20个后怎么恢复建造的问题了,这样总应该可以了,结果实测了一下,现在电脑巨炮的数量确实没超过22了,因为电脑完全不造巨炮了,后面才意识到,建造前提里面的建筑,必须要是电脑自己建造出来的才会有效,直接用触发给的建筑,电脑根本不认。
而对电脑有效的这些建造前提(TechLevel,Prerequisite,Owner,AIBasePlanningSide,RequiredHouses,ForbiddenHouses)里面,我能够做文章或者说用地图触发来调整的其实也就TechLevel和Prerequisite这两个,现在看来都不行,属于是万策尽了,
我在论坛里面搜了一下,之前也没有这方面内容的帖子,应该还是这个场景太冷门了,不过还是整理记录一下发了出来,免得后人再像我这样浪费一堆时间去测试,
总结一下,除非一开始就完全禁止了电脑建造某个建筑,否则是没有任何办法能够在电脑多基地的前提下控制电脑建造这个建筑的数量的,可以不用在这上面浪费时间了,我已放弃,不过欢迎大佬打脸,好吧,其实我就是来看大家有没有什么好方法能解决这个问题的
|