一些小队实例

触发刷的载具内成员开火

由轻稚天雪提供

直接刷出带兵的 IFV 或者战斗要塞时,里面的兵不会开火,你可以让它先不装载,走到蓝线内,再装载,再进攻。

让地图上现有的单位执行脚本

由轻稚天雪提供

  1. 将所需单位放置于地图,将单位属性的两个招募都设为1,
  2. 在它那里建立路径点,
  3. 建立对应的作战小队、特遣、脚本,作战小队无任何必须勾选的选项,
  4. 然后使用触发结果4 建立小队即可。

提示

  1. 如果单位是通过触发刷出到地图的,原小队需勾选允许AI重组;放弃原动作强制召唤,需要新小队优先级大于原小队
  2. 分组需要相同,除非勾选了忽略分组

运输船卸载后返回且成员执行命令

由轻稚天雪提供

  1. 建立局部变量1(初始0)
  2. 建立小队1,小队勾选装载部队,特遣为船+兵,脚本为移动到卸载点——卸载(保留乘员踢出载具)——设置局部变量1——执行剩余乘员要做的动作
  3. 建立小队2,小队路径点为卸载点,特遣为船,脚本为从卸载点开始的返航动作
  4. 建立触发1,刷出小队1
  5. 建立触发2,条件为局部变量1开启,结果为4号行为创建小队2

这样当小队1卸载后,便会通过局部变量令小队2启动,把运输船召回。作战小队最好都勾选忽略阻拦

TIP提示

如果需要重复运行呢?比如敌军一船一船地赶来进攻

将触发1, 2改为重复,触发2结果增加一个清除局部变量1即可

也看:地编教程 - 如何制作一个运输船卸载返回小队(附GIF图演示) - 哔哩哔哩

做一个“轮渡”,在几个地点间运送乘员

方法一

  1. 准备路径点0、路径点1,
  2. 准备特遣部队:运输艇
  3. 准备脚本:
    1. 警戒30秒(自己决定)
    2. 移动到路径点1
    3. 卸载,仅保留交通工具
    4. 警戒30秒
    5. 移动到路径点0
    6. 卸载,仅保留交通工具
    7. 跳转到第一行
  4. 准备作战小队,路径点为0,最好勾选忽视阻拦
  5. 触发刷出作战小队
  6. 记得与运输船所属方结盟(遭遇战请设为治安)

这样你便会看到运输船在两个地点来回走,而你可以上车,到站后会自动下车。

方法二

由无敌和谐弹提供

就像摸3的 Toxincity 那样,中立运输艇在两个点定时来回跑,任何玩家都可以把自己的单位装进去,运输艇到达目的地后自动卸载。

————————解决方案————————

  1. 建立两个局部变量,分别为变量A、B,预设值都为0
  2. 建立两个路径点,分别为路径点A、B
  3. 建立两个脚本,分别为脚本A、B
    脚本A内容:
    0,移动到路径点B
    1,设置局部变量,参数为局部变量A
    2,卸载,参数为3
    脚本B内容:
    0,移动到路径点A
    1,设置局部变量,参数为局部变量B
    2,卸载,参数为3
  4. 建立一个特遣部队,成员为一辆运输船
  5. 建立两个作战小队,分别为作战小队A、B
    **作战小队A内容**:
    关联脚本A,运输船特遣部队,**参战方为治安,路径点为A,小队选项中只勾选“预建造”** 
    **作战小队B内容** :
    关联脚本B,运输船特遣部队,**参战方为治安,路径点为B,小队选项中只勾选“预建造”**
  6. 建立五条触发(重点)
    **触发1:**
    所属参战方为治安,触发类型为“2.多次触发”,勾选禁止
    条件:“13 流逝时间...”参数为30左右(运输船等待时间)
    结果1:“4 建立小队...”参数为作战小队B
    结果2:“54 禁止目标触发”参数为触发1
    
    **触发2:**
    所属参战方为治安,触发类型为“2.多次触发”,勾选禁止
    条件:“13 流逝时间...”参数为30左右(运输船等待时间)
    结果1:“4 建立小队...”参数为作战小队A
    结果2:“54 禁止目标触发”参数为触发2
    
    **触发3:**
    触发类型为“2.多次触发”
    条件:“36 局部设置开启...”参数为局部变量A
    结果1:“53 允许目标触发”参数为触发1
    结果2:清除局部设置,参数为局部变量A
    
    **触发4:**
    触发类型为“2.多次触发”
    条件:“36 局部设置开启...”参数为局部变量B
    结果1:“53 允许目标触发”参数为触发2
    结果2:清除局部设置,参数为局部变量B
    
    **触发5:**
    条件为“8 任何事件”
    结果:“80 援军(作战小队)[在路径点]...”参数为路径点A和作战小队A

