Действительно в моем случаи если "продать 1" за 2 сек не найдено происходит нажатие "LCLICK(1052,491) // 2169104 следующая страница сундука"
Но это легко исправить.
Зачем тебе куча не нужных подпрограмм? Например "SUB(объединение_в_рюкзаке)" вызов всего один.
Подпрограмма "объединить" идет сразу же за "ожидание_картинки". Почему бы не объединить это в одну подпрограмму, и тут уже можно написать цикл возврата.
SUB(ожидание_картинки, $par1,$par2,$par3,$par4,$par5,$par6) // подпрограмма с параметрами
$check1 = 0
WHILE($check1 = 0)
$check2 = 0
WHILE($check2 = 0)
GETSCREEN ($par1,$par2,$par3,$par4)
IF_PICTURE_IN ($par1,$par2,$par3,$par4,STRCONCAT("screens\",$par5,".bmp"), 75) //" поиск
$check2 = 1
IF($par6= 1) // если указан $par6= 1 то делать клик по найденной картинке 0- нет клика
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
ELSE
WAITMS(100)
END_IF
END_CYC
WAITMS(500)
$time = $_time_t + 2 // таймер на 2 секунды
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (1033,528, 1379,693, "screens\рабочие\объединить.bmp", 75)
$time = 0
$check1 = 1
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
MOVE(951,549) // 12642047
WAITMS(3000)
ELSE
WAITMS(50)
END_IF
END_CYC
END_CYC
END_SUB
SUB(продать)
$time4 = $_time_t + 2 // таймер на 2 секунды
WHILE($time4 > $_time_t)
GETSCREEN
IF_PICTURE_IN (688,189, 1381,523, "screens\рабочие\продать 1.bmp", 75)
$time4 = 0
LCLICK($_return1+5, $_return2+5)
WAITMS(100)
MOVE(951,549) // 12642047
WAITMS(100)
$time1 = $_time_t + 1 // таймер на 1 секунд
WHILE($time1 > $_time_t)
GETSCREEN
IF_PICTURE_IN (949,460, 1081,482, "screens\рабочие\продать 2.bmp", 75)
$time1 = 0
LCLICK($_return1, $_return2)
WAITMS(500)
MOVE(951,549) // 12642047
WAITMS(500)
END_IF
END_CYC
IF($time1 ! 0)
$time4 = $_time_t + 2 // таймер на 2 секунды
END_IF
END_IF
END_CYC
IF($time4 ! 0)
$time2 = 0
END_IF
END_SUB
SUB(продажа_рабов_в_сундуке)
$check2 = 0
WHILE($check2 = 0)
$time2 = $_time_t + 2 // таймер на 2 секунд
WHILE($time2 > $_time_t)
GETSCREEN
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб девы.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб защитника.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб праздника.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб разрушителя.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб скорби.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\дроп\пригодный раб ужасающего.bmp", 75)
$time2 = 1
LCLICK($_return1, $_return2)
WAITMS(100)
продать()
ELSE
IF_PICTURE_IN (687,190, 1213,449, "screens\рабочие\некупленный слот.bmp", 75)
$time2 = 0
$check2 = 1
WAITMS(100)
LCLICK(878,490) // 2904698 1ая страница сундука
WAITMS(100)
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_IF
END_CYC
IF($time2 ! 0)
LCLICK(1052,491) // 2169104 следующая страница сундука
WAITMS(1000)
END_IF
END_CYC
END_SUB
FOR($a=0,$a<99)
GO1:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодными рабами.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(500)
ELSE
IF_PICTURE_IN (983,549, 1234,640, "screens\дроп\клетка с пригодным рабом.bmp", 75)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(500)
END_IF
END_IF
END_CYC
$time = $_time_t + 1 // таймер на 1 секунд
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (1034,527, 1185,666, "screens\рабочие\вскрыть.bmp", 75)
$time = 0
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
END_CYC
IF($time ! 0)
GOTO(GO1)
END_IF
$time3 = $_time_t + 5 // таймер на 5 секунд
WHILE($time3 > $_time_t)
GETSCREEN
IF_PIXEL_IN(950,345, 952,347, 8242155) // ожидание вскрытия
$time3 = 0
WAITMS(100)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(950,345, 952,347, 8633312)
$check = 1
WAITMS(100)
END_IF
END_CYC
ELSE
IF_PIXEL_IN(943,344, 945,346, 12642047) // нет свободных слотов
$time3 = 0
WAITMS(100)
LCLICK(929,403) // 7165237 ок
WAITMS(100)
MOVE(951,549) // 12642047
WAITMS(3000)
продажа_рабов_в_сундуке()
WAITMS(100)
END_IF
END_IF
END_CYC
IF($time ! 0)
GOTO(GO1)
END_IF
END_CYC
ожидание_картинки (980,549, 1020,584, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1032,549, 1074,588, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1088,550, 1126,586, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1140,550, 1180,588, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1194,549, 1233,585, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (980,603, 1021,638, "дроп\клетка с пригодными рабами", 1)
ожидание_картинки (1034,601, 1072,639, "дроп\клетка с пригодным рабом", 1)
$check3 = 0
WHILE($check3 = 0)
LCLICK(76,49) // 987432 обновить страницу
WAITMS(500)
$time = $_time_t + 60 // таймер на 60 секунд
WHILE($time > $_time_t)
MOVE(967,503)
WAITMS(500)
GETSCREEN
IF_PIXEL_IN(962,498, 972,508, 81118, 81614, 81111, 13084830, 16184304) // арена
$time = 0
WAITMS(500)
LCLICK(553,158) // 262402 персонаж
WAITMS(500)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(865,93, 875,103, 70185) // сундук
$check = 1
WAITMS(500)
LCLICK($_return1, $_return2)
WAITMS(1000)
END_IF
END_CYC
ELSE
MOVE(632,594)
WAITMS(500)
GETSCREEN
IF_PIXEL_IN(632,594, 632,594, 9192960) // не зашёл в игру
LCLICK($_return1, $_return2)
WAITMS(100)
$time = $_time_t + 60
ELSE
MOVE(794,156) // 10743039
WAITMS(500)
GETSCREEN
IF_PIXEL_IN(791,149, 931,170, 2401224, 3595007, 6024447, 9568255, 8383743) // забор ежедневного подарка
$time = 1
WAITMS(500)
LCLICK(912,607) // 3684408 забрать ежедневный подарок
WAITMS(500)
END_IF
END_IF
END_IF
END_CYC
IF($time = 0)
$check3 = 1
END_IF
END_CYC