红色警戒INI基础教程——盖特逻辑详解【Ares&Phobos】
GreatSword_高
编辑于 2026年01月05日 19:40
收录于文集
共14篇

盖特系统最初是作为武器时序控制器设计的,主要用于实现武器充能、过渡等阶段性状态变化。其核心机制是通过|StageX|阈值和|Rate|参数来控制武器的升档/降档时序。随着Mod社区的研究探索,这套系统被创新性地应用于多武器切换场景,并衍生出许多令人惊叹的创意应用。


进入正题。

下面展示一下完整的盖特逻辑。为了同步计数,偶数武器继承了奇数武器,仅将抛射体改为|AA=YES|

以下为盖特逻辑相关的词条。

WeaponX和EliteWeaponX完全可以使用相同的武器


核心机制讲解

|TurretCount|:炮塔数量限制,启用|WeaponX|多武器系统

    使用|WeaponX|系统(包括盖特逻辑)必须满足|TurretCount≥1|,这是基础要求,否则

因为|Report|而关联到0070DF8A而报错炸掉。同时会让主武器|Primary|和副武器|Secondary|无效,精英武器同理。

|IsGattling|:是否由盖特逻辑控制|WeaponX|的分配。

    Aircraft类战机无法正常使用盖特逻辑,仅会使用|Weapon1|。

|WeaponStages| 决定盖特逻辑有几个阶段

    以|StageX|控制盖特计数器多少以内为此阶。

    [X]阶保持到计数器达到多少后转到下一阶,[X]有效范围受制于|WeaponStages|的值。

 

剩余部分用我画的图片来继续说明,以三阶盖特为例|WeaponStages=3|

每个使用盖特逻辑的单位都有一个[计数器]

攻击状态使用|RateUp|每帧增加的计数值,[计数器]上升

非攻击状态使用|RateDown|每帧减少的计数值,[计数器]下降

特殊情况:若|RateDown=0|,则停止攻击时立即重置到初始档位。

武器切换规则:

武器按 序列号(12, 34, 56, …) 逐级切换,每档对应一个计数器阈值(StageX)。

对地武器:奇数编号(1, 3, 5, …)。

对空武器:偶数编号(2, 4, 6, …)。

最高档位:

当盖特计数器≥倒数第二档阈值时(如上图|Stage2|),使用最终武器(即最高档位|Stage3|所使用的武器)。

停止攻击后,|RateDown| 和最高档位数值(如上图|Stage3|)决定掉档速度(即延迟时间)。

循环盖特Ares引擎词条|Gattling.Cycle|):

启用后,最高档位(上图中|Stage3|)不再作为终点,而是在维持一段时间(由最高档位|Stage3|的数值决定)后自动重置至初始档位(即|Weapon1和2|所在的|Stage1|阶段)。

跳阶规则:

循环模式下必然跳阶(从 StageN 直接回到 Stage1)。

非循环模式(默认) 则不会跳阶,而是逐步升档或掉档。


注意:

1. 再次提醒盖特单位可以无炮塔,但是炮塔数量|TurretCount|必须≥1,写0或忽略没写会报错0070DF8A

2. 盖特逻辑最多支持6个阶段(即|WeaponStages=6|)。

如果不满足|WeaponCount||WeaponStages*2| 那么你也将得到一个精致的0070DF8A

3. |StageX|值均为累计值,从|Stage1|开始累加,最好满足递增条件:

Stage1 ≤ Stage2 ≤ ... ≤ StageN

4. 注意控制攻击间隔|ROF|如果匹配不好|StageX|的值,会存在跳阶段的现象。

5. 原版下盖特逻辑单纯依照奇数武器对地偶数武器对空来处理,无法在奇数武器攻击不了时使用偶数武器;并且即使|Versus=0|或|LandTargeting=1|导致当前武器无法发射也会继续升档,同样,它对地也不会根据|LandTargeting=2|换用偶数武器,你依然会看到最高阶奇数武器对地猛轰。

 Phobos引擎补全优化盖特逻辑的武器选用限制可以让奇数偶数武器分别使用不同|Verses|的弹头来攻击,如下演示。

