各位打印倉們,是否苦惱於每週只能roll六次皮膚,很長時間roll不到自己喜歡的皮膚,爲了方便各位打印倉使用自己喜歡的皮膚,本教程將會手把手教各位打印倉通過改文件實現遊戲中所有皮膚可用
[疊甲]:作爲單機遊戲,修改本地文件完全合情合理,由此產生的各種裝B問題屬於個人道德範疇,與技術無關。
開箱即用
方法1(推薦)
從Steam創意工坊訂閱mod:I need ONI skin 我需要皮膚
方法2
從下載地址下載Assembly-CSharp.dll,並覆蓋位於
./OxygenNotIncluded/OxygenNotIncluded_Data/Managed
的 Assembly-CSharp.dll
請注意
每次更新/驗證遊戲完整性後需要重新替換(僅限方法2)
從 U52-622509 版本後,破解規則爲將未擁有的更改爲 1 個,擁有多個的數量不變,從而方便篩選 2+ 拆解
嚴禁隨意拆解只擁有一個的皮膚,你可能根本沒有這個皮膚,從而導致向科雷服務器發送許多錯誤信息,目前對科雷賬號的影響未知,如有嘗試,後果自負
通常我在更新發布的24h內就會上傳新的 Assembly-CSharp.dll,當然方法1更好一些
到這裏,有的打印倉就要抱怨了,爲什麼每次我都要重新下載一遍,就不能說說具體怎麼實現的嗎?
授人以漁
所需軟件
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
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com