只能实现在本地游玩时可使用全部皮肤的效果,并不能修改科雷服务器中的数据
看起来 KELI 非常“享受”强迫玩家使用他们“精心构建”的皮肤系统,单纯出于恶心玩家的目的,而不是出于商业利益
声明:本模组仅供学习交流,严禁用于商业用途,使用时请遵守当地法律法规,由于不正当使用产生的法律问题与本人无关
- 从Releases下载 I_need_ONI_skin.zip
- 解压到 C:\Users\[Your Username]\Documents\Klei\OxygenNotIncluded\mods\local 文件夹下,此时文件夹结构应为
-./local
|-I_need_ONI_skin
|-I_need_ONI_skin.dll
|-mod.yaml
|-mod_info.yaml
- 在游戏中以通常的方式启用本模组即可
目前适用于 U54-646843 版本
在创意工坊订阅同功能mod
在Releases中下载 Assembly-CSharp.dll,并替换位于 .\SteamLibrary\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed 的 Assembly-CSharp.dll
注意:
- 每次更新/验证游戏完整性后需要重新替换(仅限方法 2)
- 从 U52-622509 版本后,破解规则为将未拥有的更改为 1 个,拥有多个的数量不变,从而方便筛选 2+ 拆解
- 严禁随意拆解只拥有一个的皮肤,你可能根本没有这个皮肤,从而导致向科雷服务器发送许多错误信息,目前对科雷账号的影响未知,如有尝试,后果自负
使用dnSpy打开 .\SteamLibrary\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed\Assembly-CSharp.dll
搜索 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;
}
将其改为
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 + 1;
}
即 return result; 改为 return result + 1; 保存并重启游戏即可生效