优化LandTargeting=2的索敌机制,并让盖特单位无法攻击时正常降档

5. 原版下步兵无法使用盖特逻辑(Ares引擎也无相关拓展)。

每日构建版Phobos引擎支持步兵使用该逻辑,未来会添加进DevBuild#48

代码和坦克完全一样,同样需要使用|TurretCount|启用

6. 盖特武器的开火音效|Report|和常规武器开火音效不一样的地方是它用了和|MoveSound|相同的出入过渡效果,所以会出现多级武器叠加播放的问题,如果有需要请于artmd.ini内设置开火动画音效……还是举个例子吧:

比如我们要调用光棱坦克[SREF]的精英武器[SuperComet],里面仅有音效指定语句|Report=PrismTankAttack|并没有开火动画|Anim=XXX|,我们只需要增加一个空动画,并将|Report=PrismTankAttack|移到art[XXX]动画块中即可。

GIF无法播放音乐,就不演示了……

再次提醒,一定要养成拆分文件的习惯,不要在原rulesmd.iniartmd.ini内随意修改,除非你真的知道在改些什么。


顺道讲一下单位的开火坐标吧,需要在Artmd.INI或其拆分文件内修改

如果使用了多武器系统,主副武器系统和其坐标也是不使用的。

关于这个FLH,我画个草图给个参考吧,高(H)就不画了。

篇幅有限,其详细机制请前往DIYWiki内搜索“FLH”查看,建筑开火坐标稍有不同,可搜索|PrimaryFirePixelOffset|查看。

https://wiki.ra2diy.com/w/3.art%E8%AF%8D%E5%85%B8


接下来是演示环

基础应用展示

原版不循环盖特与《心灵终结》循环盖特天启复刻。

代码就不放了,如果学到这里还不会,那还是劝你放弃吧,毕竟比红警好玩的游戏可太多了。


思维拓展:古法炮制多武器系统。

具体请参考DIYWiki资料,搜索|IsGattling|有示例代码。

https://wiki.ra2diy.com/w/2.%E5%8D%95%E4%BD%8D%E5%B1%9E%E6%80%A7rules%E8%AF%8D%E5%85%B8#IsGattling

虽然我实现了基于|Verses|的多武器,但是强攻友军时操控性极差,会有发呆,卡顿问题,偶尔还需频繁重新下达命令,不过对敌还是没什么问题的。

难绷的时序系统,连续两次轮空蜘蛛和鲍里斯……

思维拓展:根据距离选择不同的武器

代码来啦!不过只展示必要词条,抛射体/弹头/特效什么的自己添加:

当然同样具备蛋疼的特质,比如档位归零后会重新索敌,如果敌方在转阶段前就进入低射程范围内,就仅会触发一阶段假武器等等


九千天华大佬仅用原版尤里复仇制作出的超丝滑多武器系统。

九千天华的动态 - 哔哩哔哩​

难望其项背……Orz


紫色逗逐大佬的《多种攻击模式教学》。

利用|TurretCount|和|WeaponCount|启用多武器逻辑,启用多少只看|WeaponX|,也就是盖特的|WeaponStages|没有用上的武器也可以通过Ares引擎的|NoAmmoWeapon|等用起来。

网页链接​

弹药逻辑教程可以在专栏右侧目录中查看。


虽然Ares/Phobos引擎对其进行了功能扩展,但盖特系统受限于原版简陋的设计性,存在诸多硬性限制和缺陷。现代引擎(如Kratos/WIC)提供了更先进、更自由的多武器实现方案,彻底摆脱了|StageX/Rate|等时序参数的约束。这些新方案不仅解决了原版的兼容性问题,还大幅简化了配置流程。不过作为原版经典逻辑,盖特系统在复刻传统单位行为时仍具参考价值。

此为WIC引擎的多武器功能演示,可去我的动态查看详情↓↓

网页链接​


那么本次教程就到此为止啦,感谢群里的小伙伴和大佬们提供的建议和改进措施有什么建议可以给我留言,我会进行详细补充,谢谢大家。

期待您的点赞