1
Общие вопросы / Re: запомнить координаторы клика
« on: September 30, 2017, 05:14:34 PM »
ок спасибо за помощь
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "mifpodtver.bmp", -1, 95) // ищем выход
LCLICK($_return1+3, $_return2+3)// вот эти координаторы использовать в последующем без поиска картинки(кликать на них)
WAIT(1)
ELSE
$check = 1
WAITMS(50)
END_IF
END_CYC
Спасибо.
MOVE(10,10)
SUB(blic)
$ch = 0
WHILE($ch = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemblic.bmp", -1, 95) // блиц
FOR($A=0, $A<2)
MOVE($_return1+9, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел блиц")
$ch = 1
END_CYC
ELSE
WAITMS(50)
LOGWRITE ("no блиц суб")
END_IF
END_CYC
END_SUB
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemka.bmp", -1, 95) // клик на подземку
MOVE($_return1+9, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел подземку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no подземка")
END_IF
END_CYC
blic()
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
MOVE($_return1+225, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел 2 клетку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no 2 клетка")
END_IF
END_CYC
FOR($a=0, $a < 10)// -------------------------------------> без FOR работает тело хорошо, нужно чтоб 10 раз сделал, а с ним делает сам по себе сколько захочет
$check1 = 0
WHILE($check1 = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemblic.bmp", -1, 95) // проверка горит ли блиц
WAITMS(50)
LOGWRITE ("блиц горит иду дальше")
$check1 = 1
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
MOVE($_return1+225, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел 2 клетку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no 2 клетка")
END_IF
END_CYC
blic()
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 1 клетку
MOVE($_return1+89, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел 1 клетку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no 1 клетки")
END_IF
END_CYC
blic()
ELSE
LOGWRITE ("блиц не горит")
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "blictem.bmp", -1, 95) // проверка на темный
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemperex.bmp", -1, 95) // клик на переход
MOVE($_return1+9, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел переход")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no переход")
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzemp.bmp", -1, 95) // клик на перелистать
for($a=0, $a<3)
MOVE($_return1+9, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел перелистать")
$check = 1
END_CYC
ELSE
WAITMS(50)
LOGWRITE ("no перелистать")
END_IF
END_CYC
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 2 клетку
MOVE($_return1+225, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел 2ю клетку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no 2ю клетку")
END_IF
END_CYC
blic()
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "podzeml.bmp", -1, 95) // клик на 1 клетку
MOVE($_return1+89, $_return2+9)
WAITMS(50)
LOGWRITE ("нашел 1 клетку")
$check = 1
ELSE
WAITMS(50)
LOGWRITE ("no 1 й клетки")
END_IF
END_CYC
blic()
$check1 = 1
ELSE
WAITMS(50)
LOGWRITE ("не горит блиц не какой проверяем сначало")
END_IF
END_IF
END_CYC
END_CYC
HALT
Без FOR работает отлично,подскажите как выполнить тело 10 раз, ставлю 2,3 делает 1 раз, ставлю 4 и больше делает без остановки? Помогите советом пожалуйста. GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "krest.bmp", -1,95)
FOR($ARR_NUM=0,$ARR_NUM<ARRSIZE($ARR_SCAN),2)
LCLICK($ARR_SCAN[$ARR_NUM]+9, $ARR_SCAN[$ARR_NUM+1]+9) // Клик на все крестики
WAITMS(500)
UNDEFINE($ARR_SCAN)
END_CYC
А можно вот в такой код применить ELSE?$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "krest.bmp", -1,95)
FOR($ARR_NUM=0,$ARR_NUM<ARRSIZE($ARR_SCAN),2)
LCLICK($ARR_SCAN[$ARR_NUM]+9, $ARR_SCAN[$ARR_NUM+1]+9) // Клик на все крестики
WAITMS(500)
UNDEFINE($ARR_SCAN)
$check = 1
ELSE
WAITMS(50)
END_CYC
END_CYC
SUB(afk)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk.bmp", -1, 95) // ñòàâèì àôê
LCLICK($_return1+5, $_return2+5)
WAITMS(50)
LOGWRITE ("ïîñòàâèë íà àôê")
$check = 1
ELSE
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk1.bmp", -1, 95) // ãàëêà ñòîèò
WAITMS(50)
LOGWRITE ("àôê âêëþ÷åíî")
$check = 1
END_IF
ELSE
WAITMS(50)
LOGWRITE ("íå íàøåë êíîïêó")
END_IF
END_CYC
END_SUB
SUB(vixod)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "vixod.bmp", -1, 95) // ищем выход
LCLICK($_return1+3, $_return2+3)
WAIT(1)
$check = 1
ELSE
WAITMS(50)
END_IF
END_CYC
END_SUB
SUB(afk)
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk.bmp", -1, 95) // ставим афк
LCLICK($_return1+5, $_return2+5)
WAITMS(50)
LOGWRITE ("поставил на афк")
$check = 1
ELSE
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "afk1.bmp", -1, 95) // галка стоит
WAITMS(50)
LOGWRITE ("афк включено")
$check = 1
END_IF
ELSE
WAITMS(50)
LOGWRITE ("не нашел кнопку")
END_IF
END_CYC
END_SUB
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "mifsrej.bmp", -1, 95) //
LCLICK($_return1+60, $_return2+10) //
WAITMS(500)
LOGWRITE ("нашел сражение")
$check = 1
krest2()
FOR($a=0,$a<10)// _______________________________делает 10 раз и застревает не делает суб выход
$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "liger.bmp", -1, 95) //
move($_return1-80, $_return2-80)
WAITMS(50)
LCLICK($_return1-80, $_return2-80)
WAITMS(50)
LOGWRITE ("нашел лигер")
$check = 1
afk() //
ELSE
WAITMS(50)
LOGWRITE ("no картинки лигер")
END_IF
END_CYC
END_CYC
vixod()// _______________________вот сюда не идет
ELSE
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "srajnegorit.bmp", -1, 95) // ищем сражение
LCLICK($_return1+60, $_return2+10) //
WAITMS(500)
LOGWRITE ("сражение не горит")
$check = 1
WAITMS(50)
LOGWRITE ("no картинка сражение не горит")
END_IF
ELSE
WAITMS(50)
END_IF
END_CYC
.......$check = 0
WHILE($check = 0)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (966,68, 1612,451, "alx.bmp", -1, 95) // клик на алхимию
LCLICK($_return1+9, $_return2+9)
WAIT(3)
FOR($a=0,$a<5) // повторяем 5 раз
LCLICK(953,668) // 3561743
WAITMS(500)
LCLICK(897,654) // 10463683
WAITMS(500)
END_CYC
$check = 1
WAITMS(500)
LCLICK(1158,308) // закрыть
END_IF
ELSE
LOGWRITE ("не нашел алхимию")
WAITMS(500)
END_CYC
HALT
Если картинки нет останавливается а не ждет....Это из-за FOR?