Metro Exodus

Metro Exodus

Not enough ratings
Упрощаем получение накопительных достижений
By Soren
Редактируем файлы сохранений и снимаем головную боль от гринда ачивок. Гайд в процессе дополнения.
   
Award
Favorite
Favorited
Unfavorite
Введение
В процессе очередного прохождения этой нестареющей прекрасной классики и вымученное добивание всех ачивок, оставшихся с предыдущего... обновил видеокарту и мне стала доступна Enhanced Edition. Со всем её прекрасным графоном и собственными достижениями, требующими всех усилий повторно. На графику я еще с радостью посмотрю, сюжет совсем не надоел, а вот играть с гайдом в браузере, постоянно беспокоясь за пропуск тех или иных записи или открытки, хочется уже не очень.
От того и сел разбираться, как же игра хранит и учитывает прогресс достижений по сбору находок. В итоге получилось найти даже больше.

Так как я всё еще в процессе прохождения игры, гайд будет обновляться и дополняться новыми переменными.
Находим сохранения игры
Работать будем с файлами profile.cfg и user.cfg, которые вы можете найти по пути C:\Users\Пользователь Windows\Saved Games\metro exodus\Папка с цифровым названием.
Где и какой из них точно используются я не знаю, но, предположительно, profile.cfg отвечает за текущую игровую сессию, а user.cfg — за игровой профиль целиком.
Перед редактированием этих файлов необходимо выйти из игры. При выходе она перезапишет их актуальными данными, а при запуске — прочтет заново.
Структура файлов и принцип работы способа
В обоих файлах нам нужны словари, начинающиеся на xbox_net_data. В profile.cfg они в самом начале, user.cfg понадобится прокрутить до конца.
Эти словари есть массив из нескольких переменных, некоторые из которых могут быть без значений, а некоторые с ними, в десятиричном или шестнадцатиричном форматах. Если будете высчитывать нужные вам значения вручную, понадобится специальный калькулятор — к примеру, переключенный в режим "Программист" калькулятор Windows.

Каждая переменная хранит в себе процесс тех или иных действий в игре. При определенных действиях в игре, значение переменной может увеличиться и сработает триггер синхронизации процесса с системой достижений Steam. Изменение этих переменных в файлах, соответственно, изменяет прогресс в игре, но для выполнения достижения необходимо также вызвать и триггер. По этой причине желательно выставлять значение ниже необходимого количества (например, 49, если достижению нужно 50), и выполнить в игре требуемое действие нужное число раз.

Далее я буду расписывать, какие переменные в каких блоках каких файлов нужно будет заменить для изменения процесса того или иного достижения.
Библиотекарь (заметки)
profile.cfg:
Для "нахождения" всех заметок, кроме последней, выставляем значения такими:
xbox_net_data0s, переменные f7, f8 и f9f7=1ffffff,f8=7ffffff,f9=3ffff.
xbox_net_data1s, переменная 1a41a4=45.
После этого достаточно только забрать последнюю, "Список грузов", в НИИ, после галлюцинации с Анной и противогазом.


Переменные f7, f8 и f9 — предположительно, порядок найденных заметок. При нахождении заметок последовательно, всегда увеличивается на определенную величину: 1, 3, 7, f, 1f, 3f, 7f, ff, 1ff, ...
Максимальное значение f7 — 25 заметок (f7=1ffffff), f8 — 28 заметок (f8=fffffff), f9 — ??? заметок (f9=3ffff). Под Тайгу по какой-то причине выделена отдельная переменная f9, именно она меняется в этой локации по несколько другому алгоритму, начинаясь с f9=20000.
Например, значение в 42 найденных заметки — f7=1ffffff,f8=1ffff,f9, а 63, с полностью закрытой Тайгой — f7=1ffffff,f8=1fffff,f9=3ffff.

xbox_net_data1s, переменная 1a4 — шестнадцатиричное количество найденных заметок. 42 заметки из примера выше — 1a4=2a
Полная картина (заметки DLC Два полковника)
profile.cfg:
Для "нахождения" всех заметок, кроме последней, выставляем значения такими:
xbox_net_data1s, переменные 1fc и 1fe1fc=ff,1fe=8.
Забираем последнюю заметку около вентиляционной шахты, после падения в лифт.

