Найден способ вернуть героям-магам в Rise of the Elves их былую 100%-ую точность, как в прежних версиях. Как оказалось, в .dbf-ках этого не исправляется, пришлось ковырять экзешник. К счастью, найти причину и устранить её получилось легче легкого!
Расшарите патчик или инструкцию?
Руководство по возвращению героям-магам в Rise of the Elves их былой меткости.
Внимание - ставить с осторожностью, и обязательно сделать резервные копии изменяемых файлов перед их заменой.
Предупреждение - играть магами становится еще скучнее :)
Нам понадобятся:
Hex-editor (шестнадцатеричный редактор) для редактирования exe-файла игры. Я лично пользуюсь программой HxD. Скачать можно бесплатно отсюда: https://mh-nexus.de/en/hxd/
Disciples 2 Rise of the Elves версии 3.01. Если точнее - файл Discipl2.exe.
Пошаговая инструкция
0. Сделать резервную копию
1. Открыть Discipl2.exe при помощи шестнадцатеричного редактора
2. Используем фунцкию поиска в редакторе (поиск по текстовым строкам, datatype: text-string)
3. Ищем в текстовых данных справа (не в HEX-символах слева) следующие последовательности символов
G000UU0097 - Unit ID героя-Носферата
G000UU0098 - то же но для королевы-Личихи
G000UU0072 - Unit ID архидьявола
G000UU0046 - айди дудочника (Хранитель Знаний)
G000UU8010 - айди косоглазой дриады
G000UU0021 - ID архимага хитро спрятано отдельно от остальных
Игра специально обращается к этим ID героев магов (и больше никаких других юнитов). Подозреваю что это какая-то особая проверка во время атаки, которая добавляет перерасчет шанса попаданий ТОЛЬКО для героев-магов. По крайней мере ни для каких больше героев этого найти не удалось.
4. каждому найденному айди соответствует определенная последовательность байтов слева. Если выделить айди в редакторе, то нужные байты должны подсветиться. Чтобы игра перестала накладывать порчу на героев-магов, нужно эту последовательность байтов аккуратно заменить нулями.
Пример: архимагу соответствует следующая цепочка: 47 30 30 30 55 55 30 30 32. Заменяем её на 00 00 00 00 00 00 00 00 00 00. То же самое и для остальных ID.
5. Сохраняем файл, запускаем, тестируем. Если всё сделано правильно, то количество промахов героев-магов падает в разы. Если что-то сделано неправильно, откатываемся к резервной копии.
Внимание - ставить с осторожностью, и обязательно сделать резервные копии изменяемых файлов перед их заменой.
Предупреждение - играть магами становится еще скучнее :)
Нам понадобятся:
Hex-editor (шестнадцатеричный редактор) для редактирования exe-файла игры. Я лично пользуюсь программой HxD. Скачать можно бесплатно отсюда: https://mh-nexus.de/en/hxd/
Disciples 2 Rise of the Elves версии 3.01. Если точнее - файл Discipl2.exe.
Пошаговая инструкция
0. Сделать резервную копию
1. Открыть Discipl2.exe при помощи шестнадцатеричного редактора
2. Используем фунцкию поиска в редакторе (поиск по текстовым строкам, datatype: text-string)
3. Ищем в текстовых данных справа (не в HEX-символах слева) следующие последовательности символов
G000UU0097 - Unit ID героя-Носферата
G000UU0098 - то же но для королевы-Личихи
G000UU0072 - Unit ID архидьявола
G000UU0046 - айди дудочника (Хранитель Знаний)
G000UU8010 - айди косоглазой дриады
G000UU0021 - ID архимага хитро спрятано отдельно от остальных
Игра специально обращается к этим ID героев магов (и больше никаких других юнитов). Подозреваю что это какая-то особая проверка во время атаки, которая добавляет перерасчет шанса попаданий ТОЛЬКО для героев-магов. По крайней мере ни для каких больше героев этого найти не удалось.
4. каждому найденному айди соответствует определенная последовательность байтов слева. Если выделить айди в редакторе, то нужные байты должны подсветиться. Чтобы игра перестала накладывать порчу на героев-магов, нужно эту последовательность байтов аккуратно заменить нулями.
Пример: архимагу соответствует следующая цепочка: 47 30 30 30 55 55 30 30 32. Заменяем её на 00 00 00 00 00 00 00 00 00 00. То же самое и для остальных ID.
5. Сохраняем файл, запускаем, тестируем. Если всё сделано правильно, то количество промахов героев-магов падает в разы. Если что-то сделано неправильно, откатываемся к резервной копии.
Забавный и достаточно неожиданный патч. Спасибо, будем изучать!
Lazy Buttons, указал бы адреса смещений сегментов, а то придется долго искать по битам.
Смещения для разных версий/дистрибутивов будут разные, так что общее описание действительно удобнее.
Эээ, каких смещений сегментов, что куда указать?! У меня всё через Ctrl+F нашлоссь, насяйника ;D
https://i.gyazo.com/c1f772d1bd2b405ffd2357e949130073.png вот как пример.
А если ты имеешь в виду 16-ричный адрес то мне честно лень как-то, особенно если можно поиском по айди управиться.
А если ты имеешь в виду 16-ричный адрес то мне честно лень как-то, особенно если можно поиском по айди управиться.
Можно, кстати, только первый байт перебивать - этого хватает.
HSerg, я понимаю, однако автор указал, что изменения производились для русскоязычной "Rise of the Elves".
Lazy Buttons, посмотрел скрин. Это те самые адреса, по которым нужно заменить биты? И для Дриады ардес в коде должен быть где-то ниже.
Lazy Buttons, посмотрел скрин. Это те самые адреса, по которым нужно заменить биты? И для Дриады ардес в коде должен быть где-то ниже.
Вообще-то у меня английская версия от GOG.com, Воин. То что на скрине - просто пример поиска по айди. Слева - шестнадцатеричные данные файла. справа - собственно, они же, но уже в текстовом формате. Для удобства отображения и поиска. Айди ищется в этом текстовом массиве, и каждой букве айди соответствует байт.
А если точнее, то эта буква - просто и есть этот же байт, но уже переведеный компом в нормальную удобочитаемую форму.
Если бы у меня хватало скилла, можно было бы забацать патчик который искал бы эти айдишники и удалял их автоматически, но увы)
А если точнее, то эта буква - просто и есть этот же байт, но уже переведеный компом в нормальную удобочитаемую форму.
Если бы у меня хватало скилла, можно было бы забацать патчик который искал бы эти айдишники и удалял их автоматически, но увы)