心灵终结3.3.6地图编辑器萌新教程第19篇:作战小队(三):其他常用选项
我们之前分别在第6篇和第18篇中分别讲了:如何凭空刷出作战小队,以及如何用已有的单位建立作战小队。本篇中我们来介绍作战小队中的其他部分选项。

一、标签
在“作战小队”中有一个“标签”选项,这个选项就是将作战小队作为某一个触发的“关联对象”(详见教程第4篇)。但是将作战小队作为触发的关联对象要慎用,因为经本人测试,情况稍微有些复杂,若不注意可能会出现问题。以下为本人测试结果,仅供参考:
首先,将作战小队设置为触发的关联对象,有时候可能并不会按照预期触发相应的结果。
触发1:条件:被任何事物摧毁;结果:显示某句文本
特遣部队1:1谭雅;
动作脚本1:移动到路径点1;
作战小队1:使用特遣部队1、动作脚本1,标签设置为触发1;
游戏开始之后首先刷出用触发结果7或80刷出作战小队1。我们的预期结果是:当谭雅阵亡之后,就会显示文本。然而,实测效果并不一定与预期相符:
1、当作战小队1的所属方可以被玩家控制时(作战小队1的所属方不一定要和玩家所属方一致,只需要可以被玩家控制即可。例如,玩家所属方是美国,作战小队1的所属方是欧盟,但在地编的“所属方”设置中将“欧盟”的“玩家控制”一项设为“yes”),谭雅阵亡之后可以正常显示文本。
2、当作战小队1的所属方不受玩家控制时:
(1)如果谭雅在执行动作脚本的过程中(即还未移动到路径点1时)被击杀,那么可以正常显示文本;
(2)如果谭雅执行动作脚本之后(即到达路径点1之后)再被击杀,那么不会显示文本。
个人推测,原因可能是当AI控制的作战小队成员执行完动作脚本之后,就会“解散”该小队。感兴趣的朋友可以自己测试使用其他类型的动作脚本时(例如“攻击”“区域警戒”)的情况。如果有大佬对该现象背后的原理比较了解,欢迎在评论区留言。
第二,当触发1使用多个作战小队作为关联对象,且将触发1设为不同类型时的现象:
特遣部队2:2斗牛犬
动作脚本2:移动到路径点2
作战小队2:使用特遣部队2、动作脚本2,标签设置为触发1;
特遣部队3:2麒麟
动作脚本3:移动到路径点3
作战小队3:使用特遣部队3、动作脚本3,标签设置为触发1;
作战小队2和3的所属方均可以由玩家控制。
1、触发1的类型设置为0(任意关联对象满足条件单次触发):摧毁第一辆斗牛犬和第一辆麒麟时分别触发一次文本,摧毁第二辆斗牛犬和第二辆麒麟时不显示文本;
2、触发1的类型设置为1(所有关联对象满足条件单次触发):摧毁第二辆斗牛犬和麒麟时(即当某一作战小队全灭时)显示一次文本;
3、触发1的类型设置为2(任意关联对象满足条件重复触发):摧毁每一辆斗牛犬或麒麟的瞬间显示多次文本。一般不会使用。
综上,将作战小队设置为关联对象,情况比较复杂,如果一定要使用,建议一个触发只关联一个作战小队,并且确保作战小队的所属方受玩家控制或者作战小队执行的是一个没有终点的动作脚本(例如在几个路径点之间巡逻)

