Перейти к содержанию

Рекомендуемые сообщения

 

Всем старожилам, мододелам и завсегдатаям бара Ап-Про - крепкого сталкерского краба. 

UPD:  РЕЧЬ ПОЙДЁТ ОБ ENCHANCED EDITION ЗОВЕ ПРИПЯТИ. Стимовская версия, оригинал + оружейный пак STCoP, версии 1.5/2.0. "Делаю" его работоспособным под "новый" движок.

Опишу ситуацию. Происходит вылет когда НПС или ГГ роняет предмет TOZ-34. Из ранних версий STCoP wp, 2.0, 1.5 и подобные.
Вылет безлоговый - движок встаёт колом и так торчит до бесконечности, до того как сам не вырублю короче.

Анализ дамп файла показывает что вылет происходит из-за того что какая то шляпа ссылается на нулевой адрес в XrGame.Dll находящиеся теперь в движке игры. А не отдельно, как ранее.

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

 Лог не создается, посему считаю что это древняя проблема, вызываемая какой то ошибкой, которую устранили мододелы, заменив код внутри XrGame.Dll.

 

Как проще устранить это, найти контакты типов которые разработали правки в XrGame, найти какого нибудь реверс-разраба, который сумеет объяснить как корректно дизассемблировать EXE и поменять в нем DLL компонент, не нарушив адресные привязки, или просто вырезать нахрен это оружие. Последний вариант словно бы идеальный, но Тозик слишком массовый, он есть в нычках, не ковыряясь в spawn.all его с них не убрать, он как будто каноничный, и никто не исключает того что такая ошибка может повториться с другими стволами. 

 

АПДЕЙТ ОТ 12.07.25: ПОКОВЫРЯЛ ЕЩЁ, ПРОИСХОДЯТ НЕПОНЯТНЫЕ ВЫЛЕТЫ ПРИ БРОСКЕ ГРАНАТ, И АНАЛОГИЧНЫЙ С ТОЗОМ ПРИ ВЫБРАСЫВАНИИ РГ-6. Остальное работает нормально. Если в гранатах я вижу момент когда должна воспроизвестись анимация отделения кольца, и все три крашат игру без лога, то с РГ-6 такая же как с тозиком беда. Возможно там что-то перепутано местами или я хз... Может хоть кто-то что-то подобное видел когда нибудь



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

Изменено пользователем ЯриK
Не совсем корректное описание вопроса
  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hrust Совершенно не понял при чем тут страдать херней. Возможно я не сформулировал суть вопроса.
 Конкретно я никаких файлов никуда не прописывал, и при детальном рассмотрении все ссылки корректны.
Опишу ситуацию. Происходит вылет когда НПС или ГГ роняет предмет TOZ-34. Вылет безлоговый - движок встаёт колом и так торчит до бесконечности. Анализ дамп файла показывает что вылет происходит из-за того что какая то шляпа ссылается на нулевой адрес в XrEngine.dll находящийся теперь в движке игры. А не отдельно. Вылет в самой игре выглядит так, ровно в момент когда Тозик превращается в независимый от персонажей предмет, происходит коллапс движка. Ну то есть, в нычке на карте оружие лежит - никого не трогает, к крашу не приводит. Если я его поднимаю, тоже всё нормально. Однако стоит его выбросить, ровно в момент когда он на экране начинает существовать как отдельный объект, игра вылетает. Лог не создается, посему считаю что это древняя проблема, вызываемая какой то ошибкой, которую устранили мододелы, заменив код внутри XrGame.Dll.
В тех же тредах написано, что придумано это как раз из-за какой то неназванной проблемы внутри ДЛЛ которая не даёт mp_rank ввести какие то данные, и происходит ошибка привязок. Так как адреса внутри поменяны, я не могу из дизасемблированного EXE файла вырвать старый DLL и воткнуть туда новый. Просто ничего работать не будет, если я правильно понял, без переписи адресов. По этому я и прошу, тех старожил у кого есть выход на мастеров модопрома, попросить их уделить пару минут своего времени. Я просто реально даже не понимаю, а могу ли я сделать как описал чуть ранее с заменой dll? Либо я действительно занимаюсь херней, либо всё таки тут всплыл этот тухляк. Зная GSC они скорее соберут цельный EXE из старых ассетов, чем прислушавшись к аудитории соберут что-то более корректно работающее. 


Дополнено 2 минуты спустя

ВОООт, и соответственно всему вышесказанному дополняю, проблема либо в том что как то неверно работают модели, замененные в ранних СТкопах, либо ошибка которую я описал, либо физика какая то, что то где то факапит. И по этому тут либо я чего то не понимаю, отчего прошу помощи, либо проблема конкретно так что была мной указана, и без помощи реверс-разработчиков или еще чего умнее, тут не разобраться. Конкретно разрабам, если таковые имеются. Чем чревато то что я в Exe заменю DLL? Может ли навернуться адресная архитектура? Я реально плох в программировании, это так для души, и есть ли вообще в моих словах логика

Изменено пользователем ЯриK

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

You are welcome0.0.png.4ee03440af338c8c4cc799bdf58f9ba1.png

Изменено пользователем Deathman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hrust Крашит просто потому что крашит(я тупои). Яж говорю лога нет, точную причину не установить. В дампе говорится что адрес ссылается на null после чего происходит заморозка движка(безлоговый вылет). Я думаю что проблема может крыться в движке, потому что изучив треды с похожими темами, там упоминается неспособность оригинального игрового ДЛЛ принимать новое оружие из мп_ранк. Этот самый ранк перековырял как только мог, ниче не меняется. Хочу щас попробовать добавить world модельку, и прописать ее в конфигах... Почему то же в нычке оно существует, не вызывая проблем. А как только падает - крашит

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вот код из оригинала.
image.png.28b4d933c74c54bd27442aff28554c5f.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Deathman а корректно ли проводить аналогии, когда речь об исходниках SHOC и COP EE. Вариант с изучением с нулей исходников, моему уровню развития как программиста пока что недоступен. Тем более как будто бы идет сравнение 1.0006 и 1.9.0.18712 (Steam). 
Или ты хочешь сказать что решение этой проблемы кроется в том треде что ты скинул?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, ЯриK сказал:

Deathman а корректно ли проводить аналогии, когда речь об исходниках SHOC и COP EE.

Ты не сказал о чем идет речь, я решил что речь идет о оригинальной тени Чернобыля

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Deathman Поправил, теперь вроде видно...


Дополнено 13 минуты спустя

image.png.c44fc60909d294cf0019358f31d8d929.png

Вот момент после вылета. Здесь я поменял модель из STCoP на модель с оригинала, Проверить ни в ней ли дело. Так-же вальнул типа, происходит падение оружия, но на этот раз успела появиться иконка, и та от СПАСА из мода. Обычно иконки нет вовсе... Я реально чердаком поеду скоро с этой хренью

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

А, это именно с моделью связано? Без правок конфигов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

ЯриK пропиши Тоз в mp_ranks и все, делов на 3 минуты.

  • Клоун 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Hrust да, возможно... Я бляха не знаю, у меня паника. 
Короче я думаю, что конфликт движка, потому что именно он сам на себя в дампе памяти вылета, ссылается. Не на ини файл, не на что-либо сторонее сам движок в момент выброса оружия, после спавна мгновенно обнуляет сам себя. Я поменял модели, проверить чекаво, всё было точно также. Значит дело в конфигах, было бы, если бы в mp_ranks и каких то общих с toz файлах, была бы хоть одна ошибка. Всё идеально, и перепроверено на триста раз. ЛИбо это какая то прям хитровыебанная проблема, либо это буквально ошибка в ДЛЛ файле движка, как говорится в дампе памяти


Дополнено 4 минуты спустя

Hunter Ты шутишь? Или я ни разу в треде не писал, что mp_ranks в порядке?.. 
Ошибка точно по ее линии, или как то к ней касается, но когда крашит именно по ее стороне, происходит инициализация баголовки. Тут же просто двигло встает колом. Повторю в 9 раз, я анализировал дампу памяти, за тот момент в котором движок насмерть встаёт. Это соответствует моменту, когда модель спаунится с персонажей. Там происходит обращение к адресу null. Я прошу помощи с работой, с длл. Я знаю что такой баг существовал в ранних сталкерах, и за счет использования GSC своих наработок при выпуске EE версий, они всунули туда тот же багованный длл. Как его поменять, или что конкретно в нем поменять, чтобы не сломать работу всего EXE

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу