на главную
об игре
Need for Speed: Most Wanted (2005) 15.11.2005

Сбрасывается число конфискаций автомобиля

Проблема такая, что сбрасывается количество крестов конфискации машины (impound strike) после 3-х уходов от погонь, т.е. эти кресты не сохраняются. Версия игры - репак от механикс, но пробовал и на лицухе - результат тот же. Видел видео этого бага, там на консоли показывали. Т.е. получается можно набрать допустим по 2 крестика на каждой своей тачке и потом уйти 6 раз подряд, и все кресты исчезнут. Может кому-то это и покажется класным, но мне хотелось бы чтоб всё было честно, отдавать тачки копам когда арестуют и т.д. Как решать эту проблему? Хотелось бы какое-нибудь техническое решение в идеале, ну или хотя бы что-нибудь типа значений числа этих крестов, или флага конфискации авто в Artmoney.
Для себя пока решил проблему следующим образом:

Записывать число крестиков для каждой своей тачки в табличку, и когда число арестов достигнет максимума то отдавать тачку копам или продавать.
Чтобы тачку конфисковали, правильно делать так - после того как заплатишь последний штраф, после которого тачку должны конфисковать, уменьшаем количество денег до нуля, чтобы не хватило заплатить на минимальный штраф, тогда тачку конфискуют сразу. После этого с помощью Artmoney уменьшаем количество арестов этой тачки на 1 (искать это значение в Artmoney нужно заранее, отключив автосейв и фильтруя значения, ибо когда тачку уже заберут уже будет поздно) и возвращаем наши бабки.
Может кто-то знает более изящное решение...

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

Комментарии: 3
Ваш комментарий

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

0

AFlexex
Я тоже проходил не раз, но раньше не обращал внимания или вообще читерил (Alt+F4). А щас подумал что может если бы было всё честно то не было бы так просто, а может и вообще игру бы завалил).

0

Решил сам проблему. Для исправления бага нужно через дебаггер занопить инструкции DEC[EAX+03], находящиеся по адресам 00580ABA, 00580B30, 00580BA2, 00580C18, 00580C86. Шестнадцатеричный код этой инструкции должен быть FE 48 03.

Для тех, кто этим никогда не занимался:

1. Скачать ollydbg v. 2.01 с офф. сайта (кликнуть на "OllyDbg")
2. Распаковать.
3. Запустить игру. И на главном меню после выбора профиля свернуть её.
4. Запустить распакованный дебаггер (если у вас игра запущена от имени администратора (а так и рекомендуется) то и дебаггер нужно запускать от администратора)
5. В верхнем меню нажать "File" -> "Attach..." и выбрать процесс "speed.exe" в списке.
6. Нажать Attach.
7. Нажимать F9 до тех пор, пока в правом нижнем углу отладчика не появится слово "Running".
8. В клиентской области, ближе к левому вернему углу находится основной код программы. Кликаем по нему правой кнопкой мыши.
9. В появившемся меню выбираем "Go to" -> "Expression..." и вбиваем в верхнее поле адрес 00580ABA.
10. Жмём "Follow Expression". Убеждаемся что во второй колонке выделенной инструкции написан код FE 48 03, затем нажимаем ПКМ, выбираем "Edit" -> "Fill with NOPs".
11. Повторяем пункты 9 и 10 но в поле Expression вбиваем следующий адрес (00580B30), и так для каждого.
12. После всех операций нажимаем по основному коду программы ПКМ, выбираем "Edit" -> "Copy all modification to executable", нажимаем "ОК".
13. В открывшимся окне жмём ПКМ и выбираем "Save file...". Нажимаем "Да", переименовываем файл на "speed3.exe" и нажимаем "Сохранить".
14. Можно закрывать отладчик и игру. Затем нужно запустить "speed3.exe" или переименовать ваш оригинальный speed.exe а этот переименовать в speed.exe, чтоб он был заместо того.
15. Всем приятой игры.
P.S.: кому не хочется возиться с отладчиком (хотя это не сложно) можно всё тоже самое сделать в любом шестнадцатеричном редакторе (хекс-редактор). Просто переходите по всем вышеуказанным адресам и заменяете код FE 48 03 на 90 90 90.
ВАЖНО! Если у вас по указанным адресам стоит другой код (в дебаггере он находится во второй колонке) то лучше не стоит нопить его.

Все изменения вы делаете на свой страх и риск, обязательно рекомендую сделать бэкап вашего экзешника!
У меня Black Edition версии 1.3 от R.G. Mechanics и исправление делалось для этой версии, с другими версиями может быть всё совсем по другому. Вроде теперь всё правильно работает, отписывайтесь если у кого-то не работает или есть какие-то вопросы.

0