Author Topic: Бот для игры Gems of War  (Read 10670 times)

0 Members and 1 Guest are viewing this topic.

toto123

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Бот для игры Gems of War
« on: December 21, 2017, 02:09:58 PM »
Всем привет!

Нужен бот для игры Gems of War: http://steamcommunity.com/app/329110
Тип игры "три в ряд" + карточная игра. Собирается колода карт со своими умениями, а бой происходит на поле с камнями (7 типов камней: красный, синий, зеленый, желтый, фиолетовый, коричневый, черепа), при сборе которых карты заряжаются манной, с помощью которой можно использовать ульту.

Цель:

Нужно чтобы бот мог различать цвет камней и собирал коричневые и зеленые камни, и при накоплении манны у первой (верхней) карты, использовал ее. Затем, прокликать на значек, оповещающий о победе (он появляется в центре экрана), кнопку "ок" и снова зайти в бой. И все это зациклить.


Может что-то коряво написал, извините, в программировании не разбираюсь.
Интересует можно ли такое сделать? Сколько это будет стоить? Сколько это займет времени?
« Last Edit: December 21, 2017, 02:21:45 PM by toto123 »

toto123

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Бот для игры Gems of War
« Reply #1 on: December 22, 2017, 12:14:17 PM »
Предположим 3000 рублей, но цена не окончательная, готов выслушать встречные предложения

toto123

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Бот для игры Gems of War
« Reply #2 on: December 25, 2017, 12:37:16 PM »
Абсолютно так и есть!) Это фарм ресурсов, получаемых за победу в бою, отряд атаки прокачен на максимум, а оборона выбирается максимально слабой для скорости)

toto123

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Бот для игры Gems of War
« Reply #3 on: December 25, 2017, 12:39:28 PM »
Единственная пооправка, это то, что зеленых и коричневых сборок может не быть, и тогда нужно собирать что попадается. Приоритет на цвета камней следующий: 1 коричневый, 2 зеленый, 3 черепа, 4-7 остальные в любом порядке

Spw

  • Зашел в гости
  • *
  • Posts: 12
  • Addicted
    • View Profile
Re: Бот для игры Gems of War
« Reply #4 on: January 09, 2018, 10:46:13 PM »
Накидал по быстрому, toto123, отпишите если еще интересно, объясню что к чему.
Code: (clickermann) [Select]
//1280x800
wndpos( wndfind("GemsofWar"), 10, 10)

SUB(findall)
   LOGCLEAR
   UNDEFINE($arr_hor)
   UNDEFINE($arr_vert)
   GETSCREEN
   COLORMODE(6, 300, 90, 1010,800)
   FOR($a=1,$a<9)
      FOR($b=1,$b<9)
         $clr = PXL(260+($a*88),16+($b*88))  //??????? ???? ???? ??????
         arrpush ($x_hor, 260+($a*88))
         arrpush ($y_hor, 16+($b*88))
         arrpush ($arr_hor, $clr)    //????? ? ?????? ?? ???????????
         //         LOGWRITE($clr)
         $clr = PXL(260+($b*88),16+($a*88))
         arrpush ($x_vert, 260+($b*88))
         arrpush ($y_vert, 16+($a*88))
         arrpush ($arr_vert, $clr)           //????? ? ?????? ?? ?????????
         LOGWRITE($clr," ",$diva," x:",260+($b*88)," y:",16+($a*88))
         inc($diva)
      END_CYC
      logwrite("")
   END_CYC
   LOGWRITE ($arr_vert[62])
   LOGWRITE (ARRSIZE($arr_vert))
END_SUB


