Комментарии 24
Как-то у вас всё просто. Когда я в своё время занимался подобным, античит (GameGuard) блокировал подобные непотребства, не давая отправлять нажатия. В итоге я быстро переключился на уровень сетевых пакетов.
А я делал аппаратный эмулятор (на ардуине или стм32, не помню уже). Смысл был такой, что по COM-порту ему отправляешь команды что нажать или на сколько и куда передвинуть мышку, а он уже все это делал на аппаратном уровне.
Некоторые идут дальше.
Тоже в свое время хотел кликер такой написать, чтобы в одной игрушке участвовать в боях с крипами)

Если кто знает подобные библиотеки для C# - буду признателен)
OpenCV под c # работает без проблем, управление мышью и клавиатурой искать не боле пары минут. В matchTemplate очень много времени тратится на просмотр всего массива, исходный код на c # легко перенести, сделав выход из цикла когда порог превышен поиск ускоряется в несколько раз.
С нежностью вспоминаю бота L2Walker. Его создатели в своё время потрясли меня до глубины души.
Основным отличием от всех остальных ботов было отсутствие необходимости грузить и держать запущенным клиент игры. Это позволяло на одном очень среднем ПК запускать почти два десятка ботов (т.е. две полные пати). Внутри имелась карта вид сверху с возможность управлять персонажем, показывались откаты всех скиллов, был даже свой скриптовый язык с помощью которого можно было автоматизировать выполнение квестов.
Помимо собственно руководства роботами и нечестной наживы, L2Walker помогал тонко понимать механики игры. Как работает тот или иной скилл, как наилучшим образом выстроить последовательность использования умений и прочее.
PVP он умел, но надо было слишком много всего предусмотреть. Вероятность победить была низкая, особенно для пати в катах на фарме. Их кайтили, расфлагивали, закидывали париками и прочее, пока они безуспешно пытались догнать оппонента.
Поэтому опытные ботоводы отключали напрочь все галочки, позволявшие флагнуться об мимокрокодила )
Это позволяло на одном очень среднем ПК запускать почти два десятка ботов (т.е. две полные пати)
был даже свой скриптовый язык с помощью которого можно было автоматизировать выполнение квестов.
Самый кайф был автоматизировать всё настолько, что только что созданные персонажи сами бежали выполнять квесты, качаться, получать профессии, качаться дальше, закупаться ресурсами в городе и качаться дальше, а на выходе через пару недель получалась полная пачка персонажей 52+ для фарма какого-нибудь там Закена. :-)
Как то была статья на хабре, что проводят собеседования в компанию с помощью игры Factorio. Знали бы они про старых ботоводов, для которых автоматизировать фарм рецептов ТТ бижи в Хотспингс было делом получаса за чашечкой чая :)
У меня был в разработке собственный ingame-бот. Его отличительная фишка — система глобальной навигации по множеству локаций и телепортов.
Это были не жёстко зашитые сценарии, а поиск кратчайшего пути в графе для того, чтобы добираться в заданную точку. Нажал кнопочку — и твой персонаж сам добирается до пати-лидера практически в любой точке мира, не нужно самому продираться через толпу торгашей у гк. А ещё это очень выручало, когда тебе надо уйти в АФК, а пати постоянно перемещается.
Также это позволяло ботам не тупить в локациях со сложной геометрией, не упираться в препятствия и не видеть в чате кучу мусора, что цель не может быть атакована (например, при дистанционной атаке при наличии колонны посередние), а интеллектуально их оббегать.
О да, играть в квадратики было намного интереснее, чем сама лодва. В четыре руки и 18 окон мы с женой и замки умудрялись брать у кожаных мешков.
Имхо нет смысла заморачиваться с распознанием, есть next target. Достаточно реализовать цикличные макросы с таймингами и частотой нажатий по заданному шаблону клавиш клавиатуры, бонусом это можно делать в свернутом окне через User32.SendMessage, что не умеет макросная мышка. Но есть вероятность словить бан хамер, если защитное ПО (Frost точно это делает на ру) проверит стек вызова - драйвер мыши/клавиатуры решает проблему и прямые команды через COM.
Я тоже как-то решил написать кликер для одной малоизвестной мобильной MMORPG в которую залипал. Потом добавил контроль HP/MP через OpenCV, потом решил научить бота ходить, и понеслось...
В итоге ботописательство стало для меня развлечением и самоцелью, игра ушла на второй план. Получился монструозный комбайн c кучей машинного зрения, запутанной А* навигацией, управлением через minitouch, сканированием памяти эмулятора через ReadProcessMemory, который делает в игре вообще всё.
В конце концов разработчикам удалось забанить эмуляторы андройда и я смог вернуться к нормальной жизни. Одно время даже статью подумывал написать, но теперь точно не до этого.

Создавая боты и другие несанкционированные модификации для компьютерных игр не забывайте, что в России уже есть практика возбуждения уголовных дел по статье 273 против разработчиков и распространителей такого рода софта.
Пока есть только одно дело, и в нём есть: пострадавшая строна (издатель игры), распространение читерского софта за деньги.
Для тех ботов, которые вмешиваются в данные игры это понятно. Но по сути она не работает для тех случаев, которые берут и передают данные не вмешиваясь в процесс игры.
Разве боты являются "несанкционированными модификациями", да и впринципе "модификациями"?
Я думал что модификация это что-то, где есть вмешательство в исходный код, я ошибаюсь?
Боты - это ведь инструмент автоматизации, точно так же, как и скрипты. Ты на работе скрипт пишешь, ты тоже являешься разработчиком "несанкционированной модификации"?
Мне реально не понятно.
Я сейчас пишу бот под одну новую онлайн игрулю, так вот, полупрозрачности и прочие анимационные свистоперделки на интерфейсе - своеобразная защита от распознование, усложняет написания бота.
Пишем бота-кликера на Kotlin для Lineage 2