Если, как и я, вы любите онлайн-игры, но не хотите тратить на них много времени, добро пожаловать внутрь. Я не буду рассказывать о ботах. Я расскажу только о том, как создать бота для конкретной онлайн-игры. Он реагирует на события браузера, а также на нажатие кнопок по истечении срока их действия. Для этого используется аспектно-ориентированное программирование (AOP). Например, я выбрал "Пернацк", любимую игру моего отца.
1. подготовка материала.
- Сама игра. Я покажу вам пример Пернатска.
- Браузер. У меня все стандартные — Chrome.
- Текстовый редактор или любой другой, используемый для редактирования JS-кода. Notepad++ делает это.
- Пробный аккаунт, который может быть забанен или потерян.
ВАЖНО! Игра должна запускаться в браузере, а не в клиенте. И это HTML+JavaScript, а не Flash. Результатом будет расширение Chrome, и оно будет играть за нас.
2. сделать расширение.
Мы не будем вдаваться в подробности того, как выполнить расширение. Мы уже писали об этом на Хабре. Вот. Мы предоставляем только код для необходимых файлов. В файле manifest.json.
‘matches’ line: "pernatsk.ru *", вам необходимо указать адрес вашей игры. Файл background.js используется для вставки собственного JS-кода на сайт. Фактический код — это файл background.js.
ВАЖНО! Если вы не знаете, что делаете в этом режиме, создавать бота преждевременно. Ознакомьтесь с основами JavaScript. Вся работа выполняется в файле ejected.js.
Сохраните все эти файлы в папке bot.
3. первая активация бота
В Chomre перейдите в Настройки — Инструменты — Расширения и нажмите Загрузить распакованные расширения. Режим разработчика" должен быть включен. Укажите папку, в которой находятся файлы. Теперь давайте начнем игру. Запустите консоль разработчика (это следует делать часто); нажмите клавишу F12, после чего появится надпись ‘HelloWolrd’. Приложение работает. Теперь все, что вы записываете в функцию ai_on, будет обрабатываться после загрузки страницы.
4. добавление AOP
Для запуска ботов вам нужна библиотека. Мой любимый — jQuery, который уже используется в Пернатске, поэтому я не буду его добавлять. Давайте добавим плагин jquery AOP. Это должно быть встроено в само расширение в виде отдельного файла, но мне лень. Поэтому давайте добавим код bind/aop.pack.js в качестве первой строки файла injected.js. Измените ai_on, чтобы убедиться, что это работает!
Проверьте правильность подключения AOP. В консоли разработчика вы должны увидеть строку "jQuery detected!". линия. Если вы деактивируете наконечник после первой активации, сообщение появится только один раз. Важно: Прочитайте документацию AOP для Jquery, чтобы понять функцию jQuery.aop.after и функцию bot 0 .unweave().
5. зачем использовать АОП?
В самом общем виде суть AOP можно выразить следующим образом. Это очень грубое приближение. Рекомендуется прочитать соответствующее описание. Как использовать его здесь? Можно выполнить любую операцию. Например, в режиме браузера вы понимаете, что в поле вашего зрения находится монстр. Она выполняет функцию атаки, которую вы уже написали сами.
6. обучите бота первой команде.
Добавьте следующий код в файл Injection.js:.
Эта команда заставляет ботов-птиц лететь в Пернатск в поисках шишек. Код требует некоторой осторожности, так как в Пернатске есть небольшая защита от ботов. При создании команды рекомендуется сначала протестировать ее в консоли, а затем перенести в редактор. Чтобы проверить и подтвердить работоспособность команды, попробуйте выполнить команду commands.consearch () в консоли.
7. поиск событий, на которые реагирует бот
Здесь есть два метода: первый — проанализировать код игры. Долго 🙁 Второй способ — использовать AOP и регистрировать имя после всех активированных функций. Далее необходимо выбрать соответствующую функцию — изменить ai_on ().
Доступно множество функций. Есть $ от jQuery или стандартный setTimeout. Это не очень удобно для работы, поэтому измените код еще раз.
Есть только функции, которые еще не появились. Полный их список хранится в fnList. Через несколько минут "clearInterval", "$", "setTimeout", "timerTick", "serverTimeUpdate", "getComputedStyle", "setInterval", "tutorialArr", "showQ", "showQc", "updateBirdData", "viz", "unviz", "weatherUpdate". Изменяя цель и регулярное выражение в методе, можно выбрать подходящую функцию для исправления. Например, выберите функцию weatherUpdate так, чтобы при каждом изменении погоды птицы летели конусом.