среда, 12 сентября 2012 г.

Небеса: онлайн игра от русских создателей.Разработка бота. Часть 4: Момент истины

Вот мы и добрались до сути нашего бота.
Будем лазать по островам и пытаться найти чертенка, дабы убивать его и получать кольца с модами или крылышки, всеми так любимые.
Вообщем не будем тянуть резину, начнем!!!


Сразу к делу!!!!




  1. Зайдем в SciTe Editor.
  2. Напишем такой код:
  • ; Бот для игры Небеса - офф.
    • #include <Constants.au3>
      • #include <PixelSearchEx.au3>
        • #include <ImageSearch.au3>
        • $i=556 ; Левый верхний угол кнопки БОЙ
          $j=133 ; Левый нижний угол кнопки БОЙ
          $h=1006 ; Ширина всего окна(её правый верхний координат)
          $k=737 ; Ширина всего окна(её правый нижний координат)
          $ost_x=1320 ; левый координат острова
          $ost_y=442 ; правый координат острова
        • HotKeySet('{F1}','_Test') ; горячая кнопка F1
          Global $coord
          Global $Flag = 1
          while 1
          Select 
          case $Flag=1  
          $coord = PixelSearchEx($i,$j,$h,$k,0xF4392A,2) ; ищем цвет кнопки 
          If Not @error Then ; Если нет ошибки и кнопка найдена, то
          MouseClick("left",$ost_x,$ost_y)
              Sleep(3700)
          MouseMove($i1,$j1)
          _Demon()
          Else
          ;ConsoleWrite(@MIN + $j + @CR)
           EndIf
           case $Flag=2
          MsgBox(0,"YEAH!","We find chertenok!",50)
          EndSelect
          Wend

          Func _Test()
          Exit
          EndFunc

          Func _Demon()
           $source = _ImageSearch("Source\name_chert.bmp",1,$i1,$j1,0); 
              if $source=1 Then
            MouseClick('left',580,616)
            $Flag=2
            TrayTip("YEAH","Find! Find! Find! " & $Flag & " this.",300)
            Sleep(1000)
            Exit
          Else
            TrayTip("Error","Chertenok not founded " & $Flag & " this.",200)
              EndIf
          Return 0
          EndFunc


          3. Вот и весь код бота, который ходит по островам и ищет чертенка, как только он его найдет, он остановится. Или же можно остановить вручную по нажатию клавиши F1.

          Обратите внимание на пути картинки черта: 

        • "Source\name_chert.bmp"
        • Функция 
        • _ImageSearch работает только с bmp (по крайней мере у меня такая).


        • Нам необходимо сделать несколько картинок для того чтобы наш бот работал.

        • Я использовал программу SnapShot.
        • И сделал такие картинки:
          Получить её можно , наведя мышку на чертенка(предварительно Вам нужно будет его найти 1 раз.)

          Здесь представлены мои координаты, под моё разрешение экрана (1920:1080)
          Вам необходимо будет вставить свои координаты.
          Я иcпользовал встроенную програму AutoIT - AutoIT Window Info.

          Выглядит она так:

          На вкладе Mouse мы получаем координаты мышки , куда навели мышь.

          Если у кого то, что то не получается, пишите в комментариях, я помогу, через небольшое время планирую снять обучающее видео, в котором подробно и наглядно покажу как создавать бота для игры НЕБЕСА.

          1 комментарий:

          1. На днях выложу скомпилированного бота и немного доработанного.

            ОтветитьУдалить