Что нового

[World of Tanks] Бот для игры by KOLYA

KOLYA

Новичок
Сообщения
1
Репутация
2
Здравствуйте, форумчане. Решил так же присоединиться к данной теме, т.к. создавать другую и захламлять подобной тому что здесь есть не виделось никакого смысла 8)
Интерес появился после случайного просмотра в ютубе ( http://www.youtube.com/watch?v=7OMdc5XMGps) материала про создание бота для WoT в AutoIt. И вот меня после сего осенило, а не создать ли самому нечто подобное-работоспособное, да что бы ещё и в игру заходила, выбирала танчик и проделывала то же самое что и игрок за игрой, не долго думая, посмотрев там сям, мне всё таки удалось получить желаемый результат (хоть и на самом наинизжайшем уровне :whistle: и не без исходника, прикреплённого под видео :-[ ).
Бот умел запускать игру, заходить в клиент, выбирать танк из слота по фиксированным координатам, заходить в бой, а в бою уж делать совершенно не предсказумые вещи, выдающие его с первого же взгляда, даже новичку в танках, выходить в ангар, а далее проделывать весь тот же процесс заново, зациклившись на первых трёх танках, выбирая их поочерёдно.
Тем самым на мой взгляд получился не плохой заменитель "самого себя", думал я,... а нет, оказывается можно было пойти ещё дальше, расширить возможности за счёт ИИ, приблизив продукт к той черте, с которой уже могла бы начаться совершенно иная игра-игра без участия самого игрока, и данная тема, затронутая товарищем LTR тому доказательство.
Важно, для запуска и удачного тестирования [list type=decimal]
  • Предварительно зайти в игру, установить разрешение экрана 1024x768 с соотношением сторон 4:3
  • Поменять в настройках управление движением танка на стрелки вверх, вниз, вправо,влево соответственно
  • Выйти из игры
  • Скачать http://yadi.sk/d/mxYtUs9CMmsZN приложение
  • Само приложение wotBot.exe положить в папку с игрой, (именно оно и будет нашим исполняемым файлом) запустить на исполнение
  • Далее, наблюдать за процессом :shok: (Мышь и клаву во время выполнения скрипта желательно не трогать)
Открытй исходник для ознакомления
Код:
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]
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
[World of Tanks] Бот для игры. by KOLYA

Тебе бы не мешало переделать скрипт из вермишели в более структурированный вариант кода, доработать логику и можно создавать отдельную тему. Ибо в текущей ситуации твой скрипт затеряется на 10-й странице этой темы.

Тем более я не имею ничего против если темы плодить. Ведь тут как никак бот LTR, а у тебя другой. Перенесу ка я пожалуй её в отдельную тему.

Но доработать бот нужно конечно же обязательно. Не в плане даже функционала, а в плане кода. Вермишель код - это моветон в нашем тысячелетии :smile:


Добавлено:
Сообщение автоматически объединено:

P.S. Увы я в WoT не играл, поэтому оценить и протестировать не смогу.
Знаю только что есть какой-то браузерный WoT и у нас на форуме нету для него совсем никакой реализации бота
 

Researcher

Новичок
Сообщения
11
Репутация
0
Судя по коду, бот чуть-чуть имитирует некую активность и бросает команду на произвол судьбы. Т.е. бот ориентирован только на получение очень небольшого случайного опыта и денежек за счет усилий своей команды. Думаю, что доживет он до первой коллективной жалобы на него.
Лучше действительно подумай, как сделать его поведение более рациональным.
Пусть хоть врагов в прицел узнает и стреляет.
Пусть распознает случайную карту, а, распознав, пусть едет в заранее выбранную нычку и сидит там в кустах, постреливая во врагов.
 
Верх