Bromvol Опубликовано 12 августа, 2012 Поделиться Опубликовано 12 августа, 2012 Доброго времени суток уважаемые геймхакеры!!! У меня вопрос как сделать глупых врагов в игре? То есть чтоб они стояли себе и ничего не делали глав герою. Видел такой чит в The Incredible Hulk команда Cheat Happends его делала. Только как его сделать ума не хватает.У кого какие идеи или может кто-то такой чит уже делал? Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 Привет.глупых врагов в игре! можно конечно.1) отнят у врагов патроны. (Применяется фильтр)2) заморозка врагов. (Применяется фильтр)3) враги вас не трогают.И далее.Тут делал aliast похожее. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 Путей достаточно большая куча - смотря что ты подразумеваешь под этим читом. По сути, интеллект ботов сводится к здоровому циклу, который заставляет их бегать туда-сюда и реагировать на обстановку (например, если они заметят тебя). Выйти на этот цикл можно:1. Через функцию стрельбы.2. Через функцию нанесения урона.3. Через функцию изменения координат при перемещении.4. Найдя адрес здоровья врага и функцию, его читающую.И так далее. Что потом делать? Или просто писать фильтры (стрелять можешь только ты, бегать можешь только ты и так далее), или реверсить весь цикл и смотреть, что происходит. Например, можно найти такой кусок кода:if(isPlayerDetected){ StartAlarm(self); FireAtWill(Player);}А при этом когда бот умирает, то происходит вот это:if(self.Health <= 0){ self.isDead = 1; DropCurrentWeapon(self); AnimateDeath(self);}Соединяем это и:if(isPlayerDetected) //Если заметили игрока{ self.isDead = 1; //Ставим себе флаг, обозначающий что мы мертвы DropCurrentWeapon(self); //Выкидываем оружие AnimateDeath(self); //Анимируемся //StartAlarm(self); //Тревогу не вызываем //FireAtWill(Player); //Стрелять не начинаем}Такое называется "medusa hack" - в честь одной из сестёр горгон греческой мифологии. Что делает? Всё просто - когда враг тебя замечает и пытается отреагировать (начать стрелять в тебя, поднять тревогу) - он просто умирает.Ещё можно просто попробовать найти нужные значения в структуре игрока - заметил он тебя или нет, поднял тревогу или нет, есть ли у него оружие или нет и так далее. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 Заметил игрока и умер? Такого чита я что-то ни разу не видел Видел только смерть от наведения прицела (без выстрела), но это уже простая разновидность One Hit Kill, обусловленная особенностями движка конкретно взятой игры. Забавно, но я как раз сегодня решил поэкспериментировать с таким читом "тупых врагов" в игре Desperados. В этой игре у врагов есть конус зрения, как в стратежке Commandos. Думал даже тему по игре создать, но не успел, опередили =) Будем думать... Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 Заметил игрока и умер? Такого чита я что-то ни разу не видел Видел только смерть от наведения прицела (без выстрела), но это уже простая разновидность One Hit Kill, обусловленная особенностями движка конкретно взятой игры. Забавно, но я как раз сегодня решил поэкспериментировать с таким читом "тупых врагов" в игре Desperados. В этой игре у врагов есть конус зрения, как в стратежке Commandos. Думал даже тему по игре создать, но не успел, опередили =) Будем думать...В FarCry довольно простая реализация такого чита (я даже выкладывал свой трейнер с этой функцией).Всё просто находим инструкцию которая обсчитывает здоровье всех юнитов (вы - локальный игрок, и ботов - ваших врагов), пишем простой фильтр чтобы всё здоровье кроме вашего принимало значение 0 и всё.Боты стоят и не шевелятся, т.е. игра думает что они мертвы, но так как им не было нанесено никакого урона, они не падают замертво.Вот и всё Такой принцип будет работать на всех играх с движком CryEngine я думаю. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 Я в Modern Warfare 3 как-то нахимичил с координатами, как будто визуальные координаты поменялись и враги стреляли хрен знает куда)Coder, во многих играх такое бывает, враги могут тупо стоять и не двигаться, а могут просто тебя не заметить итд.Ну и еще жалкое зрелище, когда враги не могут стрелять или ходить)) Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 13 августа, 2012 Поделиться Опубликовано 13 августа, 2012 В общем сделал я вечно мажущих врагов в игре Десперадос Осталось добавить фильтры на союзников, а то мы тоже мажем Хотя можно и без фильтра играть, нокаутируя врагов кулаком, работает. Ломал методом "меняем условие прыжка на противоположное". Можно этот метод испытать и на других играх, вдруг повезёт.Сначала нашёл инструкцию, сверяющую здоровье всех с нулём. Такая инструкция выскакивает при бряке на запись в адрес здоровья. Сразу после проверки равенства здоровья нулю шёл условный прыжок. При изменении условия прыжка на противоположное получил стоящих на месте врагов (я тоже не двигался без фильтра), но к сожалению враги стояли на месте и стреляли в меня Далее нашёл инструкцию, работающую с патронами всех. У врагов в этой игре патроны бесконечные и приравнивать их к нулю бесполезно, всё равно палят. Однако выше инструкции отнимающей патроны нашёлся интересный Call, срабатывающий при выстреле по врагу, или врага в меня. Что можно сделать с этим вызовом не придумал, но зато ещё выше увидел условный прыжок, который аккуратненько так перепрыгивает через этот Call И снова поменял условие прыжка на противоположное и все стали во всех мазать Можно конечно ещё посидеть над игрой и подумать над невидимостью, но и стоящие и мажущие враги уже неплохо Кстати говоря таким же макаром изменяя условие прыжка у меня получалось заблокировать стрельбу в игре Operation Flashpoint, так что способ вполне рабочий.А ещё приблизительно таким образом сегодня ломаются игры на PlayStation3 - сканеров памяти для приставки так и не придумали до сих пор, но народ умудряется ломать игры и без них. И баловство с условными прыжками у них один из способов взлома. Хотя я не понимаю как они находят нужные прыжки, не имея возможности поставить бряки на них... Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 11 января, 2014 Поделиться Опубликовано 11 января, 2014 Как наиболее эффективно заморозить координаты врагов? Нужно как-то сохранить текущие координаты и морозить их на этих значениях. А как это сделать не могу придумать.Извиняюсь, что-то я жёстко тупанул. Надо было бряк ставить не на доступ, а на запись в адрес координат, и эту инструкцию нопить - вот вам и заморозка координат. Сработает не всегда, но мне помогло. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения