Всем доброго времени суток!
Осваиваю Clickermann 3-й день, написал бота для игры вконтакте.
Всем любителям покемонов и тем, у кого по ним ностальгия, посвящается)))
Сам скрипт:
SUB(poceball) //проверка на призовой покебол за каждые два часа нахождения в игре
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (819,237, 1245,586, "poceball.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(500)
END_IF
END_SUB
walk: //если после перезагрузки страницы выкинуло на вход в локацию и начальная прогулка до моба
WAIT(2)
GETSCREEN
COLORMODE(6)
poceball()
IF_PICTURE_IN (982,255, 1050,330, "trener.bmp", -1, 100) //если тренер на входе в локацию
LCLICK(1017,339)
WAIT(1)
$check_down = 0
WHILE($check_down = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (964,508, 1070,583, "trener1.bmp", -1, 100) //идем вниз до совпадения куска карты с частью тренера
$check_down = 1
WAIT(1)
ELSE
poceball()
KEYPRESS(#DOWN)
WAIT(1)
END_IF
END_CYC
$check_left = 0
WHILE($check_left = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (692,522, 756,588, "trener2.bmp", -1, 100) //идем влево до совпадения куска карты с частью тренера
$check_left = 1
WAIT(1)
ELSE
poceball()
KEYPRESS(#LEFT)
WAIT(1)
END_IF
END_CYC
$check_up = 0
WHILE($check_up = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (720,365, 757,411, "trener3.bmp", -1, 100) //идем вверх до совпадения куска карты с частью тренера
$check_up = 1
WAIT(1)
ELSE
poceball()
KEYPRESS(#UP)
WAIT(1)
END_IF
END_CYC
$check_right = 0
WHILE($check_right = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (762,328, 821,389, "trener4.bmp", -1, 100) //идем вправо до совпадения куска карты с частью тренера
$check_right = 1
WAIT(1)
ELSE
poceball()
KEYPRESS(#RIGHT)
WAIT(1)
END_IF
END_CYC
GOTO(heal) //дошли до нашего моба, переходим в проверку ХП пета
ELSE
GOTO(captcha)
END_IF
heal: //проверка ХП пета и отхил
poceball()
WAIT(1)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "skill.bmp") //закрываем всплывшее окно, если пет выучил новое умение
MOVE($_return1, $_return2)
WAITMS(300)
LCLICK($_return1, $_return2)
WAIT(1)
END_IF
LCLICK(729,199) //жмем "Питомцы"
WAITMS(600)
LCLICK(744,574) //открываем экран питомца
WAITMS(600)
LCLICK(1337,361) //обновляем его ХП
WAIT(3)
LCLICK(748,263) //к списку питомцев
WAITMS(500)
$check_hp = 0
$time = $_time_t + 20
WHILE(($check_hp = 0)&($time > $_time_t)) //проверка на ХП +таймер на 20 сек
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (690,625, 815,660, "fullHP.bmp", -1, 100)
$check_hp = 1
$time = 0
GOTO(fight)
ELSE
LCLICK(1180,200) //открываем рюкзак
WAITMS(500)
LCLICK(1160,355) //выбираем хилку
WAITMS(500)
LCLICK(1215,415) //нажимаем "съесть"
WAITMS(500)
LCLICK(1205,400) //выбираем раненного пета
WAIT(1)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (990,580, 1060,840, "close.bmp", -1, 100) //закрываем рюкзак
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
WAIT(4)
END_IF
END_CYC
fight: //нападение на моба
$time = 0
poceball()
LCLICK(823,201) //нажимаем вкладку "Мир"
WAITMS(400)
poceball()
LCLICK(795,416) //тыкаем на моба
WAITMS(600)
poceball()
LCLICK(1072,499) //нажимаем "поиск противника"
WAIT(1)
check: //проверка на капчу
$check_mob = 0
WHILE($check_mob = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (992,500, 1040,585, "field.bmp", -1, 100)
WAIT(2)
$check_mob = 1 //моб найден
MOVE(1136,658)
WAITMS(300)
poceball()
LCLICK(1136,658) //выбираем пета
WAITMS(300)
GOTO(attack)
ELSE //моб не найден
poceball()
WAITMS(500)
GOTO(captcha)
END_IF
END_CYC
captcha: //капча, будь она неладна
WAIT(1)
poceball()
LCLICK(960,317) //нажатие на экран игры, чтобы сделать его активным
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (787,273, 851,328, "captcha.bmp", -1, 100)
KEYPRESS(#F5)
WAIT(10) //ждем обновления страницы и прогрузки игры
GOTO(walk)
ELSE
GOTO(check)
END_IF
attack: //сам процесс боя
$check_death = 0 //проверяем убили ли моба
WHILE($check_death = 0)
poceball()
WAITMS(20)
LCLICK(915,650) //выставляем атаки
WAITMS(300)
LCLICK(915,650)
WAITMS(300)
LCLICK(915,650)
WAITMS(300)
LCLICK(990,602) //запускаем ход
WAIT(8)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "lvlup.bmp") //повышен уровень пета
$check_death = 1
MOVE($_return1, $_return2)
WAITMS(300)
LCLICK($_return1, $_return2)
WAIT(1)
GETSCREEN
COLORMODE(6)
END_IF
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "win.bmp") //победа
$check_death = 1
MOVE($_return1, $_return2)
WAITMS(300)
LCLICK($_return1, $_return2)
WAIT(1)
GETSCREEN
COLORMODE(6)
GOTO(heal)
END_IF
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "defeat.bmp") //поражение
$check_death = 1
MOVE($_return1, $_return2)
WAITMS(300)
LCLICK($_return1, $_return2)
WAIT(1)
GETSCREEN
COLORMODE(6)
GOTO(heal)
END_IF
END_CYC