Исправление поврежденного файла сохранения

В игре можно повредить файл сохранения с помощью некоторых консольных команд. Однако поврежденные файлы сохранения иногда можно исправить, если вы знаете, что именно вы повредили.

**Важно: прежде чем пытаться исправить файл сохранения, сделайте резервную копию файла.**

На самом деле, вам нужно также сделать резервную копию файлов, прежде чем использовать консольные команды, но если вы находитесь на этой странице, вероятно, для этого уже слишком поздно.

## Hex-редактор

Чтобы отредактировать файл сохранения, вам понадобится какой-нибудь шестнадцатеричный редактор. Примеры бесплатных редакторов:

* HxD
* Плагин Hex-редактора для VS Code

Инструкция по установке расширений: английская, русская.

У онлайн-редакторов могут возникнуть проблемы с редактированием файлов сохранения из-за больших размеров файла (для веб-браузеров).

Если вы попытаетесь отредактировать файл сохранения с помощью обычного текстового редактора (например, Блокнота), он, скорее всего, добавит заголовок файла или изменит некоторые ненужные байты, полностью уничтожив файл сохранения.

## Файлы сохранения

Файлы сохранения можно сохранять в двух разных форматах: .sol и .sav. Помимо различного расширения, отличается также внутренняя структура файла, но не намного. Файлы сохранения в обоих форматах могут быть исправлены.

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

## Попытка исправить файл

Как упоминалось выше, вам нужно знать, что конкретно пошло не так, чтобы это исправить, см. Исправление поврежденного файла сохранения для получения информации об известных способах повреждения файлов. Это пример команды `perk` - аналогичные исправления можно попробовать и в других случаях.

Допустим, вы экспериментировали с командой `perk` и случайно ввели `perk toaster`. Команда `perk` не проверяет, действительно ли существует способность с таким ID, а просто добавляет ее. При сохранении игры списки всех ID сохраняются где-то в файле сохранения. Когда вы загружаете игру, игра пытается проанализировать список ID из файла сохранения и обнаруживает неизвестный идентификатор (`toaster`). Игра не знает, как с этим справиться, и выдает "Ошибку#1009" при запуске setSkillParam(), которая препятствует загрузке игры.

Можно попытаться исправить это, заменив строку `toaster` на ID какой-нибудь другой существующей способности. К счастью, все ID хранятся в файле сохранения в текстовой форме, поэтому их легко найти и заменить.

Откройте файл сохранения в любом шестнадцатеричном редакторе. Лучше использовать упомянутый выше редактор HxD. Выберите File > Open... на панели инструментов и перейдите к поврежденному файлу сохранения (.sol или .sav), **у которого должна быть резервная копия**. Вы увидите содержимое файла, интерпретируемое как байты, с предварительным просмотром кодировки ANSI справа.

Воспользуйтесь функцией поиска (Search>Find или ctrl+F), чтобы найти строку `toaster`.

Теперь замените строку другим именем способности. Лучше всего использовать способность с таким же количеством букв, например, в этом случае `bigsize`. Игра может не загрузиться или даже удалить файл сохранения, если количество букв не будет совпадать.

Сохраните файл и попробуйте загрузить игру.