Так же, как и с заметками основной игры, 1fc отвечает за порядок, 1fe — за количество.
Виды старого мира (открытки)
profile.cfg:
Для "нахождения" всех открыток, кроме последней, выставляем значения такими:
xbox_net_data1s, переменная 1a81a8=14.
xbox_net_data2s, переменная 2cb2cb=fffff.
После ввода достаточно только забрать последнюю в штабе ОСКОМ (на колонне), и достижение наше.


xbox_net_data1s, переменная 1a8 — шестнадцатиричное количество найденных открыток. К примеру, 13 найденных открыток — 1a8=d.

xbox_net_data2s, переменная 2cb — предположительно, порядок найденных открыток. Принцип такой же, как у заметок: всегда увеличивается на определенную величину. 13 последовательно найденных открыток выставляют значение 2cb=1fff
Аккуратист (потратить 500 химии на чистку оружия)
profile.cfg:
xbox_net_data1s, переменная 1ab. Ставим переменной значение 499, загружаемся, чистим.
1ab=1f3
Мастеровой (потратить 500 ресурсов на крафт)
profile.cfg:
xbox_net_data1s, переменная 19b. Ставим переменной значение 499, загружаемся, крафтим.
19b=1f3
Саботажник (вырубить 50 врагов в рукопашной)
profile.cfg:
xbox_net_data1s, переменная 1a2. Ставим переменной значение 49, загружаемся, оглушаем.
1a2=31
Антибиотик (убить 300 мутантов)
profile.cfg:
xbox_net_data1s, переменная 19d. Ставим переменной значение 299, загружаемся, убиваем мутанта.
19d=12b
Не подходи (убить издалека 50 врагов)
profile.cfg:
xbox_net_data1s, переменная 19e. Ставим переменной значение 49, загружаемся, убиваем.
19e=31
Природная месть (убить 90 каннибалов)
profile.cfg:
xbox_net_data1s, переменная 1a5. Ставим переменной значение 89, загружаемся, убиваем.
1a5=59
В лепёшку (раздавить 50 живностей Буханкой)
profile.cfg:
xbox_net_data1s, переменная 19a. Ставим переменной значение 49, загружаемся, давим.
19a=31
Робин Гуд (убить 50 врагов арбалетом)
user.cfg:
xbox_net_data1, переменная 1a0. Ставим переменной значение 49, загружаемся, убиваем.
1a0=31
Только осторожно, тяжелый! (убить 3 носачей ударами в DLC Два полковника)
user.cfg:
xbox_net_data2, переменная 1ff. Ставим переменной значение 2, загружаемся, убиваем.
1ff=2
Не проверено — Стильный костюмчик (найти 12 улучшений)
profile.cfg:
xbox_net_data1s, переменные 1f6 и 1f7.
Точный принцип выполнения достижения редактированием переменных неизвестен; предположительно, 1f6 отвечает за порядок найденных улучшений, 1f7 за количество.
Вот последовательность изменений этих переменных при нахождении последних улучшений на Каспии:
1f6=fae,1f7=9
1f6=faf,1f7=a
1f6=fef,1f7=b (предпоследнее улучшение собрано)
1f6=fff, 1f7=c (собраны все улучшения)
8 Comments
MooSe 7 Jul @ 3:32am 
достижение профессионал, есть мысли?
Ковырялся в значениях, пока без успешно
shutnkbln 23 Jun @ 6:53am 
достижение стильный костюмчик:
https://cs2bus.com/sharedfiles/filedetails/?id=3506856749
Kizyak_501 6 Jun @ 1:46pm 
получилось у кого выбиль ачивку стильный костюмчик?
меняю переменные - 0 реакции, расскажите, у кого вышло, что меняли?
IVAN GOD 4 Aug, 2024 @ 8:42am 
"Стильный костюмчик" не работает достижение, оно забагованное.
pozish 4 Jul, 2024 @ 8:50pm 
Стильный костюмчик 1f6=0, 1f7=b Возьмите компас на Bолге (самая первая экипировка)
pozish 4 Jul, 2024 @ 8:15pm 
охотник за головами 1a1 = 12b
ROCKet_754 3 Jun, 2024 @ 11:28pm 
Гайд полезный, спасибо.
А как с ачивкой "профессионал" там что поменять надо? А то у меня она забаговалась, прогресс 5/10, хотя стрелял из всего.
widnelsy 28 Mar, 2024 @ 9:19am 
автор слаб