游戏之家 > 游戏库

侵略行为 MOD的制作教程 如何修改游戏本身的心得

侵略行为 MOD的制作教程 如何修改游戏本身的心得

修改方法综述:

Uses:

英文原版,不管哪个升级档,不然或许会造成对应困难

Moddingsuite 我用的是0.8.2..如果不知道该如何使用这款修改器的,请看这里

首先,游戏里面有哦很多限制,再也不复当年帝国时代II里面那样民兵砍城墙的盛况……

小兵(我改的是Felin)并不能攻击建筑……其中或许有一些设定,但我不知道它是如何实现的,所以,暂时,我还不会修改这点,于是这方面的知识或许还需要大家一起试验……

下面我要讲的,是如何找到单位的位置:

理论上讲,有两种方法:

一种是找到TAllU。。。那个东西,猜出ClassNameForDebug的名字之后直接手工二分法找单位在哪里,而后直接读到单位id

比如,Felin的ClassNameForDebug里面是含有Felin的……但是M993的name是Unit_HEMTT_recolteur

so,必须使用其他技巧……

找到一个可用的ZZ_Win.dat(比如77000508版)和最新Ndf_Win.dat,使用Moddingsuite打开这两个文件

从ZZ_Win.dat找到unites.dic(选择uslocalisationunites.dic那个,这就是我要求使用英文版的原因……对应相当优秀,另外建议大家先对文件大小排序一下,我们要改的都是大文件……)

然后通过在搜索框中输入单位名称找到单位名称的Hash,或许有三个,或许有五个……这只能一个一个试试了……我没有其他更好的方法。

当然请确保你输入的名称的确是单位的名称……毕竟这里单位名称并不是那样好找的……

这三个(或者更多)Hash之中有一个会被写在NameInMenuToken上面,这个就是那个单位的名称,当然,如果你觉得这样重复得太厉害,你搜索单位描述也是一样的……虽然后者或许要多打些字

于是……在Ndf_Win.dat的everything.ndfbin(最大的那个包)之中找到TTypeUnitModuleDescriptor,选择右边的筛选,条件选NameInMenuToken(打开筛选框之后双击左边的那个框,之后按N)

于是你就选中了NameInMenuToken,此后双击右边那个框,输入Hash,几个Hash大约会中一个。。

之后点那个看起来像搜索键的按钮,按钮功能是看看到底是哪个instance调用了你选择的这个instance,一般调出来的东西就是你要修改的单位……

如何修改单位属性:

单位属性是用单位instance里面的ModuleXX来储存的,一般一个单位会存30多个Module,游戏通过读取这些Module来理解单位所拥有的技能,所以如果你想修改一个单位,你必须修改单位包含的module(一般就是:数据类型栏双击-弹出窗口-再找到想修改的数据类型双击-新窗口-……-终于找到Float或者UInt32类型数据-修改数值)

所以,下面的操作都有一个不断追码的过程,我省略了这点,但第一行的链接里面有向下追引用的各种截图,可以看看……

如何修改武器:

武器似乎是独立的,这比红龙不知好了多少倍……

我不确认是否给小兵换上新武器之后他们就能攻击建筑,只是我修改了武器之后小兵再也不能进房间跟别人肉搏了……都是别人干我的份……

修改武器需要最终修改到名叫TAmmuXXXXXXXXXX的东西里面存放的instance,那里面带Max的一般是射程,带damage的一般是伤害(大约有个suprise的,那个是惊吓伤害,似乎并没什么卵用……我喜欢同时修改射程和攻击力(PhysicalDamage)。。基本上改完这个跟射程之后敌人就再见了……)

玩战役的时候我从未从地图上看到一个敌人站立超过5秒钟……

!请记住,想修改杀伤力请修改TAmmuXXXXX下面的instance,module里面的Damage其实应当改名Hit Points更合适……如果你从Module里面直接选到Damage……然后把MaxDamage改成了700000——恭喜你做出了HP700000的生物(大约是死不掉的……)

如何修改移动速度:

其实这个很简单,有个带Move******的东西,一改就好,当然,鉴于不止一个单位用了这个module,你懂的……

解决方法是复制,create a copy,就是你追码用的那个钮的右边那个纽,点开会多出这个选项……

一般这个纽是点不动的……会弹出提示,说这不是一个Top Object……但你只要先点一下追码按钮左边的那个钮……一切就安静了……

之后,你就可以将单位的移动module选成你复制的那个,然后修改……

这样就不会有其它生物收到你的修改效果了……

修改资源以及资源储备

首先每隔几秒加钱是有module实现的,所以理论上可以通过修改使得任意单位获得这个能力,但这样做,我并不保证会不会出现其他问题。。

所以我更倾向于更改具有资源生产能力的单位:比如自动加钱的主基地……

首先,记住一个Instance:17457,这个是美国基地的造钱module……

理论上用这一句话就可以让大家忘乎所以地修改了……

另外id=97,100,112分别生产三大资源。。

这些个instance是如何找到的我不细说,无非就是各种追名字追引用……

得到了这些,我们就可以直接处理了……

以下是修改美军基地生产方法(17457)的简明流程

最开始,查找17457的引用,发现有2个单位引用了17457,不过没关系,经查证这两个都是美国的家伙,不用理会……

于是开始修改,否则要新建17457的副本之后修改这个副本的相关信息,不然电脑或许也会收到你修改带来的福利……

17457-双击它的default栏,在弹出对话框中双击transformationformulas

在弹出的对话框里新建两个条目,然后让这三个条目分别指向97,100,112(当然,过程有些繁琐,但一般做到这里都会明白该如何处理的)

于是你的基地就同时拥有了制造钱,铝和稀土的能力……

有些美中不足之处是生产速度实在捉急……不过没关系……可以通过建立并修改97,100,112的副本来弥补这点……

当然记得均衡修改,否则你会发现你的基地里面幸福地堆满了稀土——但你只有1单位的铝……(虽然不影响生产,不过看上去很难看,不是么……)


点击进入PKVS《侵略行为》游戏论坛专区