時(shí)間:2021-08-24 17:32:39 來源:當(dāng)游網(wǎng) 作者:當(dāng)游網(wǎng) 編輯:ryu112358 字體大?。?
在游戲中是可以不花金幣立即建造建筑的,不過需要一些修改,那么世嘉人類不花金幣怎么建造呢?還不知道的玩家快來看小編帶來的詳細(xì)方法介紹吧。
dnspy打開Amplitude.Mercury.firstpass.dll
找到Amplitude.Mercury.Simulation包下的DepartmentOfIndustry類
找這個(gè)方法private void ProcessOrderBuyoutConstructionAt(OrderBuyoutConstructionAt order)
其中有一行是this.majorEmpire.DepartmentOfTheTreasury.Pay(buyoutCost);
括號(hào)里給它改成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是對(duì)著的先存后讀的。
把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è)建筑,用金幣直接買,然后金幣不減少,修改成功。
以上就是今天為大家?guī)硎兰稳祟惒换ń饚旁趺唇ㄔ斓娜績(jī)?nèi)容,希望對(duì)大家有所幫助,更多的內(nèi)容請(qǐng)持續(xù)關(guān)注當(dāng)游網(wǎng),為你帶來最新最全的游戲相關(guān)內(nèi)容。
0