人类怎么立即建造 人类立即建造修改方法

更新时间:2022-04-15 19:06:02作者:佚名

人类怎么立即建造 人类立即建造修改方法

  humankind游戏怎么立即建造?立即建造是玩家们迫切需要的技能,尤其是在游戏前期生产力缺乏的时候,下面小编就带来humankind游戏立即建造修改方法,一起来看看吧。

人类怎么立即建造 人类立即建造修改方法

humankind游戏立即建造修改方法

  首先找到nspy打开Amplitude.Mercury.firstpass.dll

  找到Amplitude.Mercury.Simulation包下的DepartmentOfIndustry类

  找这个方法private void ProcessOrderBuyoutConstructionAt(OrderBuyoutConstructionAt order)

  其中有一行是this.majorEmpire.DepartmentOfTheTreasury.Pay(buyoutCost);

  括号里给它改成this.majorEmpire.DepartmentOfTheTreasury.Pay(FixedPoint.Zero);

  具体改法就是右键编辑IL指令(因为反编译会因为引用外部dll无法再次编译,为了省事直接干IL)

人类怎么立即建造 人类立即建造修改方法

  找到调用Pay的这句

  26 004E callvirt instance void Amplitude.Mercury.Simulation.DepartmentOfTheTreasury::Pay(valuetype [Amplitude.Framework]Amplitude.FixedPoint)

  然后找它前面一句,就是加载buyoutCost的那句,应该是ldloc.3,如果不是就看看前面的一个函数GetBuyoutCost之后存到第几个位置了,应该有一句stloc.3和这个ldloc.3是对着的先存后读的。

  把ldloc.3给改成

  25 0049 ldsfld valuetype [Amplitude.Framework]Amplitude.FixedPoint [Amplitude.Framework]Amplitude.FixedPoint::Zero

  就是加载了一个FixedPoint.Zero这个静态变量。如果怕写错就找一下这个变量,然后查它的引用,找一行读取的IL指令复制过来,我就是这么搞的。

  保存进游戏,造个建筑,用金币直接买,然后金币不减少,修改成功。