————————END————————

小队成员太多导致移动到路径点卡住

Ra2map:此文转载并修复自https://tieba.baidu.com/p/4535792765 ,原帖被删残废了,作者名也已丢失。

首先呢,做地图的,尤其是想做大兵团刷兵类型的,往往弄到某个地点,兵就不动弹了,所以在没有高级 AI 补丁和自己特殊编写的补丁的前提下,往往都是用一个 attack 直接奔着玩家基地去,结果就是游戏中各种单位智能极其低下,这个在各种海量 BT 防守图里面例子很多,我就不截图了

我们翻一翻 AI 的动作文件,有一组最难的进攻小队

ini
[0A43ADEC-G]
Name=Allied Big Team
0=6,MTNK
1=3,SREF
2=4,FV
Group=-1

一共13辆车,我们用触发的方式制作它看看能否行动

同样的,这个小队同样停滞在了第一个执行处(然后无法继续行动)

从上面的情况,我们可以得出,在默认文件的情况下,一般的小队队员数量不会超过10,如果是10个成员,有的时候会激发脚本动作,即可以完成脚本的第一个动作,但是多数时候是卡在那里取消动作的,而且,原版 AI 绝大多数小队,成员数量都没有超过10。所以:

  1. 如果制作者弄了一大堆的兵力,想要在玩家的基地门口集结冲锋,那么结果必然是不动弹
  2. AI 刷兵的脚本动作可能跟玩家制作的脚本动作限制不同。因此大于10这个数量的兵力在 AI 下可以动,玩家如果不写 AI 的话可能就无法动作

PS:这里成员的概念为:占据满一个单元,即 cell 的,为1个成员。红警2里所有的载具,飞行器之类的体积都是1,也就是说1个单位占据一个 cell 。而步兵的体积为1/3个 cell,也就是3个步兵为1体积单位。最明显的就是如果你通过地图编辑器放置兵力,一个格子里可以放置3名步兵,而关于 cell,如果你打开地图编辑器的框架模式,地图里面每一个小正方形即为一个 cell。

Ra2map:以下内容由轻稚天雪补充

通过查阅rulesmd.ini、ModEnc、全局代码词典,可以找到以下代码:

ini
;rulesmd.ini
[General]
Stray=2.0 ; radius distance (cells) that team members may stray without causing regroup action
RelaxedStray=3.0 ; gs Gather commands will use this number instead, allowing for bigger teams in AIT

;4.全局代码解释2019.txt
Stray=2.0 ; 队伍成员间的距离低于2时就会重新排布,会影响战役路径点判定,不建议改大。
RelaxedStray=3.0 ; 不严格的游离,为了顾及到AIT中的较大的团队,Gether指令被该数替代

;ModEnc
Stray
This also determines the minimum distance between a team's origin and its destination for the team to actually move there. If the distance is this or less, then the team will assume it's already in its destination and will not move further.

In other words, if you create or reinforce a team at a waypoint, and in the team's script you have that team move to another waypoint or target that's within this many cells from the team's origin waypoint, then the team thinks it's already reached its destination and will proceed to the next mission in the script.

RelaxedStray
Gather actions by the AI will use this number (in cells) instead of Stray= allowing for bigger teams in AI triggers & team types.

