当前位置:游戏堡攻略单机攻略 > 正文

《人类》不花金币建造建筑方法分享

2021-08-19 10:27:30     来源:游戏堡     编辑:yxbao     我要留言

人类如何可以不花金币建造建筑?其实在游戏里面玩家可以不花费金币进行建造建筑,只需要进行一些修改,但是很多的玩家不知道如何修改,接下来小编就给大家带来人类不花金币建造建筑方法分享,快来一起看看吧。

《人类》不花金币建造建筑方法分享

人类不花金币建造建筑方法分享

dnspy打开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.Dep

artmentOfTheTreasury::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指令复制过来,我就是这么搞的。

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

声明:游戏堡网登载此文出于传递信息之目的,不代表游戏堡网赞同其观点或证实其描述,若侵权请来信告知,我们将及时处理。
更多>>
人类
7.5
评分:
游戏标签: 历史 战略 回合制
相关阅读: