[ПОМОЩЬ] Обнаружение ИИ
-
Привет, я Nomad, и мне очень нравится этот форум и количество контента на нем! К сожалению, я не говорю по-русски, поэтому прошу прощения за грамматические ошибки, мне помогут с переводом с английского на русский...
Мне нужна помощь с theHunter: Classic. Это действительно старая игра, но все равно очень хорошая, в нее можно весело провести время. Никаких античитов и антиотладки не происходит. Я уже нашел много вещей, и у меня есть внутренний хак, который работает с ESP, режимом бога, без отдачи/взмаха и фильтрацией по полу/весу, но есть функция, до которой я не могу добраться...
Речь идет об обнаружении животных/ИИ и о том, как их не спугнуть (сделать слепыми, глухими и не осознающими своего окружения). Я видел этот чит на его преемнике theHunter: Call of the Wild, но не могу понять, как он работает... Обнаружение в этой игре имеет 3 метода: зрение, обоняние и слух.
Я отслеживал и фильтровал код, искал структуры данных и через долгое время пришёл к тому, что увидел, что именно эта функция заставляет животное пугаться и бежать, а при использовании hwbreakpoint оно останавливается прямо в тот момент, когда животное замечает меня
Может ли кто-нибудь, если у вас уже есть опыт работы с этой игрой, COTW или любой другой охотничьей игрой, помочь мне понять, что происходит? Какие методы мне следует искать и чего именно мне следует ожидать?
Ниже я приложу несколько распечаток, не стесняйтесь спрашивать больше или даже CETable. Любая помощь или совет определенно ценятся!
Я почти уверен, что эти первые три адреса — это функция, которая вызывает на экране сообщение о том, что животное напугано. И вы можете увидеть это из «gui_feedback_message_contextual...»
Затем я объединяю все эти вызовы в одну функцию, которая, по моему мнению, является функцией обнаружения (я не уверен). Это огромная функция, и я действительно не знаю, как на нее смотреть. Возможно, я просто смотрю не в том месте или не теми глазами.
И последнее, но не менее важное: у меня есть еще одна функция, которая, я не уверен, связана ли она с обнаружением ИИ или обновлением его статуса.
Еще раз спасибо за ваше время и извините за мой плохой русский!
-
@Nomad привет! На первом скриншоте ты нашёл функцию, которая отображает на экране, что животное напугано. В стеке вызовов эта функция, скорее всего, вызывается из какой-то другой функции, которая, в свою очередь, может являться основной функцией обнаружения, или же может являться промежуточной функцией в этом каскаде. Самый простой вариант в данном случае - попробовать подняться вверх по стеку вызовов, постепенно отменяя вызов "дочерней" функции. Таким образом, возможно, получится подняться до правильного уровня и отменить вызов как раз той функции, которая непосредственно отвечает за обнаружение охотника животным. Надеюсь, при переводе на твой родной язык моё объяснение не утртатит смысл
-
@StoneWeaver Не волнуйся, чувак, я все понял! Спасибо большое, ваш совет мне очень помог. Я проследил, почему было показано сообщение, и добрался до функции... Я не менял никаких значений и не "nop"... Это было простое преобразование "jne" в "jmp".
А еще лучше то, что я нашел функции, которые могут задавать статус животного... Например, сделать так, чтобы оно утомилось, чтобы оно заснуло, сделать его голодным и начать есть, а также разозлить его, что учитывается при прохождении. миссии...
Вот скриншот того, как это работает, а животные обо мне не заботятся
Спасибо за ваше время! Надеюсь, я вернусь, когда на ум придет еще одно сомнение