二、作战小队中的其他选项
首先我们要讲一下作战小队在内置ini中是什么样的。
在地图编辑器中,每一个特遣部队、动作脚本、作战小队、触发,都有一个编号。例如我们这里建立的作战小队编号为01000000。用记事本打开该地图,找到[01000000]小节,就是该作战小队的相关信息。里面的每一行都对应了作战小队中的某个选项。
下面我们按照内置ini中的顺序介绍一些常用选项的作用。有的是根据本人经验总结,有的是参考了ModEnc网站上的资料(https://modenc.renegadeprojects.com/Main_Page),仅供参考;如果有哪一条下面详细展开,可能是涉及的内容还未在此系列教程中出现过(如AI触发),或者是本人认为其用处不大,或者是我也没看懂。


Tag:标签,在第一部分中已经讲过。(实际上,每当我们新建一个触发时,都会同时生成两个编号,“触发事件”和“标记”,我们使用“允许触发”“禁止触发”这些触发结果时,它允许或禁止的是“触发事件”,而“关联对象”则关联的是“标记”。一般不需要刻意区分这两者,只需要注意在删除触发时最好将触发对应的标记一并删去,这也是我在教程第3篇中提到删除触发时最好不要点“否”的原因。)
Full:装载小队。如果勾选此选项,那么在凭空刷出作战小队时,如果小队成员中有运输单位,那么会将小队中的其他成员都装入运输单位中。
使用“装载小队”要注意以下问题:
1、如果刷出的作战小队中没有运输单位,比如刷出“2辆麒麟坦克”,那么是否勾选此选项没有区别。
2、装载小队在刷出时载员没有数量和类型的限制。例如在特遣部队里建立“1破坏神+10美国大兵+10麒麟坦克”,使用“装载小队”刷出,效果是1个破坏神里装了10个美国大兵和10和麒麟坦克。当然,卸载之后就不能再全部重新装回去了。由于“装载部队”是在建立作战小队时自动勾选的,所以,如果要正常刷出“犀牛+破坏神”这样的作战小队,记得取消“装载部队”。
3、如果有多个载具,那么只会有其中一个载具装有载员。例如,如果将2中的破坏神数量换成2个,那么会刷出1个空破坏神和1个超载破坏神。
4、无法实现多级装载,例如特遣部队里写“1运输艇,1步兵车,1工程师”,刷出来的部队是1个运输艇里装了一个步兵车和一个工程师,而不是装了一个维修车。
5、“装载小队”只用于凭空刷出的作战小队。如果要使用已有单位建立作战小队(参考上一篇教程),那么在特遣部队中不需要考虑载员,是够勾选“装载小队”也没有影响。例如,首先刷出1个装有1个美国大兵的破坏神(作战小队1),勾选“小队成员可被AI重组”。如果要使用触发结果4再让这个装有大兵的破坏神建立另一个作战小队(作战小队2),那么作战小队2是否勾选“装载小队”没有影响,作战小队2的特遣部队应该是“1破坏神”而不是“1破坏神+1美国大兵”。
Name:小队名称。
Group:分组。详见上一篇教程。
Script:动作脚本。
Whiner:哀叫效果。仅用于AI所属方。如果勾选此选项,攻击该作战小队中的任何成员都会吸引AI基地防御部队的追击。
Dropped:运输机空降。勾选此选项后,刷出部队的方式改为运输机从路径点A出发,将部队投放至路径点B,其中A为“运输机WP”,B为“路径点”或用触发结果80指定的路径点参数。
Suicide:忽视阻拦。Aggressive:侵略部队。两者配合可以决定当小队成员在执行动作脚本时遇到射程内的敌军或被攻击时的反应。情况相当复杂,放在本篇最后介绍。
Waypoint:路径点。
Annoyance:骚扰效果。Reinforce:增援部队。ModEnc上对两者解释比较相似:都是指当小队中的成员被消灭时,电脑会通过重组地图上已有的单位或生产新单位来重建这一小队,区别在于,后者在小队解散(例如小队中的所有成员都被摧毁)之后不会再被重建,而前者除非AI没钱或失去了生产建筑,否则会一直重建小队。ModEnc对Annoyance的解释还没有被充分证实,另外个人感觉Annoyance的效果描述和它的名称不是和贴切,所以持怀疑态度,感兴趣的朋友可以自行尝试。
Recruiter:忽视分组。Autocreate:自动创建。AreTeamMembersRecruitable:小队成员可被AI重组。这三个都与作战小队的创建和重组有关。上一篇教程中讲了“忽视分组”和“小队成员可被AI重组”的作用,但是经进一步阅读相关资料之后,发现实际情况可能比上一篇教程所讲的更复杂一些,还可能涉及到与第一部分相似的“作战小队是否属于玩家控制”的问题,之后我会就作战小队的创建和重组再出一期专栏或者杂谈来进一步讨论。
OnlyTargetHouseEnemy:不攻击中立阵营。但经本人测试,似乎该选项并没有用。
TransportsReturnOnUnload:运输器卸载后返回。没用。如果要实现很多战役中“运输艇在卸载后原路返回”这一效果,需要使用局部变量。我将会在之后局部变量的教程中讲具体的实现方法。
以下是“忽视阻拦”和“侵略部队”效果总结,参考ModEnc中的Aggressive词条:https://modenc.renegadeprojects.com/Aggressive,大部分我都没有验证,如果有人验证之后发现与专栏中的内容不符,欢迎指正。
当执行不同的动作脚本时,这两个选项的效果可能不同。常用的动作脚本包括:
A:攻击类,包含0(攻击)、1(攻击路径点)、46(攻击敌方建筑)、59(攻占路径点上的建筑)等;
B:移动类,包含3(移动到路径点)、47(移动到敌方建筑)等;
C:巡逻类,包含16(巡逻到路径点)。
1、当勾选“忽视阻拦”时,不论“侵略部队是否勾选:当被攻击时,不论执行的是哪种动作脚本,都不会反击,而是继续完成当前动作;当有敌军进入射程时,如果执行的是A类或B类动作,则不会发起攻击;若执行的是C类动作,则会攻击敌人;
2、当未勾选“忽视阻拦”时:
(1)当执行A类动作脚本时,是否勾选“侵略部队”没有区别:当敌军进入射程时不会主动攻击,当受到攻击时会还击。
(2)当执行B类动作脚本时:
(2.a)如果勾选“侵略部队”,则敌军进入射程时会主动攻击,受到攻击时会还击;
(2.b)如果不勾选“侵略部队”,则敌军进入射程时不会发起攻击,受到攻击时不会还击(与本人印象不符,暂时存疑)。
(3)当执行C类动作脚本时,不论是否勾选“侵略部队”,敌军进入射程时会主动攻击,遭受攻击时会反击。
以上我根据ModEnc资料内容对“忽视阻拦”和“侵略部队”进行了一些总结,该资料中对一些设定下作战小队的行为进行了更详细的描述,不过个人感觉没有必要区分得这么详细,各位只需要知道“侵略部队”倾向于让作战小队主动攻击遇到的敌人,而“忽视阻拦”倾向于让作战小队专注于执行当前动作脚本而不被干扰。例如,在《守护》第5关“界碑”开场中,沃尔科夫进入犰狳重型载具,然后被送往战地医院,在一开始测试时,遇到了以下问题:犰狳载具遭到敌方攻击时会站在原地与敌方交火,不去执行“移动到路径点”(前往战地医院)的动作,因此我在这一作战小队下面勾选了“忽视阻拦”,问题得以解决。

我们对“作战小队”的介绍到目前暂时告一段落,之后预计会讲局部变量相关的内容。后面在讲到AI触发时会涉及更多“作战小队”的用法。