Здесь, я постараюсь подробно изложить свои умозаключения на тему создания бота для EVE-online на AutoIT 3.
Глава 1.
Концептуальная проработка бота.
Начнём с того, что вам, дорогой ботописатель, нужно определиться с тем какой это будет бот.
1) Будет ли это многозадачный бот, написаный для использования с количеством ботов больше двух, или это будет бот опрашивающий и производящий действия только в одном окне.
2) Ответьте для себя на вопрос - Для каких целей создаётся Ваш бот? Он будет универсален, или он создаётся только под хант или майн или ещё что либо одно? (Стоит ли говорить, что в первом случае количество работы по написанию и модификации а так же дополнению предложеных автором ветки форума Belfigor`ом модулей возрастает в десятки раз?)
3) Насколько умным вы хотите получить бота? Или он будет постоянно опрашивать окна (окно) и "осматривать его" в целях выяснения изменения окружающих условий, либо он будет просто тупо выполнять какие-то макросы, раз в секунду проглядывая локал на предмет врагов? А может быть вам вообще не нужно проглядывать локал на предмет врагов, но нужно постоянно куда-то кликать и что-то набивать в появляющихся окошках (как в случае например с автоторговлей)?
Обдумайте всё это и изложите в письменном виде для себя.
Глава 2.
Создание плана действий бота.
Если вы плохо представляете, что вы хотите от бота, то, я думаю, вы потратите НУ ОЧЕНЬ МНОГО ВРЕМЕНИ, на его создание. Вам необходимо как минум знать что будет делать бот. Это звучит немного забавно, но часто, создатели разнообразных (частенько и платных) ботов просто не до конца понимают что должен делать бот в той или иной игре и деньги покупателья оказываются потрачеными зря. Бот делает что-либо не так как нужно, или и того хуже, не то, что должен. Именно для меня, плюсом в создании собственного бота является то, что мой бот будет делать именно то, что я в него вложу, и именно так, как я ему скажу это делать Smile
Итак:
В случае однозадачного (выполняющего действия только с одним окном) бота, нужно проделать как минимум следующее:
1) создайте план действий, что именно выделаете в клиенте евы для достижения желаемого результата.
2) разбейте план на этапы. Приведу пример как бы я писал план действий для хант бота:
После старта бота:
1. проверяем находимся ли мы в хантерском корабле
2. Проверяем, что у нас в карго.
3. проверяем есть ли в карго боеприпасы.
4. проверяем есть ли в локале враги.
5. Андок со станции, ждём окончания прогрузки в космос.
. проверяем есть ли в локале враги.
6. Проверяем находимся ли мы в той системе, где нужно хантить.
7. отправляемся в нужную систему
8. прибыв в систему выбираем белт.
. проверяем есть ли в локале враги.
9. Варпаемся в выбраный белт.
. проверяем есть ли в локале враги.
10. проверяем наличие написи
. проверяем есть ли в локале враги.
11. проверяем расстояние до неписи.
. проверяем есть ли в локале враги.
12. Выбираем цели.
. проверяем есть ли в локале враги.
13. Лочим цели
. проверяем есть ли в локале враги.
14. Стреляем в первую залоченую цель
. проверяем есть ли в локале враги.
. проверяем количество хп шилда
. проверяем количество хп брони
. проверяем количество капы
. проверяем состояние цикла модулей оружия
. проверяем наличие целей
. проверяем количество целей
. проверяем есть ли в локале враги.
15. Стреляем в следующую залоченую цель.
---\\ \\---
19. определяем наличие белых вреков.
. проверяем есть ли в локале враги.
. проверяем количество хп шилда
. проверяем количество хп брони
. проверяем количество капы
. проверяем количество оперативного боезапаса (снаряды\ракеты загруженные в модули оружия. не для аммаров)
. проверяем общее количество боеприпасов
. проверяем есть ли в локале враги.
20. подлетаем к вреку
. проверяем есть ли в локале враги.
21. сальважим врек. (если нужно)
. проверяем есть ли в локале враги.
. проверяем количество капы
22. лутаем врек (если нужно)
. проверяем есть ли в локале враги.
23. летим в следующий белт.
. проверяем есть ли в локале враги.
ну и так далее. Вплоть до возвращения на станцию или на пос.
Список проверок, которые я бы постарался применить в хантерском боте здесь далеко далеко и ещё много раз далеко не полный. Каждая проверка имеет под собой условие для выполнения, ну и так далее.
И это далеко не всё, но, тем не менее, представление о том, что нужно сделать в для написания плана бота - даёт вполне достаточное для понимания.
Глава 3.
ДЕТАЛИЗАЦИЯ.
Теперь у вас есть полное понимание (с вашей точки зрения), плана того, что должен делать бот.
Настала пора улучшить это понимание, и заодно, немного получить представление о том, какое количество работы нас ждёт при написании бота.
Детализуйте каждый пункт плана действий бота, о котором я попытался вам рассказать в предыдущей главе, и внимательнейшим, самым детальным образом разберите каждое отдельное действие на составляющие. Стоит оговориться, что вы должны это делать, как бы с точки зрения компьютера. Если вам трудно понять о чём я говорю, попытайтесь представить себя челоеком, в задачи которого входит только слежение за курсором мыши, за нажатиями на кнопки мыши, за нажатиями на клавиатуру, и сочетаниями этих действий. Подробно разберите (а лучше даже запишите) что и куда, и в каком случае вы нажали, куда и в каком случае смотрели (это для проверок), и т.д.
Если вы успешно справились с поставленой в этой главе задачей, значит вы МЕГАКРУТЫ.
У Вас есть КОНЦЕПТУАЛЬНЫЙ ПЛАН БОТА. Жму вашу руку. Вы сделали как минимум четверть работы. Теперь пора приниматься за программирование.
Успехов Вам!
Спасибо за то, что дочитали.