各位打印倉們,是否苦惱於每週只能roll三次皮膚,很長時間roll不到自己喜歡的皮膚,為了方便各位打印倉使用自己喜歡的皮膚,本教程將會手把手教各位打印倉通過改文件實現遊戲中所有皮膚可用
[疊甲]:作為單機遊戲,修改本地文件完全合情合理,由此產生的各種裝B問題屬於個人道德範疇,與技術無關。
開箱即用
從下載地址下載Assembly-CSharp.dll,並覆蓋位於
./OxygenNotIncluded/OxygenNotIncluded_Data/Managed
的 Assembly-CSharp.dll
請注意
每次更新/驗證遊戲完整性後需要重新替換
從 U52-622509 版本後,破解規則為將未擁有的更改為 1 個,擁有多個的數量不變,從而方便篩選 2+ 拆解
嚴禁隨意拆解只擁有一個的皮膚,你可能根本沒有這個皮膚,從而導致向科雷服務器發送許多錯誤信息,目前對科雷賬號的影響未知,如有嘗試,後果自負
到這裡,有的打印倉就要抱怨了,為什麼每次我都要重新下載一遍,就不能說說具體怎麼實現的嗎?
授人以漁
所需軟件
dnSpy:一個開源的 .NET 程序調試和反編譯工具。
操作步驟
使用 dnSpy 打開
./OxygenNotIncluded/OxygenNotIncluded_Data/Managed
在搜索框中,搜索
PermitItems.GetOwnedCount
你會看到類似以下內容
public static int GetOwnedCount(PermitResource permit)
{
int result = 0;
PermitItems.ItemInfo itemInfo;
if (PermitItems.Mappings.TryGetValue(permit.Id, out itemInfo))
{
result = KleiItems.GetOwnedItemCount(itemInfo.ItemType);
}
return result;
}
將結尾的
return result;
修改為
return result + 1;
編譯&保存後重新啟動遊戲生效
基本原理:獲取到擁有皮膚的數量,在此基礎上返回值+1,未擁有的皮膚(數量0)就會變成數量1,從而實現使用所有皮膚的效果
如果有幫助,可用在GitHub上為我點個★Star