Не знаю в чем косяк но спустя время выбивает ошибку pos по координатам...хотя пробовал поиск и для одного объекта и для всех найденных с параметром -1
set #объект findimage (зона поиска(путь\s0.bmp) %s5 2 80 -1)
Screenshot_5.bmp ( 849,66 килобайт )
Кол-во скачиваний: 161Для понимания процесса...есть 6 попыток... 7 слотов в которые рандомно падают конфеты в наборе 5, 3 и 1. Вот нужно собрать сперва максимальное колличество наборов сладостей а затем меншее... и лишнюю одну которая остаеться выбросить часто это набор по 1 но бывает и 3
Код
set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
while #s0 = 0 //пока есть попытки
set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
if #s5 > 0 // поиск набора по 5 сладостей
set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
set #x (%s5 [1 1] + %s5 [1 3]) / 2
set #y (%s5 [1 2] + %s5 [1 4]) / 2
left #x #y //клик на сладость
wait 1s
set #x1 (%s5 [1 1] + %s5 [1 3]) / 2 + 50
set #y1 (%s5 [1 2] + %s5 [1 4]) / 2 - 15
left #x1 #y1 //получить вкусняшку
wait 1s
end_if
set #s5 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s5.bmp) %s5 2 80)
if #s5 = 0 // если нет набора по 5
set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
if #s3 > 0 //собирать по 3
set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
set #x (%s3 [1 1] + %s3 [1 3]) / 2
set #y (%s3 [1 2] + %s3 [1 4]) / 2
left #x #y //клик на сладость
wait 1s
set #x1 (%s3 [1 1] + %s3 [1 3]) / 2 + 50
set #y1 (%s3 [1 2] + %s3 [1 4]) / 2 - 15
left #x1 #y1 //забрать вкусняшку
wait 1s
end_if
end_if
set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
if #s3 = 0 // если нет наборов по 5 и 3
set #s3 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s3.bmp) %s3 2 80)
set #s1 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s1 2 80)
if #s1 > 0 //собирать по 1
set #s1 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s1 2 80)
set #x (%s1 [1 1] + %s1 [1 3]) / 2
set #y (%s1 [1 2] + %s1 [1 4]) / 2
left #x #y //клик по конфете
wait 1s
set #x1 (%s1 [1 1] + %s1 [1 3]) / 2 + 50
set #y1 (%s1 [1 2] + %s1 [1 4]) / 2 - 15
left #x1 #y1 //получить конфету
wait 1s
end_if
end_if
end_while
set #s0 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s0.bmp) %s0 2 80)
if #s0 > 1 //если все попытки израсходованы освободить слоты от сладостей
set #s00 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s00.bmp) %s00 2 80)
if #s00 > 0
set #s00 findimage (434, 165 1014, 644 (D:\_UOPilot\Image\botn\s1.bmp) %s00 2 80)
set #x (%s00 [1 1] + %s00 [1 3]) / 2
set #y (%s00 [1 2] + %s00 [1 4]) / 2
left #x #y
wait 1s
set #x1 (%s00 [1 1] + %s00 [1 3]) / 2 - 50
set #y1 (%s00 [1 2] + %s00 [1 4]) / 2
left #x1 #y1
wait 1s
end_if
end_if
Не знаю еще но почему-то когда идет while если не дублировать set в самом цикле то находит один раз...если дублировать сет в самом цикле тогда работает как нужно но иногда опять выбивает ошибку pos c координатами. С чем это связанно?
пример
Код
set #test параметры поиска
while #test > 1 // в принципе любое условие
set #test параметры поиска
//действие
end_while