据此判断,Stray决定单位离路径点还有多远时认为它已经抵达,如果队伍里单位太多,那么外面的单位将始终无法确认到达,从而卡住。将其调大可以改善。不过如果写得太大,有可能导致单位短距离移动时,还没到它就认为已经到了,从而放弃移动。RelaxedStray可能是专用于特殊的聚集动作,不清楚具体有哪些。

所以,解决方法1为:不要用那么大的小队,确保小队成员占地不超过9格(且路径点无障碍物),解决方法2为:将以下代码添加于地图中

ini
[General]
Stray=3.0 ;原为2.0
RelaxedStray=4.0 ;原为3.0
PrismSupportModifier=150% ;无关,解决修改General导致的光棱塔连接伤害剧增bug

经测试,现在开头列举的大型部队可以正常完成移动动作了。

至此,相信各位 mapper 应该很明白如何修改两个参数用来调整自己的小队集结方式,需要更大更多的小队时,只需要适当放大参数即可。

使一个小队被摧毁后触发事件

Ra2map:修改自 a351650226

对于这个效果不少人可能会干脆直接给这个小队做一个新的所属方然后用全部单位被摧毁的事件来触发,不过如果在遭遇战这个方法就毫无用处了,所以这边介绍一个新的方法。

首先,新建一个作战小队,特遣和脚本自备,

再新建一个触发(触发1),条件自设,结果为将你的小队刷出

随后新建一个触发(触发2),条件为48 被任何事物摧毁,结果自设,将重复这一项设置为1(所有物体满足条件,单次触发)

然后打开你新建的小队,在标签那一栏把触发2的标签挂上去就可以了,这样小队全员被毁后便会触发。

DANGER警告

必须注意的是,AI 的小队挂载的标签,小队解散(完成所有脚本后)就会消失(玩家可控制的小队标签不会消失),而地图上原有单位的标签会一直存在。所以,不要让你指定的小队完成所有脚本,可以在脚本最后添加5 警戒时间6 跳转到行号(从1开始数,警戒那行)或一个进入状态,使其不会终止。

这或许也是传闻“小队不能在游戏刚开始刷出”“脚本动作不能少于2个”的原因。

以MO3的合作任务Ego ergo hax为例子,这组触发设置完成后,在游戏里,玩家只要歼灭这个小队,云茹就会移动到指定位置(结果4 建立小队)了。

援军阵亡后循环刷出

作者:tangs18

效果如尤里的复仇苏军第一关,消灭巨炮和海军。苏军初始援军小队阵亡之后,会自动补充完整小队

建立一个局部变量,一个触发,条件用两个1:流逝时间10秒,2:局部变量关闭。结果1:建立小队2:开启局部变量这个触发用触发类型2一直循环,

再建一触发,条件48,结果局部关闭,这个触发挂在刚建立的作战小队标签上面,并且用触发类型1满足全部阵亡条件,就可以实现你所要的阵亡后再次增援。

DANGER警告

同上一节

关于脚本中“面向”动作的参数

作者:a351650226,补充:如果要单位不停转圈,需要在面向动作之间插入警戒1秒

这玩意啥解释都没。。我于是直接就把128方向的填进去结果效果感人。。。于是我便拆开了原版苏6的地图看,发现4是对应的128方向。。于是我干脆做了个假设然后实验了一下,完全吻合。。现在推得所有方向对应值如下:

0 - 方向0
1 - 方向32
2 - 方向64
3 - 方向96
4 - 方向128
5 - 方向160
6 - 方向192
7 - 方向224

别告诉我你连那些方向对应的是啥都不知道。。。如果填更大的值的话仍然有效果,不过没实验不知道具体的对应关系,谁有兴趣就去试试看吧。。

  • 一些小队实例
  • 作者:轻稚天雪等  发布于:2024-02-19  许可协议:若无特别说明,均为 CC BY-NC-SA
需注册表触发如41动画&42爆炸解析
电脑相关配置