GTA San Andreas => Общие вопросы => Тема начата: mike43842 от Март 01, 2014, 04:41:21 pm
Название: проблема с нахождением текста
Отправлено: mike43842 от Март 01, 2014, 04:41:21 pm
Всем привет! У меня возник вопрос. Все прекрасно знают, что в гта са есть такая штука, как повышения навыков выносливости, стрельбы из оружия, вождения и т.д. я вот написал такую штуку: auto CPed__setPlayerStatValue = (void (__thiscall*)(int, float))0x55A070; CPed__setPlayerStatValue(72, 1000.0); Это повышает навык оружия UZI, т.е. делает максимальный уровень стрельбы, при этом у него становится их 2. Вот когда это выполняется в игре вылазит сообщение о том что вы достигли максимальный уровень и т.д. хотелось бы убрать это сообщение. Я нашел ключ gxt этого сообщения - SWMUPR.
Вот само сбщ: ~h~Machine Pistol Skill~w~ - Hitman level reached. You can now wield two Machine Pistols simultaneously and your lock-on range has increased.
Таким образом я хотел по этому ключу найти где вызывается эта функция в игре, но IDA не находит :( Известно еще, что проверка эта и не в скриптах, но все равно где то он должен лежать, ведь вызывается. У кого нибудь есть какие то предложения, как можно найти где вызывается функция с этим сообщением
Название: Re: проблема с нахождением текста
Отправлено: Sektor от Март 01, 2014, 05:45:45 pm
Суть в том что, это вообще по сути глобальный массив и он где-то хорошенько и обрабатывается и когда скилл скорее всего изменяться, то выскакивают сообщения.
Также поройтесь тут:
Код: ASM
.text:00574900 _drawStatBars proc near
Но я еще GTA SA, не занимался вот впервые открыл базу, честно говоря... Но суть в принципе та же как и в ВС.
Название: Re: проблема с нахождением текста
Отправлено: mike43842 от Март 01, 2014, 06:02:32 pm
Разобрался! Вот та функция с которой все и идет - sub_559760, решил проблему так: 0A8C: write_memory 0x559760 size 1 value 0xC3 virtual_protect 1 через cleo поставил retn на эту функцию и сообщение больше не выводится :)