dearWally 发表于 2022-10-4 23:45

侵略行为mod修改教程(新手教程)

本帖最后由 dearWally 于 2022-10-5 14:07 编辑

​​​​玩侵略行为这款游戏时,想改一些设置,比如禁用轰炸机、或者改单位的生命值、攻击力等,网上找了一下教程,知道是用moddingSuite这个工具,但是里面的参数太多,而且每个单位都是用一个Instance表示的(一个数字值),并且每个版本这个值都不一样,根本不知道这个Instance值和单位的对应关系。

无意中找到一个工具AoA_Complete_Armory,国外大神写的软件,可以看单位的信息。但是还是不知道Instance怎么和单位关联起来,幸运的是这款软件是开源的,用C#写的。由于我只会C/C++语言没学过C#,但是看了源码之后,也大概了解了代码哪部分是做什么的,于是就简单修改了一下,在单位描述里面加入了这个单位的Instance,因此我们就可以知道Instance和单位的对应关系了

修改单位参数时,我们主要是修改游戏的.dat文件,需要用到工具moddingSuite,在教程最后会提供所有工具的下载链接。
https://img-blog.csdnimg.cn/fa05b243b93140fe8a7ec1121284767e.png

点击file->open打开文件,找到游戏目录Act of Aggression\Data\ACTOFRUSE\PC这里可能有多个版本,我们选择最新的版本,即770000549
https://img-blog.csdnimg.cn/5d34a495aba042eca3a3ceb681a3e5be.png

打开这个文件夹里面的NDF_Win.dat文件,之后找到everything.ndfbin这个文件,双击打开它
https://img-blog.csdnimg.cn/afdf24996a22420caa1fdb236c6c4f61.png

单位都是位于TUniteDescriptor下面,所以在搜索框输入TUniteDescriptor,点击选中它
https://img-blog.csdnimg.cn/7798933af28a457990856b21e35a4378.png

中间这些都是游戏对象对应的ID,可以是建筑、步兵、坦克等单位
https://img-blog.csdnimg.cn/3ee1e637407f49eb813256cfa63da80d.png

那么这些值是怎么和我们的单位对应起来的,这里需要借助另一个工具AoA_Complete_Armory1.1





















dearWally 发表于 2022-10-5 10:56

本帖最后由 dearWally 于 2022-10-5 14:09 编辑

2、打开AoA_Complete_Armory1.1
首次打开需要设置游戏路径,点击右上角的settings
https://img-blog.csdnimg.cn/27287d7ee79e43eda633f154d5fd4b8c.png
https://img-blog.csdnimg.cn/a221bbf1dcf747698d5a7bd209f647e9.png

选择游戏主目录Act of Aggression,然后点击上面的<-返回到主页之后,会自动找到最新版本的.dat文件,然后加载内容,大概30秒可以加载完成


加载完成后,可以通过中间3个图片进入对应的阵营,或者点击左上角的文字进入对应阵营
https://img-blog.csdnimg.cn/9ab83601734d491ebbe41f3d25b77ce2.png


3大阵营对应如下us是美军(左边)、cartel卡特尔(中间)、chimera奇美拉(右边)

比如进入美军阵营,这里可以显示建筑和单位和图片,点击图片可以查看详情https://img-blog.csdnimg.cn/b5d5aa2a5afb4866bb8d81e0931bbd55.pnghttps://img-blog.csdnimg.cn/a9106397b5584fc2a017db6815c61ff0.pnghttps://img-blog.csdnimg.cn/0a03193325574a589da9b332fd596766.png大家可以看到,在单位描述里面,有个Instance的值,这个就是我们前面说到的对象ID,比如要改这个士兵的参数,就找到Instance为19011的内容https://img-blog.csdnimg.cn/12337d56896545eeba55eba79297a159.pnghttps://img-blog.csdnimg.cn/5ff05390797e4a36a649837d7ab08eea.png每个单位的参数主要是位于Modules里面https://img-blog.csdnimg.cn/2de13dc2da4c48b593352bc51e25a9e9.png里面有很多的Map,每个Map都对应不同的参数https://img-blog.csdnimg.cn/ab1617a8e6bf4163b9aa9b8dd0b2de42.png比如想改这个士兵的生命值时,双击Damage行左侧的Maphttps://img-blog.csdnimg.cn/776a670432a04d80b08ad6624f1db592.png在弹出的窗口,双击Defaulthttps://img-blog.csdnimg.cn/0069966d7bb9467cb663ee4fb13bfafe.png这个就是士兵的生命值6https://img-blog.csdnimg.cn/e7f81349dcdd429f8dd4b8eba8278f8e.png

下面列出部分参数的修改位置,后面对一些常用参数做举例说明


单位生命值
Modules.Damage.Default.MaxDamages


单位防御
Modules.Damage.Default.CommonDamageDescriptor.BlindageProperties.ArmorDescriptorFront.BaseBlindage
可以设置4个方向的防御值,主要看后面的ArmorDescriptorXXXX.BaseBlindage


视角范围
Modules.ScannerConfiguration.Default.PorteeVision


汽车载人数量
Modules.Transporter.Default.NbSeatsAvailable


单位移动速度
Modules.MouvementHandler.Default.VitesseCombat


阵营对应的值
Modules.TypeUnit.Default.MotherCountry
            US = 0                     美军
            Cartel = 1                卡特尔
            Chimera = 2             奇美拉
   

单位类型对应的值
Modules.TypeUnit.Default.Category或者Modules.TypeUnit.Category

      Ground_Unit_A = 3               步兵、坦克类
      Ground_Unit_B = 5
      Ground_Unit_C = 6                运输车(无攻击力类)
      Aircraft = 2                              飞行类
      Building = 8                           建筑类   
      Research = 50                        研究科技类



成本相关
Modules.Production.Default.ProductionRessourcesNeeded.5    现金成本
Modules.Production.Default.ProductionRessourcesNeeded.3    铝成本
Modules.Production.Default.ProductionRessourcesNeeded.6    电量成本
Modules.Production.Default.ProductionRessourcesNeeded.14   稀土成本


单位隐身
Modules.Visibility.Default.UnitStealthBonus
参数需要大于等于50,单位才能隐身










dearWally 发表于 2022-10-5 11:13

3、单位可以建造哪些东西

Modules.Factory.Default.ProducableUnits                        可以建造的单位列表
Modules.WeaponManager.Default.TurretDescriptorList      可以建造的武器列表
Modules.TechnoRegistrar.Default.ResearchableTechnos   可以建造的技能列表

Factory:指定这个单位能够造哪些车辆或者步兵。

以美军兵营为例,找到兵营对应的Instance,双击Factory行
https://img-blog.csdnimg.cn/6722e5cb86cd4358ba087c55d12d69ad.png

https://img-blog.csdnimg.cn/5883b64f30f1489ea6488960f66085d6.png

可以看到支持下面12个单位,每个单位都有对应的Instance,比如下面19011~19022,就是单位的Instance
https://img-blog.csdnimg.cn/78b6ea3158554c2ca05c6ccd00adc395.png

双击第一个ObjectReference,可以知道这是一个士兵
https://img-blog.csdnimg.cn/f7411425a37341ff98f6da3f72985b31.png

https://img-blog.csdnimg.cn/4337ea4508cf4485b93a04f803bcaada.png

其实AoA_Complete_Armory1.1工具已经把建筑和单位的关系体现出来的
比如兵营可以造这些士兵https://img-blog.csdnimg.cn/84f9061202444629a4073d6a8dd1e314.png
直升机平台可以造这些飞机https://img-blog.csdnimg.cn/faabbbb0e024494c8bd07232ac5200b3.png


单位是可以升级的,所以一个单位可以有多个Instance
https://img-blog.csdnimg.cn/630be70773824dcaa2b35f567e5d3442.png

比如这个士兵升级前Instance是19011,生命值是6
https://img-blog.csdnimg.cn/2074b8cff3b94d259a985b7bb5b99b99.png

升级后Instance是19012,生命值是8
https://img-blog.csdnimg.cn/a9bf9a31d4a34e4fb10dedd02c232081.png





禁用单位
如果想把这个士兵从这个建筑里面移除(即游戏禁用该士兵),那么只需要按下面方式即可删除
https://img-blog.csdnimg.cn/2ae852a436ed4a9b8bce9b311e4e3ae2.png

https://img-blog.csdnimg.cn/05b28096f91742a1870e12e95e236700.png

这里删除了19011和19012,一个单位可能支持多个等级,所以把该单位相关的都删除。
https://img-blog.csdnimg.cn/07bbd861eaa5452483bac14aacce803c.png

修改结束后,点击保存
https://img-blog.csdnimg.cn/f9f3b5c02bee4d6a8bcf5178605ecda0.png


运行游戏,建造美军兵营,可以看到,第二行第一列的单位没有了
https://img-blog.csdnimg.cn/628ab7e82ce2432689204a38add97736.png






增加单位
同理,如果想往建筑里面添加单位,比如我们想把悍马放到兵营里面建造找到悍马的Instance,这里是19085https://img-blog.csdnimg.cn/83d664a88c6d4146960b8a5b48abaa4c.png进入到兵营的增减单位列表这里(参考上面的方法进入到这里)https://img-blog.csdnimg.cn/fafebc90269f4a1c937133f477472339.png点击第一个按钮https://img-blog.csdnimg.cn/4473931822b3488ab0a6079a67a8faa9.pngData Type选择ObjectReference,左下方选择TUniteDescriptor,即添加的是单位,然后输入单位的Instance,点击OKhttps://img-blog.csdnimg.cn/becd9ba65c1645628574897a9ab04edf.png19085已经添加到该建筑里面的https://img-blog.csdnimg.cn/533a782bc856464a830d59ed2644cade.png 双击它可以看相关参数https://img-blog.csdnimg.cn/01f4794845ee4dc88740a174453946d2.png
只在这里面添加还不行,还需要在菜单里面配置一下在输入框输入TCubeActionMenuDescriptor,找到美军兵营,美军单位以US结尾,卡特尔是CS结尾,奇美拉是TFT结尾。比如美军兵营是Menu_Caserne_UShttps://img-blog.csdnimg.cn/37259b0a30914aee914c7639c5db5500.pnghttps://img-blog.csdnimg.cn/3dd16a2b9830426a9d8347fc55661876.pnghttps://img-blog.csdnimg.cn/544b992670434c3db31a642fac04d02e.png前面我们已经删除了美军士兵,所以4这个位置是空的,我们可以在这个位置加入这个单位。第一行第一列是从0开始的,所以第二行第一列是4https://img-blog.csdnimg.cn/628ab7e82ce2432689204a38add97736.pnghttps://img-blog.csdnimg.cn/3352435e7c8946d1a950dea0e3129d68.png

这是原来士兵Marine的配置,由于这个士兵是可以升级的,所以有两个
https://img-blog.csdnimg.cn/4925fdfd0961416f8eb32d2cea48df9c.png



我们知道悍马是在轻型战车工厂里面建造的,我们先找到这个菜单
https://img-blog.csdnimg.cn/a2b203e40397407b9b6e590e2e2f6815.png

我们可以看到他的菜单Instance是19919
https://img-blog.csdnimg.cn/3dc8ca7751864b189a88d42f97c0a225.png

双击ObjectReference,可以看到里面就是悍马的Instance
https://img-blog.csdnimg.cn/5e21d1c2566c4eb8bda4f13dc6b65ef1.png


回到美军兵营菜单,Map:4列表里面
https://img-blog.csdnimg.cn/4925fdfd0961416f8eb32d2cea48df9c.png

双击这里

https://img-blog.csdnimg.cn/62bd11bc709147f589912f0a57bc5152.png

输入19919,这是轻型战车工厂菜单里面悍马对应的菜单Instance,注意不是悍马的Instance。输入完成按下回车键确认
https://img-blog.csdnimg.cn/42aa6309c2984a8f901138320eafc9f2.png


由于悍马这个单位是不支持升级的,所以只有一个,我们把下面那个删除了
https://img-blog.csdnimg.cn/ecfc2beb516b418599fe15224051167d.png

最终的列表如下
https://img-blog.csdnimg.cn/248d966cbdc74f8f810d2f70fe2d223f.png


回到主页面,点击保存
运行游戏之后,可以看到兵营里面可以建造悍马了https://img-blog.csdnimg.cn/c3394a246e5347e2a7c5bbd1a76b2bea.png
也可以通过相同的方法,把其它阵营的单位添加到自己的阵营里面建造,菜单位置必须是空的才才能添加新的单位进去。












dearWally 发表于 2022-10-5 11:28

如何删除建筑物

TConstructor:指定这个单位能够造哪些建筑,非常重要的属性,通过这个只需要知道那三个HQ的ID可以索引所有其他建筑,然后再通过各种Factory就可以索引所有部队。

在输入框输入TConstructor 这里列出了各阵营支持建造的建筑单位,比如选中17620,点击ConstructableUnits,可以看到建筑列表
https://img-blog.csdnimg.cn/a2847c00341f411aa017c26bd2dc0150.png

比如17826就是美军兵营
https://img-blog.csdnimg.cn/6cc306db96c148c6af3c7240cae78982.png

这里举例怎么删除美军兵营
https://img-blog.csdnimg.cn/83ceb41cd7d74f9997506fb78c834150.png

https://img-blog.csdnimg.cn/c7abf133b98b44a4a14472ddd63b152b.png

https://img-blog.csdnimg.cn/b606d8f9e7354e72a133ef50b088cf1b.png


保存文件,运行游戏,可以看到第二行第一列的兵营已经不在了
https://img-blog.csdnimg.cn/42bdbccffc814eb8948156c94fb1d02f.png

但是发现升级到战备状态2时,兵营又出现了,那是因为还有其它几个Instance需要删除


需要把下面几个Instance中存在17826的删除
https://img-blog.csdnimg.cn/29907c41788040f087e7f068d009e84a.png
https://img-blog.csdnimg.cn/dc0f49cb11fe415183f59201351cd9ba.png

17620是3级战备支持的建筑

17637是2级战备支持的建筑

17651是1级战备支持的建筑

每个阵营4个Instance

7615、7688、7721、8946是奇美拉阵营的建筑物

17620、17637、17651、17681是美军阵营的建筑物

35876、37001、37018、37096是卡特尔阵营的建筑物

https://img-blog.csdnimg.cn/4881e1fc77cc401f82c396630c7919c9.png









dearWally 发表于 2022-10-5 11:34

技能升级
TechnoRegistrar:注册这个单位可以进行的技能升级,但神奇的是技能升级的效果只是将一种单位duang地变成了另外一种单位而已(比如升级悍马车的时候你会发现升级完成后新的悍马车直接跳了出来)。所以当你看到US Army HQ有三个版本的时候,并没有什么惊奇的。
说到同一单位的不同版本,除了不同升级的不同版本外,还有fake版本,visual fake版本,company版本,under construction版本,甚至连尸体都有相应的版本,难怪TUniteDescriptor对象有几千个实例。

下面以美军兵营为例,看一下它的技能升级列表
https://img-blog.csdnimg.cn/33f20b9053fb40e5a33934aa58c447b1.png


https://img-blog.csdnimg.cn/4b343abe620b454ca9b99b944d57cea6.png

可以看到兵营支持3个技能升级
https://img-blog.csdnimg.cn/6e6bfe93d2ee4f249e9df10fe1486d2f.png


对应的就是这3个技能



双击任意一个ObiectReference
https://img-blog.csdnimg.cn/68e4ebf9f2ca403c8c969f495853f8ca.png


可以看到这个技能的一些信息,比如升级这个技能需要的资源
https://img-blog.csdnimg.cn/f7922a2c636e4ba9a502f0ed620ba2f7.png






dearWally 发表于 2022-10-5 11:44

武器相关
WeaponManager:武器相关属性,Act of Aggression里面的任何一个单位的武器先是由若干个Turrets组成,然后每一个Turret上面有若干个MountedWeapens,每个MountedWeapon上使用一种Ammunition。
以美军士兵为例https://img-blog.csdnimg.cn/b88dc87e86534fa9a609bb39df62bf34.pnghttps://img-blog.csdnimg.cn/44ef05e160bb4769a4ad90ef41fbef02.pnghttps://img-blog.csdnimg.cn/663739e89fc64e2dac1b53a7a2ceb6d4.pnghttps://img-blog.csdnimg.cn/eac4e6ccc3ac48e89a77363b23181c99.pnghttps://img-blog.csdnimg.cn/7bcd1d3fe5304dac9e4368cde67d4046.png可以看到这个单位支持两个武器,原因是这个单位是可以升级的,第二个就是升级之后的武器。(如果你想给单位换武器,可以在这里把22688改成其它武器Instance)https://img-blog.csdnimg.cn/97fbde5a24704f5dbd65858d3fda6bb4.png
双击第一个ObjectReferencehttps://img-blog.csdnimg.cn/f29e99053b064fbfae7051fbfeeb610a.png

这里可以看到武器的信息
https://img-blog.csdnimg.cn/b2145afc665a438bb00ddfc4d6c4142f.png

有的武器攻击是有最小范围的,敌人离单位过近时是无法攻击的https://img-blog.csdnimg.cn/f94c7ae547704a58bd9425467ff28028.png






dearWally 发表于 2022-10-5 11:49

由于工具的文件过大,无法直接提供附件,这里提供下载链接
https://download.csdn.net/download/dear_Wally/86734131

dearWally 发表于 2022-10-5 15:52

参考https://blog.csdn.net/dear_Wally/article/details/127155816

yoyotv323 发表于 2022-10-22 10:27


感谢分享{:3_121:}

pb77558 发表于 2022-12-21 16:16

太感谢楼主了,这个游戏是为数不多的画面好的rts了,你不止挽救了这个游戏,还挽救了我的回忆。。。。。。。再次真心感谢!!!
页: [1]
查看完整版本: 侵略行为mod修改教程(新手教程)