Ra2map:本文转载自【教程】AI基地车防卡(含样例地图) - 红警任务之家
本教程前置知识:触发与小队的基本知识、局部变量的基本知识
经常被卡住的AI基地车
试过的人都知道,单人战役中AI展开基地车可能是一件非常麻烦的事情。
没有任何干扰的话还好,走到预定位置,展开,搞定。
但如果存在玩家的刻意干扰,AI的基地车极有可能在预定的位置被卡住。更恶劣的情况,比如玩家在AI预定的基地展开位置故意留下一截围墙,或者用时空兵、磁电坦克等控制单位和基地车疯狂的皮。再或者,在基地车判定周围空间足够、可以展开,于是转向右上方尝试展开的一瞬间,派一个部队去卡它,然后它就傻了,就在原地不会展开了……或者在一些mod里面,通过支援技能扔一个东西刚好卡住基地车的位置,等等
向遭遇战取经
虽然在战役中有一万种方法卡住敌人的基地车,但以上种种现象在遭遇战却鲜有发生。
我们在遭遇战可以看到这样的行为:AI的基地车会不断尝试向周围进行随机的移动,每移动一小截就尝试判断周围区域是否足够,如果足够就立刻展开,否则就继续随机移动……如此重复,这样AI会高概率找到一片可以展开的空地(或者,在此之前基地车就被打爆了)
很遗憾,我没能在单人战役中找到控制这种行为的代码,也就是不能在战役中通过几条代码就启用这种行为。 但是我们可以用一系列的触发去模拟这种行为!
一个简单的循环
我的思路如下:
- 为了防止小队被中途解散(磁电吸、EMP等状况),每一步尝试都应当解散之前的小队,重新建立一个小队,来执行下一步动作。
- 利用 “几个相同的随机延时谁先执行” 来做最简单的随机。
- 让基地车向某个方向移动一段时间以后解散小队,来做到“随机向一个方向走一小段距离”的效果。
- 基地车本身在“随机移动”、“尝试部署”、“部署失败”3个状态之间循环。一旦部署成功则跳出循环、解散之前用到的全部小队。

为此我做了一个样例地图:敌人的基地车初始位置被树木阻挡,玩家也可以使用磁电坦克和警犬去干扰,但AI还是会尝试不断的移动基地车并试图找到可以部署的地方。
8个触发,5个小队,1个局部变量,已经比较精简了。

样例地图下载:
由于基地车的移动是“随机向1、2、3、4号路径点移动”来控制的移动方向,因此可以认为敌人的基地车部署的预定区域就在这几个路径点围成的区域之中。也是一个有限的区域,不过大得多了。
一些小细节
这种方法是可以复用的——如果AI的基地车被摧毁了,再刷出一辆,同一套触发还能继续用。
至于保卫基地车的安全,那是其它单位的事情。尤其是如果是要在一个先前玩家占据的阵地上建立基地,那起码要刷大量的兵或者使用超武等手段把这个区域轰一遍,然后基地车才敢来。
如果玩家真的丧心病狂到把这个区域用围墙完全填满……建议基地车自己扭头跑路哈,今天你也不用来了(((
另外由于此时基地车部署的位置已经不确定了,建议使用“自动建设基地”功能,让AI自行安排生产建筑的位置。(相关内容可以看我写的基地节点教程)
另一种脑回路
其实关于AI基地车防卡,还有另一种思路,就是障眼法:基地车开到预定位置以后,删除AI的基地车,同时使用触发 [结果 125 建造特定类型的建筑] 强行造出建筑。
这种方法也有相应的优缺点,这里不再赘述。