SUB(findmatch, $color)
   FOR($n1=0,$n1<63)
      IF (($arr_hor[$n1] = $color) & (PXL($x_hor[$n1],$y_hor[$n1]+88) =  $color))  //??? ??????
         //         LOGWRITE ("msg ", PXL($x_hor[$n1+2]+88,$y_hor[$n1+2]))
         
         //--------------????????? ????------------------------------
         
         SWITCH($color)
         CASE(PXL($x_hor[$n1]+88,$y_hor[$n1]+176))   //c???? ??????
            LCLICK($x_hor[$n1+2]+88,$y_hor[$n1+2])
            waitms(100)
            LCLICK($x_hor[$n1+2],$y_hor[$n1+2])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1]-88,$y_hor[$n1]+176))   //c???? ?????
            LCLICK($x_hor[$n1+2]-88,$y_hor[$n1+2])
            waitms(100)
            LCLICK($x_hor[$n1+2],$y_hor[$n1+2])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1]+88,$y_hor[$n1]-88))    //c????? ??????
            LCLICK($x_hor[$n1-1]+88,$y_hor[$n1-1])
            waitms(100)
            LCLICK($x_hor[$n1-1],$y_hor[$n1-1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1]-88,$y_hor[$n1]-88))    //c????? ?????
            LCLICK($x_hor[$n1-1]-88,$y_hor[$n1-1])
            waitms(100)
            LCLICK($x_hor[$n1-1],$y_hor[$n1-1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1],$y_hor[$n1]+264)) //????? ?????
            LCLICK($x_hor[$n1+2],$y_hor[$n1+2])
            waitms(100)
            LCLICK($x_hor[$n1+3],$y_hor[$n1+3])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1],$y_hor[$n1]-176))     //?????? ??????
            LCLICK($x_hor[$n1-2],$y_hor[$n1-2])
            waitms(100)
            LCLICK($x_hor[$n1-1],$y_hor[$n1-1])
            waitms(1000)
            GOTO(start)
         DEFAULT
            // ?????? ?? ?????????
         END_SWITCH
      END_IF
     
      IF (($arr_hor[$n1] = $color) & (PXL($x_hor[$n1],$y_hor[$n1]+176) =  $color)) //????? 1
         SWITCH($color)
         CASE(PXL($x_hor[$n1]+88,$y_hor[$n1]+88))     //??????
            LCLICK($x_hor[$n1+1]+88,$y_hor[$n1+1])
            waitms(100)
            LCLICK($x_hor[$n1+1],$y_hor[$n1+1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_hor[$n1]-88,$y_hor[$n1]+88))    //?????
            LCLICK($x_hor[$n1+1]-88,$y_hor[$n1+1])
            waitms(100)
            LCLICK($x_hor[$n1+1],$y_hor[$n1+1])
            waitms(1000)
            GOTO(start)
         DEFAULT
         END_SWITCH
      END_IF
     
      IF (($arr_vert[$n1] = $color) & (PXL($x_vert[$n1]+88,$y_vert[$n1]) =  $color))
         SWITCH($color)
         CASE(PXL($x_vert[$n1]+176,$y_vert[$n1]+88))   //c???? ??????
            LCLICK($x_vert[$n1+2],$y_vert[$n1+2]+88)
            waitms(100)
            LCLICK($x_vert[$n1+2],$y_vert[$n1+2])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]+176,$y_vert[$n1]-88))   //c???? ?????
            LCLICK($x_vert[$n1+2],$y_vert[$n1+2]-88)
            waitms(100)
            LCLICK($x_vert[$n1+2],$y_vert[$n1+2])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]-88,$y_vert[$n1]+88))    //c????? ??????
            LCLICK($x_vert[$n1-1],$y_vert[$n1-1]+88)
            waitms(100)
            LCLICK($x_vert[$n1-1],$y_vert[$n1-1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]-88,$y_vert[$n1]-88))    //c????? ?????
            LCLICK($x_vert[$n1-1],$y_vert[$n1-1]-88)
            waitms(100)
            LCLICK($x_vert[$n1-1],$y_vert[$n1-1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]+264,$y_vert[$n1])) //????? ?????
            LCLICK($x_vert[$n1+2],$y_vert[$n1+2])
            waitms(100)
            LCLICK($x_vert[$n1+3],$y_vert[$n1+3])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]-176,$y_vert[$n1]))     //?????? ??????
            LCLICK($x_vert[$n1-2],$y_vert[$n1-2])
            waitms(100)
            LCLICK($x_vert[$n1-1],$y_vert[$n1-1])
            waitms(1000)
            GOTO(start)
         DEFAULT
         END_SWITCH
      END_IF
     
      IF (($arr_vert[$n1] = $color) & (PXL($x_vert[$n1]+176,$y_vert[$n1]) =  $color)) //????? 1
         SWITCH($color)
         CASE(PXL($x_vert[$n1]+88,$y_vert[$n1]+88))     //??????
            LCLICK($x_vert[$n1+1],$y_vert[$n1+1]+88)
            waitms(100)
            LCLICK($x_vert[$n1+1],$y_vert[$n1+1])
            waitms(1000)
            GOTO(start)
         CASE(PXL($x_vert[$n1]+88,$y_vert[$n1]-88))    //?????
            LCLICK($x_vert[$n1+1],$y_vert[$n1+1]-88)
            waitms(100)
            LCLICK($x_vert[$n1+1],$y_vert[$n1+1])
            waitms(1000)
            GOTO(start)
         DEFAULT
         END_SWITCH
      END_IF
   END_CYC
END_SUB

start:
IF  (PXL(100,800) = 2331458)
   LCLICK(300,800)
   WAITMS(500)
   LCLICK(650,450)
   WAITMS(500)
   LCLICK(650,450)
   WAITMS(200)
   LCLICK(300,800)
   WAITMS(2000)   
END_IF

findall()

IF  (PXL(180,90) = 16777215)
   IF (PXL(70,470) = 16732842)
      LCLICK(70,500)
      WAITMS(200)
      LCLICK(570,710)
   END_IF
   findmatch("8339327") //???? ??????????
   findmatch("4145023") //???? ???????
   findmatch("16777215") //???? ??????
   findmatch("4144959") //???? ??????????
   findmatch("4161471") //???? ??????
   findmatch("4161343") //???? ???????
   findmatch("12533567") //???? ?????
END_IF
waitms(2000)
GOTO(start)

halt

Spw

  • Зашел в гости
  • *
  • Posts: 12
  • Addicted
    • View Profile
Re: Бот для игры Gems of War
« Reply #5 on: January 10, 2018, 08:07:18 AM »
Такое разрешение предлагает сама игра, тут особо не задумывался, по идее лучше было бы делать под 800х600, для запуска на слабых видеокартах. Канечно все очень гибко, можно пренастроить за пару минут.

Spw

  • Зашел в гости
  • *
  • Posts: 12
  • Addicted
    • View Profile
Re: Бот для игры Gems of War
« Reply #6 on: January 10, 2018, 09:02:49 AM »
Такое разрешение предлагает сама игра, тут особо не задумывался, по идее лучше было бы делать под 800х600, для запуска на слабых видеокартах. Канечно все очень гибко, можно пренастроить за пару минут.
Кроме того постоянное выпрыгивание из подпрограммы по GOTO(start), может привести к сбоям.
Тут вы правы надо было переменную воткнуть там,  не красиво. Время будет свободное - переделаю. ;)

PasqualeAcosta

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Бот для игры Gems of War
« Reply #7 on: October 21, 2018, 02:32:19 AM »
Бота случаем так и не доделали?)

PasqualeAcosta

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Бот для игры Gems of War
« Reply #8 on: October 21, 2018, 10:57:28 AM »
доделали конечно, даже с многочисленными избыточными возможностями, по сравнению с первоначальным описанием автора темы, к сожалению у меня авторский вариант не сохранился, так-как почти год темой ни кто здесь не интересовался.
Эх, жаль. Может в почте или где после пересылок осталось...

Есть тема по 3 в ряд http://crapware.aidf.org/forum/index.php?topic=1047.0 , но для меня как новичка пока это все очень жестко))

sevdox

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Бот для игры Gems of War
« Reply #9 on: June 11, 2019, 07:33:39 PM »
Готов приобрести аналогичного бота, по предложенной стоимости !