Как стать автором
Обновить

Комментарии 38

Более того, видел интеллектуального бота для MMOGPG сделанного на AutoIT.

Очень полезная штука. На работу удалось автоматизировать процесс на который у бухгалтера ушло бы месяца два, а AutoIt сделал за выходные.
Ну или вот:
habrastorage.org/storage1/020f1efa/a0a6dca6/ee62db42/91bbcfb9.png
Я как-то очень давно делал бота, который при игре в сапёра не давал кликать по минам, а потом «вслепую» проходил сапёра на глазах у изумлённых друзей. Жаль исходники посеял 8(
К саперу у меня особое отношение.
Когда учился в универе, на 1 или 2 курсе по программированию нужно было для курсовой сделать игру на Паскале. Я делал сапера. Использовал все свои тогдашние познания, даже были ассемблерные вставки для отрисовки анимации. Но препод не поставил мне высший балл только из-за того, что не было зала славы. Ну как он сказал. Сейчас конечно понимаю, что возможно код был кривоват. Тяжело сейчас оценить, т.к. исходиники естественно потеряны. Но осадок остался.
Вот и возникла идея таким образом отыграться, когда появилась возможность. :)
Для браузерок намного полезнее использовать iMacros (особенно, если в связке с JS-движком его). Там такое навертеть можно, что «кликанье» будет казаться детским лепетом.
Например, один из моих ботов собирал статистику по игрокам подходящего уровня. Потом из этой статистики выяснял кто когда активно играет. И в это время их атаковал (ага, привет клоны bitefight). Золота за победу давали 20-30% того, что есть на руках, так что я не бедствовал )
Другой бот ходил в экспедиции, переодевался, лечился.
Сейчас потихоньку всё то же самое пишу на баше, но времени не хватает.
насколько я понял iMacros для флеша беспомощен?
Можно кликать по координатам.
Написать что делать с флешем (не AutoIt/iMacros)?
давайте! было бы очень интересно.
конечно пишите!
Дизассемблировать и изучать протокол?
inkvizitor68sl, я пока с iMacros не знаком, но судя по тому что Вы пишите, хоту отметить, что у AutoIt-а другая идеалогия. Он позволяет создавать приложения, которые следят за действиями пользователя и помогают ему в разных приложениях.
А на счет ботов — эти куски исходников из полноценного бота на AutoIt-е, который проверяет когда созреет урожай, устанавливает таймер, по таймеру убирает урожай, засеивает новыми семенами, поливает и устанавливает таймер заново. И все это незаметно для пользователя. Все что видит пользователь — значек в трее и может открыть небольшое окно управления ботом.
> Все что видит пользователь — значек в трее и может открыть небольшое окно управления ботом.
А всё, что видит администратор игры — то, что к нему приходит не FireFox, right)?

iMacros тоже может помогать действиям пользователя (там есть sleep, ожидание клика и прочее), нужно лишь правильно написать. В целом — да, на макросах тяжелее создать универсального бота, зато легче создать нечто сложное.
А запустить его можно в отдельном окне ФФ (которое можно свернуть в трей) и спокойно пользоваться вторым окном.
самое сложное в ботоводстве, когда бот уже умеет делать то что нужно — это ваять ему интеллект, продумывать на несколько шагов вперед
Согласен, но это справедливо только для игр, в которых присутствует хоть какоето принятие решений игроком. В «Моей деревни» такого нет — там просто механическая тыкалка :) и таких игр сейчас много. Я это называю «преобразование времени в игровые ресурсы». Тоесть все что нужно от игрока — просто вовремя совершать одни и те же действия. Справедливости ради добавлю, что в «Моей деревни» есть еще торговля и «зачаточная экономика», но эти действия лучше совершать вручную, «бот» только выдаёт справочную информацию по ценам на продукты и насколько выгодны сделки по их продаже.
Пользую AutoHotKey автор коей некогда отделился от проекта AutoIt ибо захотел внедрить несколько новых плюшек. Правда пользую исключительно в рабочих целях — времени сокращает тьму.
Тру способ — это взять Qt, создать экземпляр WebKit и программно им управлять. При необходимоси можно анализировать как HTML структуру страницы так и картинки если там активно применяется флэш. Ну и нет необходимости показывать како-то «окно» или кликать реальной «мышкой» — приложение может быть вообще консольным :)
Тру способ — написать userscripts…
Я в своё время так и сделал. Про AutoIt не знал, хотя, думаю сейчас, что хватило бы его.
А собственно для чего все это? Пророщенные репки потом продавать можно? Если так не нравиться тыкать мышкой, то зачем себя насиловать? Настает новое поколение игр которые играют сами в себя. У меня жена играет в гоночки какие-то в одноклассниках где ты вообще никак не влияешь на процесс. Просто жахаешь «старт» и потом тебе сообщают выиграл ты или проиграл. Я не понимаю фана.
боты хорошо продаются, правда они потом хорошо банятся :) но можно выпускать фиксы. я бы на месте игрописателей выпускал бы ботов вместе с игрой, расширяя рынок. игрокам без разницы как они получат СУПЕРМЕЧ за 10$ или купив бота за 10$ и оставив комп на ночь рубится.
Не играл уже в онлайн игры год точно, раньше участвовал в нескольких проектах в качестве консультанта.
Действия примерно такие:
— создаётся игра
— делается реклама
— создаётся промо-сайт бота
— спам на официальном форуме про этого бота, типа «вот он играет с ботом я видел, я знаю!» при этом игроки банятся показательно, а эти игроки когда-то были тестовые акки разработчиков, они всегда были в топе и всех их знали как лучших игроков))
— все начинают понимать что в топе только боты
— поиск, покупка
— те кто им не нравятся или на кого поступают жалобы что он бот, банят, особенно интересно если человек вложил денег, чем больше, тем лучше, ведь он зарегистрируется заного скачает новую версию бота, вложит ещё денег.
— появляются боты конкуренты, разные самописные, порой лучше ботов разработчиков
— наступает война ботов…
К примеру одна из таких контор Destiny Development, у них много однотипных игр
наступает война ботов…
а Сару Коннор сажают в психушку. мдя, видимо так и рождается скайнет…
Не все боты вычисляются, особенно «кликеры», потому что они эмклируют действия человека. Программе очень сложно определить кто кликнул мышку человек или скрипт. Обычно «банят» уже за результаты, например — слишком резко вырвался вверх в рейтинге, но это не очевидный показатель и если в игре присутствует такая практика, то там страдает много невинных игроков.
Думаю, если бот продается, а значит, имеет шанс попасть в руки разработчиков игры, то можно ловить бота на основе поведения. Допустим, между какими-то двумя действиями бот всегда делает задержку ровно на 1 с (или всегда от 3 до 10 секунд, никогда больше и никогда меньше и т.п.) или постоянно перезагружает какую-нибудь страницу для мониторинга текущих игровых ресурсов. В общем, любые бехевиоральные характеристики, которые обычный человек воспроизвести не может или не может делать это несколько часов подряд.

Другое дело, при грамотном подходе к написанию бота у вас будут рандомные задержки (с настраиваемым пользователем интервалом) и прочие ухищрения, позволяющие максимально скопировать поведение рядового игрока.
Какая бы тупая игра не была, главное РЕЙТИНГ ИГРОКОВ!!! Все онлайн игры заключаются в первую очередь на помериться сами знаете чем :)
«Не все йогурты одинаково полезны». Аналогично, не все игры (даже онлайновые) одинаковые и тем более не все игроки едины в стремлении чем то меряться. Я знаю просто массу людей которые играют только в целях получения удовольствия, а не чем то «меряться». Возможно причиной является мой возраст, который определяет отсутствие «школоты» в списке моего общения.
Но статья не об этом, а о том, как на AutoIt-е автоматизированть рутинные процессы на конкретном примере. Хотел бы призвать обсуждение вернуться к теме.
Что же, если вы хотеле показать, что AutoIT на это способен, то вам это определенно удалось. Молодцы за то что разобрались и потратили время на это. Но если же вы хотели показать инстрементарий с помощью которого можно автоматизировать действия по работе с браузерами, то определенно AutoIT не лучший инструментарий для этого. Для этих целей есть более мощные средства. Одним из которых будет связка Selenium + Java (не обязательно Java, можно также C#, PHP, Ruby etc). Selenium позволяет много вкусных плюшек реализовать для работы с браузером и все это будет кроссбраузерно.
а я по старинке на старом uopilot читерю=)
+ боты написанные в виде дополнений для хрома( при загрузке нужной страницы, с нужными данными выполняем на ней определенный javascript).
UOPilot навсегда в моем сердце.
не выдержал, залогинился

я был адептом EasyUO

потом перешел в автоматизацию тестирования
фишка уопилота в том, что он может работать не только с УО, а вобще почти с любыми программами.
а для УО конечно изиуо покруче будет. ну и еще гендальф, injection и прочие забавные штуки.
Забавно. Как раз сейчас потихоньку доделываю бота, который в «Зомби-ферму» фермерствует. Причина банальна — игра бесконечно тупа, но хочется посмотреть на все постройки. В итоге бот круглосуточно сажает/собирает урожай и перерабатывает его для чуть большего профита.
Сам бы такое не выдержал. При этом ведь есть те кто реально играет и не донатствует при этом. Ужас.
что такое «Зомби-ферма»? это оригинальное название или «слэнг»?
Вот часть бота для Travian, написал в свободное время на шарпе неделю назад. Умеет торговать на аукционе, сейвить войска, детектить атаки с посылкой смс на телефон, фармить по расписанию, анализировать и посылать разведку, строить здания по расписанию ну и ещё пару мелких фич для себя
хттп ://clip2net.com/clip/m61513/1314225014-clip-52kb.png?nocache=1

Если кому интересно, можете плюсануть в карму до 5 — напишу в песочницу статью как реализовывал и как реализовал антибан.
Я для Ragnarok Online скрипт-кликалку писал на AutoHotKey. На серверах где была проблема с ботами была отличная замена. Он кормил гомункула, складывал вещи, отвечал на простенькую защиту от бездействия, умел выращивать растения и еще чего-то по мелочам.

В гильдии на расхват шел.
тоже как то писал бота для игры в браузерную игру, bash+sed+grep+wget.
в зависимости от наличия тех или иных значений в ответе сервера делал тот или иной запрос POST/GET.
Да, конечно работало криво, но было скорее для разминки сделано чтобы навыки консоли не позабыть за виндузовыми интерфейсами работы…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории