創(chuàng)游網(wǎng)手游下載推薦
當(dāng)前位置:網(wǎng)站首頁 > 手游資訊 > 手游攻略 > 正文

世嘉人類怎么快速刷人口軍隊(duì) 詳細(xì)方法介紹

zpszc168發(fā)布:2024-05-05 133


在游戲中人口和軍隊(duì)是非常重要的,而且可以通過一些修改快速刷出來,那么世嘉人類怎么快速刷人口軍隊(duì)呢?還不知道的玩家快來看小編帶來的詳細(xì)方法介紹吧。

詳細(xì)方法介紹

dnspy打開Amplitude.Mercury.firstpass.dll

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

找這個(gè)方法private void ProcessOrderBuyoutConstructionAt(OrderBuyoutConstructionAt order)

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

括號里給它改成this.majorEmpire.DepartmentOfTheTreasury.Pay(FixedPoint.Zero);

具體改法就是右鍵編輯IL指令(因?yàn)榉淳幾g會(huì)因?yàn)橐猛獠縟ll無法再次編譯,為了省事直接干IL)

找到調(diào)用Pay的這句:

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

然后找它前面一句,就是加載buyoutCost的那句,應(yīng)該是ldloc.3,如果不是就看看前面的一個(gè)函數(shù)GetBuyoutCost之后存到第幾個(gè)位置了,應(yīng)該有一句stloc.3和這個(gè)ldloc.3是對著的先存后讀的。

把ldloc.3給改成

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

就是加載了一個(gè)FixedPoint.Zero這個(gè)靜態(tài)變量。如果怕寫錯(cuò)就找一下這個(gè)變量,然后查它的引用,找一行讀取的IL指令復(fù)制過來,我就是這么搞的。

保存進(jìn)游戲,造個(gè)建筑,用金幣直接買,然后金幣不減少,修改成功。

再來一個(gè),解散部隊(duì)返還人口數(shù)量5倍。結(jié)合上面的免費(fèi)金幣雇傭就可以原地一回合炒人口/軍隊(duì)了

namespace Amplitude.Mercury.Simulation

internal class DepartmentOfDefense : Agency, ISerializable

private void ProcessOrderDisbandUnits(OrderDisbandUnits order)

這句

population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant;

進(jìn)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;



免責(zé)聲明:文中圖片應(yīng)用來自網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除


創(chuàng)游網(wǎng)手游下載推薦
創(chuàng)游網(wǎng)手游下載推薦

分享到