Автор Тема: проблема с нахождением текста  (Прочитано 878 раз)

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Всем привет! У меня возник вопрос. Все прекрасно знают, что в гта са есть такая штука, как повышения навыков выносливости, стрельбы из оружия, вождения и т.д.
я вот написал такую штуку:
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 не находит  :(
Известно еще, что проверка эта и не в скриптах, но все равно где то он должен лежать, ведь вызывается. У кого нибудь есть какие то предложения, как можно найти где вызывается функция с этим сообщением

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 512
  • Репутация: +33/-0
    • Просмотр профиля
Re: проблема с нахождением текста
« Ответ #1 : Март 01, 2014, 05:45:45 pm »
Остается цепляться за эти переменные:

Код: ASM
  1. .text:0055A084 000                 fstp    _playerStatsFloat[eax*4]

и

Код: ASM
  1. .text:0055A09B 004                 mov     _playerStatsInteger[edx*4], ecx

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


Также поройтесь тут:

Код: ASM
  1. .text:00574900     _drawStatBars   proc near    

Но я еще GTA SA, не занимался вот впервые открыл базу, честно говоря... Но суть в принципе та же как и в ВС.
« Последнее редактирование: Март 01, 2014, 05:49:28 pm от Sektor »

Оффлайн mike43842

  • Прохожий
  • *
  • Сообщений: 110
  • Репутация: +1/-0
    • mike43842
    • Просмотр профиля
    • lol
Re: проблема с нахождением текста
« Ответ #2 : Март 01, 2014, 06:02:32 pm »
Разобрался! Вот та функция с которой все и идет - sub_559760, решил проблему так:
0A8C: write_memory 0x559760 size 1 value 0xC3 virtual_protect 1 через cleo поставил retn на эту функцию и сообщение больше не выводится  :)
« Последнее редактирование: Март 11, 2014, 11:46:38 pm от mike43842 »