心灵终结3.3.6地图编辑器萌新教程第6篇:特遣部队、动作脚本与作战小队(一)
本篇所要讲的“特遣部队”“动作脚本”(在有的地图编辑器中简称为“脚本”)与“作战小队”在战役制作中非常重要,在每一关中都会被大量使用,从而实现各种各样的效果。
“特遣部队”“动作脚本”和“作战小队”三者是密不可分的,都可以在地图编辑器的“编辑”栏中找到。如果要用一句话来概括,那么一个“作战小队”所说的是“谁干什么”,其中“特遣部队”说明了“谁”,而动作脚本说明了“干什么”。本篇中我们会介绍作战小队最基本的用法——援军(所有地图上原本没有,凭空刷出来的兵在触发编辑器里都叫“援军”,包括己方的和敌方的)。后面会结合其他内容来说明作战小队其他更多的用法。
首先是“特遣部队”。特遣部队指明了作战小队所包含的成员,包括单位类型和数量。打开“编辑——特遣部队”,上面的“添加”和“删除”按钮是添加一支新的特遣部队或者删除整支特遣部队,左面的“添加”和“删除”按钮指的是在一个特遣部队里面添加或删除一种单位。最下面选择单位类型并输入每种单位的数量,方框中显示该特遣部队已包含的单位种类和数量。特遣部队的名称没有影响,但也不要随便起,要便于查找,另外在名称中不要含有中文,否则可能再次打开时是一堆乱码。除此之外还要注意一点:一个特遣部队的单位种类不要超过6种,否则只会读取前6种,后面的无效。“小组”选项不用管。
单位类型实际上要选择的是单位在ini中的注册代码,再说一次这种有这么多选项的不可能一个一个去找。那么如果不知道注册代码怎么办?你可以在地图上放一个这个单位,然后鼠标悬停到上面,就可以在左下角看到这个单位的注册代码了。

比如,我们可以创建一支由3个犀牛坦克,3个破坏神载具组成的特遣部队,如下图所示:(另外给个小提示:在特遣部队中输入单位类型的注册代码时,每输入一个字母,输入位置就会自动跳到最前面,至少在我的地编版本中是这样的。所以建议输入的时候倒着写,比如犀牛坦克可以直接打KNTH)

然后是“动作脚本”。顾名思义,动作脚本就是一系列动作,指明了作战小队中的成员需要执行的任务。打开“编辑——动作脚本”,上面的“添加”和“删除”针对整个动作脚本,下面的“添加”和“删除”针对一个脚本中的一个行为。行为的类型有很多,其中多数我也没有用过,常用的包括“攻击”“攻击路径点”“移动到路径点”“区域警戒”“卸载”“部署”等等。其中“脚本转到行号#”可以帮我们实现循环,后面会举例说明。
例如我们想让一支部队先移动到下图中的路径点16,再攻击位于路径点17的盟军基地,就可以写这样一个脚本:行为0:移动到路径点,参数16;行为1:攻击路径点,参数17。


同样,动作脚本的名称中不要含有中文。另外,一个动作脚本的长度似乎有限制,即行为不要太多,不过十几个动作应该还是可以的,一般来说不会有那么多。如果动作真得非常多,可以试试分成几个脚本,然后用行为类型“更改应用脚本”连起来,不过我没有试过,不知道是否有效。
再补充说明两点。第一:动作脚本中的行为是按顺序连续发生的。如果需要小队在执行完动作1之后,等一段固定的时间再执行动作2,有时可以在两个行为之间插入行为“区域警戒”,填上时间即可。如果需要小队在执行完动作1之后等待,直到满足某个条件之后再执行动作2,就不是一个动作脚本能解决的问题了,一般用局部变量解决,后面再说。第二:只有一个小队中的所有成员都执行完第一个行为之后,才会去执行第二个行为。比如行为类型是“移动到路径点”,只有当所有单位均移动到该路径点附近时,才会执行下一步的动作,先到的成员会等待。因此,相应的特遣部队中的单位数量不要太多,否则在使用这类脚本时可能会出现小队的一些成员无法移动到该路径点附近,毕竟一个路径点附近就那么大地方,从而不执行下一步的动作。
有了“特遣部队”和“动作脚本”,就可以组建作战小队了。打开“编辑——作战小队”,可以看到有一堆需要填的东西。
先点击上面的“新建”,建立一个名称为New Teamtype的作战小队。
名称:无影响,方便查阅即可,不要包含中文。
经验等级:1为新兵(无星),2为老兵(一星),3为精英(三星)
所属方:这里的所属方是真正决定这个作战小队是属于场上哪一阵营的。选择你想要的所属方即可。例如这里选苏俄Russia.
优先权、最多、科技等级、心控结果、分组:不用管。
路径点:如果是凭空刷兵的话,这里可以不用管,不过这个路径点在其他情况下可能有用。
动作脚本:选择你想让小队成员执行的动作。比如前面的16 - Attack 17
特遣部队:选择小队的成员。比如前面的3 HTNK, 3 BOREK.
标记和运输机其实路径点:暂时不管,后面再讲。
下面还有一大堆选项,系统会自动勾选“自动创建(AI重组)”和“装载小队”。不同的地编对这些词的翻译可能有点区别。对于前面我们建立的由3犀牛3破坏神组成的作战小队,因为破坏神有装载功能,所以在这里切记取消“装载小队”,否则你会惊奇地看到一个破坏神里装了两个破坏神和三个犀牛坦克。这些选项有的用得很少,或者是我也不知道有什么用,后面会挑常用的结合具体例子讲解。

这样我们就建立好了一个作战小队,具体内容就是:苏联的3辆犀牛和3辆破坏神会先移动到路径点16,然后攻击位于路径点17的盟军基地。
有了作战小队,最后一步就是写援军的触发了。关于援军的触发有两个:结果80:援军(作战小队)【在路径点】……,以及结果107:超时空传送援军……这两个触发的唯一区别是用结果107刷出来后,单位脚底下会有一团超时空的痕迹(就像超时空兵移动后那样),并且有短暂的“眩晕”时间(不过一般可以忽略不计),注意结果107并不包含在刷兵地点出现超时空动画(就是用超时空传送时的那个旋转的白色罩子),如果需要的话可以添加结果41:播放动画在……,动画类型选256 - ChronoTG.
我们在前面路径点16附近再建立一个路径点18,然后随便写一个简单的触发条件,比如流逝时间10秒。然后填结果107。有两个参数:作战小队就选我们之前的3 ETNK, 3 BOREK Attack,路径点选18。这里的路径点是真正决定刷兵位置的路径点,而不是“作战小队”里面的路径点。也就是说,这支属于苏俄作战小队会在游戏开始10秒之后凭空出现在路径点18,然后执行相应动作。另外说明一点:触发选项中的“所属方”在这里不起作用,不用修改,前面说了决定作战小队归属的是“作战小队”中的“所属方”选项。
最终效果如图:


下面举几个例子。
例1:循环刷兵。
在自制战役《守护》“第五章:界碑”当中,游戏开始一段时间后,每隔7分钟会分别从地图左边和下边刷一艘敌军基洛夫攻击战地医院,共刷若干次。在这里我们先不管如何实现“游戏开始一段时间后开始触发”以及“触发若干次后停止触发”,主要来看这里的循环刷兵如何实现。
特遣部队:1 ZEP(基洛夫空艇的注册代码),即一艘基洛夫空艇
动作脚本:Attack Hospital,只有一个行为:攻击在路径点的建筑,路径点参数为37(为本关中战地医院所在的路径点)。
作战小队:1 ZEP Attack Hospital. 填上前面的特遣部队和动作脚本。所属方为拉丁同盟Confederation(本关敌军阵营),其他保持默认即可,这里“装载小队”是否勾选没有影响,因为只有一个基洛夫,不可能出现“装载”现象。
触发:敌军基洛夫
触发类型选2:重复触发
触发条件:流逝时间420
结果0:80,援军,路径点47(在地图下方的可见区域外),作战小队1ZEP Attack Hospital
结果1:80,援军,路径点48(在地图左侧的可见区域外),作战小队1ZEP Attack Hospital
结果2:19,播放音效,参数WarningAlarm,即警报声
结果3:21,播放语音,参数填:EVA_EnemyAirArmadaDetected,就是副官会说一句:Warning, enemy air armada detected.(警告,侦测到敌军空中部队)
结果4:11,文本触发事件。如何在任务中加入文本后面再说,参数选相应的文本后,最终效果就是会在左上角显示:“警告:侦测到基洛夫空艇!”
结果5:55,建立小地图事件。路径点47,事件填1
结果6:55,建立小地图事件。路径点48,事件填1。这两个结果的效果就是在小地图上的两个位置显示一个黄框。“事件”参数不要管他给的选项,填数字0到5即可。0、3、4是红框,1、2是黄框,5是蓝框。
这样就可以实现每隔7分钟刷两艘基洛夫,并且每次刷出时会出现文本提示、语音提示、警报提示和小地图提示。

例2:巡逻部队
“巡逻”在动作脚本中实现。例如要在路径点1和2之间巡逻,可以写如下的动作脚本。
行为0:巡逻至路径点:2
行为1:区域警戒:15(秒)
行为2:巡逻至路径点:1
行为3:区域警戒:15(秒)
行为4:脚本转到行号:1(注意:行号指的是“第几行”,从1开始,第1行对应的是行为0。这里意思就是说行为3完成后又从行为0开始循环)
将此动作脚本与某特遣部队组合成一个作战小队,然后在写触发时将刷兵路径点设为1或2都可以。“区域警戒”是指到一个点后停一段时间,也可以不停,即删去行为1和3。
例3:名场面:旋转脑车
在“盟军14关:傀儡师”中的两个旋转脑车是通过以下的动作脚本实现的:
动作脚本:Mastermind Clockwise(顺时针)
行为1:强制面向:4(左下)
行为2:区域警戒:1
行为3:强制面向:6(左上)
行为4:区域警戒:1
行为5:强制面向:0(右上)
行为6:区域警戒:1
行为7:强制面向:2(右下)
行为8:区域警戒:1
行为9:脚本转到行号:1
另一个逆时针旋转的脑车只要把强制面向的方向稍作修改即可。
特遣部队为1 MIND(心灵之主),组合成作战小队,任务开始时在指定路径点触发援军即可。
经测试,中间的“区域警戒”行为是必要的,否则无法正常旋转。