Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос 7 Days to Die — Ошибки при патче Debug и Creative меню через dnSpy

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
606
Реакции
16
Решил поковырять кишки 7 Days to Die, чтобы по фасту включить дебаг-меню и креатив. Нашел нужные строки в Assembly-CSharp.dll, но столкнулся с классической проблемой Unity-игр при декомпиляции.

Стэк проблемы
По древним мануалам (которые уже изрядно подтухли, но адреса вроде те же) лезу в менеджер и вижу такую картину:
Код:
Expand Collapse Copy
gameManager.isEditMode = GameModeEditWorld.TypeName.Equals(GamePrefs.GetString(EnumGamePrefs.GameMode));
GamePrefs.Set(EnumGamePrefs.DebugStopEnemiesMoving, gameManager.IsEditMode());
GamePrefs.Set(EnumGamePrefs.DebugMenuEnabled, 1.isEditMode || GameUtils.IsPlaytesting());
GamePrefs.Set(EnumGamePrefs.CreativeMenuEnabled, 1.isEditMode || GameUtils.IsPlaytesting());

Где спотыкаюсь?
  1. Если лезу править напрямую через IL-инструкции, то после сейва и замены DLL игра выдает ошибку при запуске (noad скрин:
    Пожалуйста, авторизуйтесь для просмотра ссылки.
    ).
  2. Если пытаюсь юзать "Edit Method" в dnSpy, чтобы поправить всё на C#, компилятор взрывается сотнями ошибок. Причем ругается на строки, которые я даже пальцем не трогал — типичная беда с референсами и зависимостями в dnSpy.
Судя по коду, декомпилятор выдает какой-то мусор (типа 1.isEditMode), который обратно собрать уже не может. Видео того, как я это делаю:

Траблшутинг
Пробовал подкидывать все либы из папки Managed в зависимости, но ошибки компиляции никуда не деваются. Есть подозрение, что проще патчить через Harmony или вообще юзать BepInEx, чем пытаться засунуть изменения в статику.

Кто в последнее время ковырял 7DtD, подскажите — там защиту на целостность DLL не вешали? Или есть какой-то более чистый способ зафорсить DebugMenuEnabled без этого геморроя с компиляцией в dnSpy?

Интересно, как сейчас обходят такие приколы с декомпиляцией в тяжелых методах без переписывания половины класса.
 
Назад
Сверху Снизу