《世嘉人类》中的人口和军队是游戏里非常重要的,而且可以通过一些修改快速刷出来,但是很多玩家都不太清楚快速刷人口和军队的方法是什么,其实这个快速刷的方法就是解散部队返还人口数量5倍,然后在招募军队,再解散,更多如下。
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.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指令复制过来,我就是这么搞的。
保存进游戏,造个建筑,用金币直接买,然后金币不减少,修改成功。
再来一个,解散部队返还人口数量5倍。结合上面的免费金币雇佣就可以原地一回合炒人口/军队了
namespace Amplitude.Mercury.Simulation
internal class DepartmentOfDefense : Agency, ISerializable
private void ProcessOrderDisbandUnits(OrderDisbandUnits order)
这句
population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant;
进IL编辑,找到这句
67 00CF ldfld int32 [Amplitude.Mercury.Data]Amplitude.Mercury.Data.Simulation.Costs.PopulationInstantCostDefinition::Constant
后面加两行
ldc.i4.5
mul
改好变成这样
population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant * 5;
以上就是小编为大家带来的世嘉人类快速刷人口军队方法介绍,希望对玩家有所帮助,更多精彩内容请关注世嘉人类专区!
本站推荐
傲世神话
我叫MT外传
元气骑士
滚动球球
同学来找茬
童话大乱斗
合成飞机大亨
风云天下OL
万亨捕鱼
神兽金刚3幻影金刚
史上最坑爹的游戏7
奇缘幻境
掌中三国
金手指捕鱼
坦克风云OL
小鸟OL
奇迹少女
《世嘉人类》中的人口和军队是游戏里非常重要的,而且可以通过一些修改快速刷出来,但是很多玩家都不太清楚快速刷人口和军队的方法是什么,其实这个快速刷的方法就是解散部队返还人口数量5倍,然后在招募军队,再解散,更多如下。
快速刷人口军队方法介绍
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.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指令复制过来,我就是这么搞的。
保存进游戏,造个建筑,用金币直接买,然后金币不减少,修改成功。
再来一个,解散部队返还人口数量5倍。结合上面的免费金币雇佣就可以原地一回合炒人口/军队了
namespace Amplitude.Mercury.Simulation
internal class DepartmentOfDefense : Agency, ISerializable
private void ProcessOrderDisbandUnits(OrderDisbandUnits order)
这句
population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant;
进IL编辑,找到这句
67 00CF ldfld int32 [Amplitude.Mercury.Data]Amplitude.Mercury.Data.Simulation.Costs.PopulationInstantCostDefinition::Constant
后面加两行
ldc.i4.5
mul
改好变成这样
population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant * 5;
以上就是小编为大家带来的世嘉人类快速刷人口军队方法介绍,希望对玩家有所帮助,更多精彩内容请关注世嘉人类专区!