Здравствуйте, форумчане. Решил так же присоединиться к данной теме, т.к. создавать другую и захламлять подобной тому что здесь есть не виделось никакого смысла 8)
Интерес появился после случайного просмотра в ютубе ( http://www.youtube.com/watch?v=7OMdc5XMGps) материала про создание бота для WoT в AutoIt. И вот меня после сего осенило, а не создать ли самому нечто подобное-работоспособное, да что бы ещё и в игру заходила, выбирала танчик и проделывала то же самое что и игрок за игрой, не долго думая, посмотрев там сям, мне всё таки удалось получить желаемый результат (хоть и на самом наинизжайшем уровне :whistle: и не без исходника, прикреплённого под видео :-[ ).
Бот умел запускать игру, заходить в клиент, выбирать танк из слота по фиксированным координатам, заходить в бой, а в бою уж делать совершенно не предсказумые вещи, выдающие его с первого же взгляда, даже новичку в танках, выходить в ангар, а далее проделывать весь тот же процесс заново, зациклившись на первых трёх танках, выбирая их поочерёдно.
Тем самым на мой взгляд получился не плохой заменитель "самого себя", думал я,... а нет, оказывается можно было пойти ещё дальше, расширить возможности за счёт ИИ, приблизив продукт к той черте, с которой уже могла бы начаться совершенно иная игра-игра без участия самого игрока, и данная тема, затронутая товарищем LTR тому доказательство.
Важно, для запуска и удачного тестирования [list type=decimal]
Открытй исходник для ознакомления
[/list]
Интерес появился после случайного просмотра в ютубе ( http://www.youtube.com/watch?v=7OMdc5XMGps) материала про создание бота для WoT в AutoIt. И вот меня после сего осенило, а не создать ли самому нечто подобное-работоспособное, да что бы ещё и в игру заходила, выбирала танчик и проделывала то же самое что и игрок за игрой, не долго думая, посмотрев там сям, мне всё таки удалось получить желаемый результат (хоть и на самом наинизжайшем уровне :whistle: и не без исходника, прикреплённого под видео :-[ ).
Бот умел запускать игру, заходить в клиент, выбирать танк из слота по фиксированным координатам, заходить в бой, а в бою уж делать совершенно не предсказумые вещи, выдающие его с первого же взгляда, даже новичку в танках, выходить в ангар, а далее проделывать весь тот же процесс заново, зациклившись на первых трёх танках, выбирая их поочерёдно.
Тем самым на мой взгляд получился не плохой заменитель "самого себя", думал я,... а нет, оказывается можно было пойти ещё дальше, расширить возможности за счёт ИИ, приблизив продукт к той черте, с которой уже могла бы начаться совершенно иная игра-игра без участия самого игрока, и данная тема, затронутая товарищем LTR тому доказательство.
Важно, для запуска и удачного тестирования [list type=decimal]
- Предварительно зайти в игру, установить разрешение экрана 1024x768 с соотношением сторон 4:3
- Поменять в настройках управление движением танка на стрелки вверх, вниз, вправо,влево соответственно
- Выйти из игры
- Скачать http://yadi.sk/d/mxYtUs9CMmsZN приложение
- Само приложение wotBot.exe положить в папку с игрой, (именно оно и будет нашим исполняемым файлом) запустить на исполнение
- Далее, наблюдать за процессом (Мышь и клаву во время выполнения скрипта желательно не трогать)
Код:
run("WorldOfTanks.exe")
sleep(50000)
Opt("MouseCoordMode", 2)
MouseClick("primary",468,578,3)
sleep(25000)
WinActivate("[TITLE:WoT Client]")
While WinActive("[TITLE:WoT Client]")
MouseClick("primary",217,673,3);первый танк
Sleep(3000)
MouseClick("primary",495,45,3)
sleep(1000)
MouseClick("primary",496,45,3)
sleep(70000)
send("{Up down}")
sleep(20000)
send("{Up up}{Right down}")
sleep(5000)
send("{Right up}{Left down}")
sleep(7000)
send("{Left up}{Up down}")
sleep(45000)
send("{Up up}{Down down}")
sleep(1000)
send("{Down up}{Left down}")
sleep(3000)
send("{Left up}")
sleep(500)
MouseClick("primary",566,422,2) ;выстрел
sleep(4000)
MouseClick("primary",122,422,2) ;выстрел
sleep(5000)
MouseClick("primary",326,422,2) ;выстрел
sleep(4000)
send("{Up down}")
sleep(60000)
send("{Up up}{Down down}")
sleep(3000)
send("{Down up}{Right down}")
sleep(3000)
send("{Right up}{Up down}")
sleep(30000)
send("{Up up}")
sleep(1000)
send("{esc}") ;выход в ангар за следущим танком
sleep(2000)
MouseClick("primary",510,335,3)
sleep(1000)
MouseClick("primary",544,440,3) ; подтверждение выхода "да"
sleep(2000)
MouseClick("primary",545,440,3)
sleep(35000)
MouseClick("primary",377,669,3); 2-ой танк
Sleep(4500)
MouseClick("primary",495,45,3)
sleep(1000)
MouseClick("primary",496,45,3)
sleep(81000)
mousemove(623,167,44)
send("{Up down}")
sleep(45000)
mousemove(500,170,30)
send("{Up up}{Right down}")
sleep(5000)
MouseMove(623,167,35)
sleep(2000)
MouseClick("primary",566,422,2) ;выстрел
sleep(4000)
MouseClick("primary",566,422,2) ;выстрел
sleep(5000)
MouseClick("primary",566,422,2) ;выстрел
sleep(4000)
mousemove(640,167,30)
send("{Right up}{Left down}")
sleep(5000)
send("{Left up}{Up down}")
sleep(30000)
send("{Up up}{Down down}")
sleep(4000)
send("{Down up}{Right down}")
sleep(3000)
send("{Right up}{Up down}")
sleep(50000)
send("{Up up}")
sleep(1000)
MouseClick("primary",566,500,2) ;выстрел
sleep(2000)
send("{esc}") ;выход в ангар за следущим танком
sleep(5000)
MouseClick("primary",504,335,3)
sleep(4000)
MouseClick("primary",544,440,3) ; подтверждение выхода "да"
sleep(2000)
MouseClick("primary",545,440,3)
sleep(35000)
MouseClick("primary",548,697,3);3-ий танк
Sleep(5000)
MouseClick("primary",495,45,3)
sleep(1000)
MouseClick("primary",496,45,3)
sleep(80000)
send("{Up down}")
sleep(20000)
send("{Up up}{Right down}")
sleep(7000)
send("{Right up}{Left down}")
sleep(5000)
Mousemove(500,170,30)
send("{Left up}{Up down}")
sleep(25000)
mousemove(600,170,40)
send("{Up up}{Down down}")
sleep(5000)
send("{Down up}{Right down}")
sleep(3000)
send("{Right up}{Up down}")
sleep(30000)
send("{Up up}")
MouseClick("primary",566,422,2) ;выстрел
sleep(4000)
MouseClick("primary",566,422,2) ;выстрел
sleep(5000)
MouseClick("primary",566,422,2) ;выстрел
sleep(4000)
send("{Up down}")
sleep(50000)
send("{Up up}{Down down}")
sleep(6000)
send("{Down up}{Left down}")
sleep(5000)
send("{Left up}{Up down}")
sleep(40000)
send("{Up up}")
sleep(1000)
send("{esc}") ;выход в ангар за следущим танком
sleep(3000)
MouseClick("primary",504,335,3)
sleep(5000)
MouseClick("primary",544,440,3) ; подтверждение выхода "да"
sleep(2000)
MouseClick("primary",545,440,3)
sleep(35000)
WEnd
[/list]