Автокликер Clickermann :: Форум
Основной раздел => Биржа труда => Topic started by: toto123 on December 21, 2017, 02:09:58 PM
-
Всем привет!
Нужен бот для игры Gems of War: http://steamcommunity.com/app/329110
Тип игры "три в ряд" + карточная игра. Собирается колода карт со своими умениями, а бой происходит на поле с камнями (7 типов камней: красный, синий, зеленый, желтый, фиолетовый, коричневый, черепа), при сборе которых карты заряжаются манной, с помощью которой можно использовать ульту.
Цель:
Нужно чтобы бот мог различать цвет камней и собирал коричневые и зеленые камни, и при накоплении манны у первой (верхней) карты, использовал ее. Затем, прокликать на значек, оповещающий о победе (он появляется в центре экрана), кнопку "ок" и снова зайти в бой. И все это зациклить.
Может что-то коряво написал, извините, в программировании не разбираюсь.
Интересует можно ли такое сделать? Сколько это будет стоить? Сколько это займет времени?
-
Предположим 3000 рублей, но цена не окончательная, готов выслушать встречные предложения
-
Абсолютно так и есть!) Это фарм ресурсов, получаемых за победу в бою, отряд атаки прокачен на максимум, а оборона выбирается максимально слабой для скорости)
-
Единственная пооправка, это то, что зеленых и коричневых сборок может не быть, и тогда нужно собирать что попадается. Приоритет на цвета камней следующий: 1 коричневый, 2 зеленый, 3 черепа, 4-7 остальные в любом порядке
-
Накидал по быстрому, toto123, отпишите если еще интересно, объясню что к чему.
//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
-
Такое разрешение предлагает сама игра, тут особо не задумывался, по идее лучше было бы делать под 800х600, для запуска на слабых видеокартах. Канечно все очень гибко, можно пренастроить за пару минут.
-
Такое разрешение предлагает сама игра, тут особо не задумывался, по идее лучше было бы делать под 800х600, для запуска на слабых видеокартах. Канечно все очень гибко, можно пренастроить за пару минут.
Кроме того постоянное выпрыгивание из подпрограммы по GOTO(start), может привести к сбоям.
Тут вы правы надо было переменную воткнуть там, не красиво. Время будет свободное - переделаю. ;)
-
Бота случаем так и не доделали?)
-
доделали конечно, даже с многочисленными избыточными возможностями, по сравнению с первоначальным описанием автора темы, к сожалению у меня авторский вариант не сохранился, так-как почти год темой ни кто здесь не интересовался.
Эх, жаль. Может в почте или где после пересылок осталось...
Есть тема по 3 в ряд http://crapware.aidf.org/forum/index.php?topic=1047.0 , но для меня как новичка пока это все очень жестко))
-
Готов приобрести аналогичного бота, по предложенной стоимости !