Crashes 2.4 для GTA SAMP. Исправленная версия плагина

SAMP

В статье «Баги из-за высокого FPS в GTA SAMP. Способы исправления» я рекомендовал ASI-плагин Crashes. Он устраняет большое количество ошибок GTA San Andreas и исправляет некоторые проблемы, особенно заметные при высокой частоте кадров.

Однако во время дальнейшего использования плагина я обнаружил несколько недостатков. О двух из них я уже упоминал в той статье и обещал отдельно опубликовать возможное решение.

Собственно, об этом решении и пойдёт речь в этой статье.

При помощи искусственного интеллекта я внёс несколько изменений в ASI-плагин Crashes v2.4. При этом я сохранил полезные исправления оригинального плагина и устранил проблемы, которые мешали мне использовать его в GTA SAMP.

Что не так с оригинальным Crashes

Персонаж не получает урон во время некоторых анимаций

Одна из причин, по которой я рекомендовал Crashes, связана с багом GTA San Andreas при высокой частоте кадров.

В некоторых местах персонаж может неожиданно погибнуть во время попытки перелезть через небольшое препятствие. Например, подобная проблема встречается на крыше дома Свита, на крыле самолёта в заброшенном аэропорту и в некоторых других местах.

Вместо обычной анимации перелезания игра может моментально убить персонажа, посчитав причиной смерти падение с большой высоты.

Исправление этой ошибки появилось в Crashes 1.9 и присутствовало в версии 2.4.

Однако у него обнаружился серьёзный побочный эффект: во время некоторых анимаций персонаж мог перестать получать урон.

Особенно хорошо это было заметно на RP-серверах с защитой от баннихопа. При определённых условиях игрок мог прыгнуть с большой высоты и не получить предусмотренный игрой урон.

Из-за этого в Crashes 2.51 разработчик полностью удалил изменения, связанные с исправлением перелезания. Персонаж снова начал нормально получать урон. Однако вместе с этим вернулась первоначальная проблема с внезапной смертью при высокой частоте кадров.

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

Таким образом, в остальных ситуациях персонаж продолжает нормально получать урон, а исправление внезапной смерти при перелезании через некоторые объекты остаётся активным.

Персонаж не респавнится после смерти в автомобиле

Вторая проблема оказалась значительно более заметной во время обычной игры.

Если персонаж погибал, находясь в автомобиле, после смерти он мог не появиться на точке респавна. При этом не имело значения, находился он за рулём или на пассажирском месте.

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

Персонаж после смерти в автомобиле не переходит к респавну

В результате персонаж оставался в некорректном состоянии, и для продолжения игры требовались дополнительные действия.

При обычной смерти вне автомобиля такой проблемы не возникало.

В модифицированной версии Crashes я исправил эту ошибку. После смерти в автомобиле персонаж снова корректно проходит стандартную процедуру респавна.

Отсутствует музыка в интерьерах

Ещё одна особенность оригинального Crashes связана с музыкой, которая воспроизводится в некоторых интерьерах GTA San Andreas.

Плагин принудительно отключает её независимо от настроек самой игры. Формально это не ошибка, а предусмотренное поведение Crashes, однако мне такой подход показался лишним.

Поэтому в модифицированной версии я добавил возможность управлять этим поведением через новый параметр «interiormusic».

После первого запуска игры Crashes автоматически создаёт конфигурационный файл «crashes.cfg». После этого в нём можно изменить значение параметра:

interiormusic 1 – музыка в интерьерах включена.

interiormusic 0 – музыка в интерьерах отключена.

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

Скачать модифицированную версию Crashes

Модифицированную версию Crashes со всеми описанными выше исправлениями можно скачать по ссылке ниже.

Скачать Crashes

Исходный код модифицированной версии также доступен на GitHub. Там можно посмотреть внесённые изменения или при необходимости самостоятельно собрать плагин.

Проект на GitHub

Установка

Скачайте модифицированную версию Crashes по ссылке выше. Содержимое архива распакуйте в корневую папку GTA San Andreas, при необходимости заменив существующие файлы.

Если ранее у вас уже была установлена другая версия Crashes, параметр «interiormusic» в существующем файле «crashes.cfg» автоматически не появится. В этом случае можно удалить старый конфигурационный файл, чтобы плагин создал новый, либо добавить параметр «interiormusic» и его значение вручную в любую строку файла. Если данный параметр отсутствует, плагин использует значение «1».

Для работы плагина в игре должен быть установлен ASI Loader. Если он у вас ещё не установлен, скачать его и ознакомиться с инструкцией по установке можно в статье «Как начать играть в GTA SAMP. Установка и полезные модификации».

Заключение

Изначально я собирался лишь разобраться с несколькими проблемами Crashes. О них я уже упоминал в статье о багах из-за высокого FPS. В итоге получилась отдельная модифицированная версия плагина, которой теперь пользуюсь сам.

В ней удалось сохранить полезные исправления оригинального Crashes, устранить обнаруженные проблемы и добавить отдельную настройку для управления музыкой в интерьерах.

На этом для себя тему Crashes я закрываю: текущая версия решает те проблемы, из-за которых я вообще взялся за доработку плагина. Дальше развивать его я не планирую.