need for speed most wanted баг с интерфейсом
Не видно карты и спидометра в NFS Most Wanted 2005
Друзья, хотели бы Вам рассказать о том, что делать, если не видно карты и спидометра в NFS Most Wanted 2005. Опишем для Вас самые популярные проблемы, а именно когда спидометр вылазит за границы, пропадают цифры на спидометре и просто спидометр полностью пропадает. В интернете мы не нашли по этому поводу дельной информации, поэтому решили написать об этом сами. Итак, давайте же сразу приступим.
Спидометр и карта вылазят за границы экрана NFS Most Wanted 2005
Нет цифр скорости у спидометра в NFS Most Wanted
Тоже весьма актуальная проблема, с которой мы сталкивались лично. Проблема обычно возникает после установки новых машин в NFS Most Wanted 2005 на лицензии от Softclub. Чтобы вернуть цифры скорости на место, то просто скачиваем патч для корректной работы ModLoader для NFS Most Wanted 2005.
Если спидометр пропал полностью
В случае, если вышеперечисленные способы Вам не подошли и спидометр пропал полностью, то просто удалите игру и скачайте самую актуальную версию NFS Most Wanted 2005 с нашего сайта без каких-либо багов. Это наиболее простой способ решить проблему с этим коварным спидометром.
Собственно, такие вот способы вернуть спидометр и карту на свои места в NFS Most Wanted 2005 мы для Вас перечислили. Если Вам помогли наши советы, то не поленитесь сказать о том, какой способ Вам подошел. Если же Вам не подошел ни один способ, то тоже пишите в комментарии под этой статьей и мы поможем решить Вам эту проблему. Приятной игры!
FAQ по ошибкам Need for Speed: Most Wanted: не запускается, черный экран, тормоза, вылеты, error, DLL
Необходимое ПО для Need for Speed: Most Wanted
Мы настоятельно рекомендуем ознакомиться со ссылками на различные полезные программы. Зачем? Огромное количество ошибок и проблем в Need for Speed: Most Wanted связаны с не установленными/не обновлёнными драйверами и с отсутствием необходимых библиотек.
Низкий FPS, Need for Speed: Most Wanted тормозит, фризит или лагает
Современные игры крайне ресурсозатратные, поэтому, даже если вы обладаете современным компьютером, всё-таки лучше отключить лишние/ненужные фоновые процессы (чтобы повысить мощность процессора) и воспользоваться нижеописанным методами, которые помогут избавиться от лагов и тормозов.
Лучшие видеокарты для комфортной игры в 1080p
Need for Speed: Most Wanted вылетает в случайный момент или при запуске
Ниже приведено несколько простых способов решения проблемы, но нужно понимать, что вылеты могут быть связаны как с ошибками игры, так и с ошибками, связанными с чем-то определённым на компьютере. Поэтому некоторые случаи вылетов индивидуальны, а значит, если ни одно решение проблемы не помогло, следует написать об этом в комментариях и, возможно, мы поможем разобраться с проблемой.
Как увеличить объём памяти видеокарты? Запускаем любые игры
Отсутствует DLL-файл или ошибка DLL
Для решения проблемы необходимо отыскать и вернуть в папку пропавшую DLL-библиотеку. И проще всего это сделать, используя специально созданную для таких случаев программу DLL-fixer – она отсканирует вашу систему и поможет отыскать недостающую библиотеку. Конечно, так можно решить далеко не любую DLL-ошибку, поэтому ниже мы предлагаем ознакомиться с более конкретными случаями.
Ошибка d3dx9_43.dll, xinput1_2.dll, x3daudio1_7.dll, xrsound.dll и др.
Ошибка MSVCR120.dll, VCRUNTIME140.dll, runtime-x32.dll и др.
Ошибки с названием «MSVCR» или «RUNTIME» лечатся установкой библиотек Microsoft Visual C++ (узнать, какая именно библиотека нужна можно в системных требованиях).
Избавляемся от ошибки MSVCR140.dll / msvcr120.dll / MSVCR110.dll и других DLL раз и навсегда
Распространённые сетевые ошибки
Не вижу друзей / друзья в Need for Speed: Most Wanted не отображаются
Неприятное недоразумение, а в некоторых случаях даже баг или ошибка (в таких случаях ни один способ ниже не поможет, поскольку проблема связана с серверами). Любопытно, что с подобным сталкиваются многие игроки, причём неважно, в каком лаунчере приходится играть. Мы не просто так отметили, что это «недоразумение», поскольку, как правило, проблема решается простыми нижеописанными способами:
Создателю сервера нужно открыть порты в брандмауэре
Многие проблемы в сетевых играх связаны как раз с тем, что порты закрыты. Нет ни одной живой души, друг не видит игру (или наоборот) и возникают проблемы с соединением? Самое время открыть порты в брандмауэре, но перед этим следует понимать как «это» работает. Дело в том, что программы и компьютерные игры, использующие интернет, для работы требуют не только беспроблемный доступ к сети, но и вдобавок открытые порты. Это особенно важно, если вы хотите поиграть в какую-нибудь сетевую игру.
Часто порты на компьютере закрыты, поэтому их следует открыть. Кроме того, перед настройкой нужно узнать номера портов, а для этого для начала потребуется узнать IP-адрес роутера.
Закрытые порты, или что делать, если игр не видно/не подключается?
Ошибка DirectX в Need for Speed: Most Wanted
Ошибка 0xc000007b в Need for Speed: Most Wanted
В худшем случае ошибка 0xc000007b или «This application was unable to start correctly» связана с повреждёнными системными файлами ОС, а в лучшем – с драйверами видеокарт от Nvidia.
Ошибка 0xc0000142 / 0xe06d7363 / 0xc0000906
Эти ошибки относятся не только к одним из наиболее часто встречаемых проблем, но и к наиболее сложным в процессе исправления. Потому что никогда сразу непонятно, почему они появляются. С другой стороны, известно, что подобное происходит только в двух случаях: 1 – в процессе запуска какой-нибудь программы или игры, 2 – буквально сразу после того, как удалось войти в систему.
Причём в первом случае чаще всего это касается недавно установленного приложения, поскольку ни одна из этих ошибок никогда сама по себе не появляется. В любом случае существует несколько способов, которые помогают избавиться от них. Рекомендуем внимательно ознакомиться с каждым.
Отключите антивирусную программу
Ни для кого не секрет, что часто всему виной является антивирус. Только вот в случае с перечисленными ошибками лучше программу не просто отключить, а временно удалить. После чего попробовать запустить приложение. Однако если это не поможет, тогда сделайте следующее:
Отключите «Защитник Windows»
Помимо антивирусной программы, также следует попробовать отключить «Защитник Windows». Поскольку он тоже запросто может быть причиной появления этих ошибок. Для этого нужно сделать следующее:
Проверьте путь на наличие кириллицы
Обязательно проверьте, что путь к приложению не содержал наличие кириллицы. Причём стоит отметить, что наличие в адресе «Пользователи» никак не влияет на это. Так что если после «Пользователи» идёт кириллица, тогда придётся создавать нового локального пользователя, у которого имя будет иметь латинские буквы. В таком случае также, возможно, придётся переустановить и само приложение на новом пользователе.
Воспользуйтесь чистой загрузкой
Решить проблему в таком случае можно чистой загрузкой. Как правило, это помогает в тех случаях, когда ошибка появляется при запуске Windows 10. Поскольку причина практически всегда связана с какой-то определённой программой или службой, что находятся в автозагрузках.
Чтобы понять, какая именно программа вызывает проблемы, необходимо во время появления сообщения об ошибке посмотреть на заголовок – там всегда указан exe-файл. Именно из-за него появляется ошибка. Поэтому файл следует отключить в автозагрузке Windows. Сделать это можно следующим наиболее простым способом:
или сочетание клавиш
Проверьте целостность файлов
Вполне возможно, ошибка возникает из-за того что была повреждена целостность системных файлов. И для их проверки у Windows 10 существа два инструмента – DISM.exe с командой Repair-WindowsImage для PowerShell и SFC.exe. Мы рекомендуем воспользоваться последним, поскольку он наиболее привычный и простой. А осуществить проверку можно следующим образом:
все найденные ошибки будут автоматически исправлены.
Измените значение в реестре
Реестр в операционной системе Windows 10 – это большая база данных. И именно эти данные определяют свойства и поведение системы. Поэтому редактирование в нём иногда помогает избавиться от ошибок. Только вот без должного опыта или надёжной инструкции лезть туда самостоятельно крайне не рекомендуется.
Поэтому предлагаем воспользоваться нижеописанной инструкцией. Только перед тем, как начнёте что-то менять, убедитесь в наличие нужного раздела. Сделать это можно следующим образом:
в окне «Выполнить» введите команду regedit нажмите
после чего в окне «Редактор реестра» отыщите раздел, представленный ниже.
Запустите восстановление системы
Это касается тех случаев, когда игра работала адекватно, но в определённый момент начала неожиданно появляться ошибка. Хотя игра не подвергалась никаким посторонним действиям. К примеру, не устанавливались моды, патчи и многое другое. В общем, тогда можно запустить процесс восстановления системы.
Другие способы
Ошибка «Недостаточно памяти»
Возникает ошибка, связанная с недостатком памяти, практически по десятку причин. Конечно, наиболее распространённые – это либо нехватка оперативной памяти «железа», либо маленький размер файла подкачки. В последнем случае, даже если вы ничего настраивали, всё запросто мог испортить сторонний софт или банальное отключение файла подкачки.
Звук в Need for Speed: Most Wanted отсутствует или пропадает в заставках
Чаще всего проблема связана с высоким звуковым разрешением в параметрах Windows, а именно – с частотой разрядности и дискретизации. Поэтому избавиться от проблемы можно лишь одним способом – понизить это разрешение.
Проблему, которая связана с отсутствием звука в заставках, решить первым способом не получится, поэтому сделайте следующее:
И главное, не забывайте определить, где именно отсутствует звук – везде на компьютере или только в игре. Существуют и другие маловероятные, но вполне возможные причины отсутствия звука: звуковая карта слишком старая, поэтому не поддерживает DirectX; неправильные настройки; неправильно установленные драйверы для звуковой карты или какая-нибудь специфическая ошибка в операционной системе. В таких случаях обязательно пишите в комментариях, а мы постараемся помочь исправить ошибки!
Появляется чёрный экран в Need for Speed: Most Wanted
Появление чёрного экрана часто связано с конфликтом видеодрайверов и ПО. И реже всего с определёнными файлами Need for Speed: Most Wanted. Впрочем, существует довольно много других причин, связанных с появлением «чёрного экрана смерти».
Первым делом при появлении проблемы следует обновить видеодрайвер. Многие пренебрегают этим совсем, но мы настоятельно рекомендуем сделать это, потому что для многих современных игр следом выходят и важные обновления, которые помогают запустить ту или иную игру.
Появляется цветной экран
Появление цветастого экрана часто связано с тем, что используются сразу две видеокарты. Если в материнской плате присутствует встроенный графический процессор, но играете на дискретном, игра в любом случае запустится на встроенном. Поэтому и возникают «цветные» проблемы, поскольку монитор подключён по умолчанию к дискретной видеокарте.
Не менее часто цветной экран появляется в том случае, если появились проблемы с выводом изображения. Подобное вызывает самые разные причины, но существуют две наиболее распространённые: 1 – стоят устаревшие драйвера; 2 – ваша видеокарта не поддерживается. Поэтому рекомендуем обновить в первую очередь драйвера.
Изображение в Need for Speed: Most Wanted мерцает
Не работает мышь, клавиатура или контроллер
Чаще всего, если такие проблемы и возникают, то строго на стороне игрока. В процессе подключения нового девайса ОС моментально пытается установить необходимый пакет драйверов, но проблема в том, что он стандартный, а значит, будет совместим далеко не с каждым устройством, поэтому проверьте наличие необходимых драйверов. Кроме того, на управление могут повлиять вирусы, так что обязательно проверьте систему.
Эмуляция джойстика Xbox 360
Свежее видео на канале Coop-Land:
NFS Most Wanted (2005) падает. Как исправить? (гугл не помог)
Во время затяжных гонок с полицией часто случается:
r6025 pure virtual function call
В режиме «Погоня» в предпоследнем испытании нужно ездить с 6-ым уровнем копов полчаса, затем отораваться от преследования. Игра иногда падает через 10 минут, иногда через 25.
Один раз упала уже после прохождения этой получасовой гонки, но не успела сохраниться.
Виндовс, семёрка, шестидесяти-четырёхразрядная
Дубликаты не найдены
Попробуй microsoft c++ переустановить
@moderator, тут NFS упал в сообщество багрепортов Пикабу.
Было много крутых проектов, но прямо шоковым оказалась твин-турбо Ламборгини Уракан с обвесом, сваренным из труб (скорее всего после ДТП):
Были и другие суперкары в более приличном состоянии:
Можно сказать, что изюминкой данного мероприятия лично для меня была BMW M3 GTR из NFS: Most Wanted, владелец даже заморочился насчёт номеров!
Но самая большая часть автомобилей была японского происхождения:
Ну и без «американцев» не обошлось:
Конечно, многие машины были сделаны не супер качественно, но были и такие, где качество деталей и подхода впечатляет:
Было достаточно много людей, и, как это здесь принято, несмотря на присутствие полиции люди устраивали импровизированный дрег-рейсинг прямо на выезде из парковки:
Про ошибки
А если ошибиться в шаблонах, то компилятор плюсов еще расскажет про твою семью
Другая сторона Need for Speed. Рассказ
А вы пробовали взглянуть на игру с другой стороны?
Как EA усложнили нам жизнь, или как мы чинили баг 12-летней давности
Иногда в программы закрадываются баги. Причем закрадываются так, что обнаружить их получается лишь через много-много лет после выпуска, когда чинить их уже нерентабельно. Иногда такие баги оказываются слишком критическими, чтобы их игнорировать. Поэтому под катом я расскажу, как мы устраняли один такой критический баг в одной старенькой гонялке. А заодно наглядно продемонстрирую, чем плох float, какие могут быть последствия и как с этим бороться.
Лирика
Речь пойдет об игре Need for Speed: Most Wanted. Эта игра очень популярна и крайне любима многими геймерами-энтузиастами, и многими считается чуть ли не лучшей в серии. Даже если вы не азартный игрок, то наверняка слышали об этой игре в частности или о серии в целом. Но обо всем по порядку.
Я – спидранер. Прохожу игры на скорость. Довелось мне быть одним из первопроходцев в деле скоростного прохождения гоночных игр, поэтому я заодно являюсь одним из «глобальных модераторов» спидран-коммьюнити серии NFS. Участь со мной разделил чех под ником Ewil.
Мы начали искать причину и последствия этого явления. Еще задолго до этого я в личных интересах пытался «вытащить» из игры IGT. Моя попытка не увенчалась успехом, и я как-то забил на эту идею. Информации в интернете мы найти не смогли, за исключением какой-то английской странички с очень коротким описанием, без какой-либо доказательной базы. Поиск по ютубу также не принес результатов, но были найдены записи, которые гласили «No TimeBug».
Чуть позже я познакомился со SpeedyHeart, и она мне подсказала, что в игре время считается как float. Тут все начало проясняться, и мы медленно переходим от унылого вступления к лютому экшону!
Как это работает
Вооружившись Cheat Engine, OllyDbg, DxWND и NFS: MostWanted версии 1.3, я полез рыться в памяти. Выкопал я примерно вот что (картинка кликабельна):
Нас интересуют последние три адреса. Они хранят в себе IGT для разных ситуаций. Почему они float – одному Блэк Боксу известно… Но так не делают! Float, у него же точность, как у дробовика, а может и того хуже.
Собственно, немного о самих таймерах. Таймеры хранят время в секундах, т. е. целая часть – количество полных секунд. Два из этих таймеров, а именно Global IGT и Race IGT, периодически обнуляются. Для Global IGT это происходит в момент выхода в главное меню, а Race IGT обнуляется при рестарте гонки. Подсчет IGT производится через Global IGT, и в какой-то момент времени ему уже не хватает точности. Из-за этого время считается неправильно.
На этой стадии меня заинтересовали несколько вопросов:
Я пошел немного глубже и нашел ответ на вопрос 2. Как только Global IGT достигает отметки в 524288 время в игре полностью останавливается. Это немного смущает игру, и она начинает плохо себя вести делать интересные вещи. Например, не дает начать гонку после рестарта, намертво блокируя игру (выйти из нее можно только через диспетчер задач или Alt+F4). Отрыв/отставание от соперников перестает работать. А если проиграть гонку, то игра отправляет вас в свободное плавание по миру.
Float — ад перфекциониста.
Хоть и не в прямом смысле, но все же. Для наглядной демонстрации я написал небольшую программу, которая поможет мне оценить всю печальность происходящего.
Перед непосредственно кодом, распишу немного про цели. Известно, что игра «блокирует» цикл обновления физики на 120 раз в секунду (опять же, спасибо SpeedyHeart за информацию). Однако vsync обрубает обновление физики еще сильнее, до 60 раз в секунду. Соответственно, мы просто возьмем float-переменную и будем циклически туда добавлять 1/60 секунды. Потом мы посчитаем, за сколько шагов мы добились результата, и за сколько шагов мы должны были добиться этого результата. Также будем делать все циклически для разных случайных величин и считать среднюю погрешность в рассчетах. Любые отклонения в 2 и менее шагов (33мс) мы будем считать незначительными, потому что игра показывает время до сотых секунды.
Меняя значения START_TIME и TEST_TIME мы можем получить необходимую нам статистику. В целом, пока START_TIME не превышает 15 минут, то обычный 2-х минутный заезд окажется «свободным» от бага. Разница остается не критичной в рамках игры, 1-2 кадра:
16 Минут же оказались «критической точкой», когда время беспощадно плывет:
Интересен так же тот момент, что в зависимости от START_TIME будет меняться «сторона» ошибки. Например, после полутора часового непрерывного геймплея время начнет течь медленнее, чем должно:
Поигравшись со значениями еще немного я оценил, что в получившейся программе «время» течет примерно так же, как в игре. Это было подтверждено практически – любые рекорды, записанные «из главного меню» в течение первых 15 минут геймплея были чистыми. При START_TIME близкому к 300000 секунд количество шагов было почти в два раза меньше, чем ожидалось. При START_TIME, большем магической константы 524288 программа переставала работать. Все это подтверждало, что процесс подсчета времени был скопирован верно.
Устраняем нежелательное поведение
Теперь, когда известна проблема и ее поведение, можно ее устранить. Нужно лишь перезаписывать Global IGT всякий раз, когда игрок начинает заезд заново. Это можно узнать довольно просто – в этот момент обнуляется Race IGT. Но тут есть проблема.
Есть два издания игры: NFS: Most Wanted и NFS: Most Wanted Black Edition. Второе издание включает в себя две дополнительные машины и две трассы, да 69-ое испытание. Но, технически, это две совершенно разные игры! Их запускаемые файлы отличаются. Помимо этого, есть патч 1.3… Который отличается для каждого издания. В итоге у нас есть 4 разных версии игры, которые надо поддерживать. Этот факт делает «правильный» путь чрезмерно сложным и неоправданным. По-хорошему, нужно слегка подправить запускаемый файл и обнулять счетчик там, но… Править 4 разных экзешника, которые еще и запакованы, да защищены от отладки… Лучше просто напишем простую программку, которая будет в реалтайме отслеживать состояние таймеров и обнулять их при необходимости. Писать будем на C#.
Вот такую архитектурку я набросал. GameProcess – это вспомогательный класс, который упрощает доступ к чтению-записи памяти процесса. GameHolder – сердце программы. Он будет инициализировать GameProcess, а при «подцепе» процесса будет определять версию игры и создавать необходимый экземпляр наследника Game. Поскольку логика «фикса» не отличается от версии к версии, то ее лучше вынести в один класс.
Как же нам определить версию? Просто – по размеру основного модуля. Я специально реализовал проперти ImageSize. А чтобы не захламлять код магическими константами, запилим enum:
Остальные версии добавим по мере их попадания ко мне в руки.
isUnknown отвечает за тот факт, удалось ли нам определить версию или нет. Из всего класса нам интересен только метод Refresh, вот он:
Логика фикса вышла совсем простенькой:
Дело осталось за малым: реализовать версию, выставив в конструкторе необходиме значения соответствующим protected-переменным. В мэйне же просто кидаем цикл обновления в отдельный трэд и забываем про него. Ах да, из-за особенностей карточек Nvidia и особенностей реализации установщика игр NFS мы будет принимать на вход имя процесса, чтобы была возможность кастомизации.
На этом фикс заканчивается. Компилируем, запускаем и забываем о таймбаге, yay! ^_^ Картинка кликабельна.
На самом деле, никуда этот баг не денется. Если один заезд физически не уложится в рамки 15 минут, то тут уже ничего не поделаешь. Но таких заездов в игре аж один, и тот от полиции.
Полные исходники на гитхабе.
Summary
Вот так один маленький баг нехило подпортил нам жизнь. А ведь его можно было избежать, если бы Black Box использовали в свое время double, но нет. Кстати, это яркий пример того, как «написанное однажды» выливается в кучу неулавливаемых/перекатывающихся багов. Timebug присутствовал в каждой игре от Black Box ever since. В Carbon, ProStreet и даже Undercover. В последнем они поменяли логику подсчета IGT, но эти три таймера там все так же присутствуют, и ошибки округления приводят к странным последствиям. SpeedyHeart обещала сделать видео-обзор всей найденой в процессе информации, так что ждем-с.
Чему меня научила эта ситуация? Не знаю. Я и так понимал, что использовать float для серьезных вычислений – идея сомнительная. Но теперь я лучше представляю, как именно все это будет работать на практике. Однако забавно получилось, что такая серьезная компания могла допустить такую серьезную ошибку, да еще и несколько лет подряд не замечать ее.
Мне кажется, что для данной задачи (подсчет IGT) нужно использовать такой путь: ставить timestamp в начале заезда, а потом вычитать из текущего времени. Причем арифметических операций стоит избегать, даже над целыми числами. 1/60 секунды это 16,(6) миллисекунд, поэтому в случае целого числа мы будем наивно откидывать 0,(6) при каждом сложении, что приведет к неточностям в подсчете.
В некоем обозримом будущем я постараюсь написать фикс и на другие версии. На этом у меня все, спасибо за внимание.
UPD: Поправил ссылку на гитхаб всвязи с переездом на новое имя.
UPD2: Выкатил вторую часть, интересующиеся могут прочитать.