
首先简单介绍一下Ares引擎:阿瑞斯(Ares)是一款用于扩展《尤里的复仇》游戏功能并修复游戏引擎中漏洞的新工具。它由 pd 在 2007 年末构思出来,多年来由阿瑞斯贡献者团队(The Ares Contributors)进行开发,并于 2010 年首次向公众发布。(官网概述)
它并非EA官方出品,而是通过逆向工程和代码扩展实现的强大模组开发工具,旨在突破原版游戏的技术限制,为模组制作者提供更多可能性。

以下为示范:Rulesmd.ini内
在Rulesmd.ini文件中,随意找个显眼的地方注册,比如表头[General](全局相关标签)上方
[#include] ; 拆分子文件
+=XXXXXX.ini ; 文件名自己设置,必须与文件夹内相同,最好设置英文名。
…………以下是示范例子…………
+=AAlist.ini ; 注册表,这一模块全部是注册表
+=AArules.ini ; 修改内容,这里是你自己新增或修改的单位之类的
接下来我们在拆分出来的ini文件内注册或修改等同于在原文件中修改,并且同名单位增加修改词条也会对游戏产生影响,并不需要完整复制一个单位模块。
以下为示范:AArules.ini内
AArules.ini内 仅写这么3句话,其它词条没有写
[E2] ;动员兵
Primary=120mmx ;主武器换成天启主炮
Secondary=MammothTusk ;增加副武器为天启导弹
可以看到动员兵的主武器被更新了,副武器也增加了。

换了个显眼的导弹Image
我们不需要把原词条整个复制过来,只需要新增词条,或者重新赋予新的值即可给原单位赋予新属性。修改数量少的时候你看不出来,当多了以后你就知道好处了。
[#Include]
+=INIConfigs\test.ini
; 读取[根目录]下的[INIConfigs]文件夹下的test.ini文件
+=INIConfigs\Soviet_\test.ini
; 读取[根目录]下的[INIConfigs]文件夹下的[Soviet_]文件夹下的test.ini文件
用这个方式可以在茫茫多文件的根目录下快速找到你的INI文件,但是如果你需要MIX封包,MIX包是不读取文件夹嵌套的。
所谓[属性继承]便相当于将[A]全文复制到[B]这里来,包括[A]的本身属性,武器调用巴拉巴拉。使用方式为[B-新单位]:[A-被继承单位]
先在AAlist.ini中注册
等同于在Rulesmd.ini内注册
[InfantryTypes] ; 步兵注册表
+=SupperE2 ; 超级E2
+=Test_1 ; 继承测试单位
[VehicleTypes] ; 坦克注册表
[AircraftTypes] ; 飞行器注册表
[BuildingTypes] ; 建筑注册表
[SuperWeaponTypes] ; 支援技能注册表
[WeaponTypes] ; 武器注册表
[Warheads] ; 弹头注册表
[Animations] ; 动画特效注册表 然后在AArules.ini中修改
AArules.ini内 仅写这么3句话,其它词条没有写
[E2] ; 动员兵
Primary=120mmx ; 主武器换成天启主炮
Secondary=MammothTusk ; 增加副武器为天启导弹
[E2Supper]:[E2] ; 超级E2完全继承E2
[Test_1]:[SHK] ; 测试单位继承磁暴步兵
Image=TANY ; 定义谭雅外形 可以看到哪怕动员兵在新的注册表内修改了武器,依然全部继承,且引用了谭雅外形的新磁爆谭雅也出现了。

结合继承与拆分,我们可以大大减少重复代码的工作量,不但减少了体积,看着也清爽。
同时“[B-新单位]:[A-被继承单位]”可以理解为“[B-新单位块]”,可直接在下方增加词条
为了方便理解,再次举个例子,我们要创建一个新的坦克单位,它引用了战斗要塞的载员逻辑+磁能坦克的磁能武器,然后我们又懒得写那么一堆词条,只需要这样
AAList.ini下注册
[VehicleTypes] ; 坦克注册表
+=ANNIHILATE ; 星火燎原MOD——湮灭者坦克
AARules.ini下修改
[Text_2]:[TTNK] ; 继承磁能坦克
[Text_2]:[BFRT] ; 继承要塞
Image=ANNIHILATE ; 模型引用=星火燎原MOD——湮灭者坦克 
坑爹呢这是!(╯‵□′)╯︵┻━┻
这是因为后面写的继承属性会覆盖前面的属性([继承要塞]在[继承磁能坦克]后面/下面)
所以要塞的主武器覆盖了磁能的主武器
要塞的建造条件Prerequisite=GAWEAP,GATECH覆盖了磁能的建造条件Prerequisite=NAWEAP,NARADR
又因为专属苏联词条RequiredHouses只有磁能坦克有,所以这个词条没被覆盖,就造成了以上结果。
理解了顺序问题,那么我们只需稍稍修改即可。
AARules.ini下修改
[Text_2]:[BFRT] ; 先继承要塞,索取载员逻辑
[Text_2]:[TTNK] ; 再继承磁能坦克,替换主副武器
Image=ANNIHILATE ; 星火燎原MOD——湮灭者坦克
Prerequisite=GAWEAP ; 重新定义建造前提
Owner=Russians,Confederation,Africans,Arabs,British,French,Germans,Americans,Alliance,YuriCountry
; 重新定义所属国
RequiredHouses=Russians,Confederation,Africans,Arabs,British,French,Germans,Americans,Alliance,YuriCountry
; 重新定义哪些国家可以建造
这样我们就达到了【不更改原始Rulesmd.INI】的情况下,用很少的词条新增了一个单位。

不要在意开火位置,仅为测试使用

红警DIY论坛大佬九千天华与双杀步枪总结的一图流
简单解释一下:这张图直观的体现了【拆分文件】的读取顺序,A.ini就好比Rulesmd.ini,它拆分了B和D,B又拆分了C,C又拆分了E,D拆分了F和G,如果你在D和E这里分别更改了动员兵[E2]的属性,那么它最终调用的属性是E的属性,也就是最后的属性。
如果在C、F和G内分别改动,则最终调用G的属性。
同时,它也适用于【属性继承】,比如你在E.INI中继承前面的任意块都没问题,但是从B继承E就不行。
然后G可以继承同列的F或者C,但是C不能继承F和G。
B站原贴《浅谈[#include]读取顺序》地址:
以动画注册表[Animations] 为例
[Animations] ;原版《尤里复仇》动画注册表
0=TWLT100
1=ELECTRO
2=H2O_EXP1
……
604=NANRCT_PD
605=YAPOWR_BD
606=YAPOWR_CD
如果是大型MOD的话动画量只会更多,如心灵终结有2200+的动画量,你如果没有安装Ares引擎,不懂得使用[#Include]拆分文件,你需要先搜索[Animations],然后从头往下滚啊滚啊滚,再到末尾处增加新的序号添加新的动画名。鼠标滑轮表示mmp。
而当你使用了拆分规则以后,只需要在新的ini文件中输入即可,以本人的AAList.ini为例:
AAList.ini中
[Animations] ; 动画注册表
114514 = NewAnim ; 数字/英文字符及符号均不可同名复用
+ = NewAnim1 ; +号可以同名复用
+ = NewAnim2 ; +号可以同名复用
NewAnim3 = NewAnim3 ; 数字/英文字符及符号均不可同名复用
NewAnim_4 = NewAnim4 ; 数字/英文字符及符号均不可同名复用 注册时不强制使用数字来注册,你可以使用任意英文字符代替序号,并且也可以用“+”来复用
整体结构为“名”=“注册名”,比如上面的“+”=“ANNIHILATE”和“NewAnim3”=“NewAnim3”
顺便推广一下我们的INI萌新交流群:796097515