Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Geslee on February 22, 2019, 05:21:18 PM
-
Добрый день всем, кто посетил эту тему.
Не как не могу понять и найти решение свой задаче к примеру
$count0 = PXLCOUNT(0,184, 0,518,3260259) в этой полоске пикселей может быть каждый раз по разному в любой момент, хотел подсчитать количество пиксели наиболее большое ,
и что бы запоминал то количество которое самое большое пикселей и не брал результат меньшего а только больше своего который все время меняется.
$count1 = PXLCOUNT(0,184, 0,518,3260259) в этой полоске хотел подсчитать количество пиксели в данный момент ,
и что бы запоминал то количество которое в данный момент
как только в $count0 будет пикселей на 10 больше чем в $count1 то происходит действие LCLICK(1601,413) и счётчик обновляется и начинает всё сначала.
если в $count0 будет пикселей больше на 5 или 1 или равно чем в $count1 то действий не каких не будет а будет продолжать сверять между ними данные.
Помогите пожалуйста :) спасибо за помощь заранее ;)
-
GETSCREEN
$count0 = PXLCOUNT(0,184, 0,518,3260259)
IF($count0 > $count0_temp)
$count0_temp = $count0
END_IF
WAIT(1)
GETSCREEN
$count1 = PXLCOUNT(0,184, 0,518,3260259)
IF($count0_temp-$count1 > 10)
$count0_temp = 0
LCLICK(1601,413)
WAITMS(500)
END_IF
WAIT(1)
-
Спасибо большое попробую потеснить :)
-
Ещё раз спасибо
есть ещё один вопрос а как можно сделать тоже самое но тока разницу в 10 процентах
и второй вопрос а как будет выглядеть сценарий если если будет сохранять меньшее число пикселе и сравнивать их стем количеством что есть на данный момент
почти тоже самое что было в первом вопросе ток наоборот ???
спасибо заранее :)
-
// В этом скрипте уже задано максимальное значение
#DEFINE MAX_PIXELS:30
GETSCREEN (0, 184, 0, 518)
$current_pixel_count = PXLCOUNT (0, 184, 0, 518, 3260259)
IF( ($current_pixel_count != #FALSE) & ($current_pixel_count < MAX_PIXELS) )
IF( ( (MAX_PIXELS - $current_pixel_count) / $current_pixel_count) * 100 > 10)
PRINT("Разность > 10%")
END_IF
END_IF
// В этом скрипте без разницы, потому что значения сортируются по возрастанию
FOR($i = 0, $i < 2)
GETSCREEN (0, 184, 0, 518)
$count[$i] = PXLCOUNT(0, 184, 0, 518, 3260259)
WAIT(1)
END_CYC
IF( ($count[0] * $count[1] != 0) & ($count[0] - $count[1] != 0) )
ARRSORT($count) // Сортировка значений по возрастанию
IF( ( ($count[1] - $count[0]) / $count[0]) * 100 > 10)
PRINT("Разность > 10%")
END_IF
END_IF
// Вот еще какой то пример
FOR($i = $info_update, $i < 2)
GETSCREEN (0, 184, 0, 518)
$count[$i] = PXLCOUNT(0, 184, 0, 518, 3260259)
WAIT(1)
$info_update = 1 // С этого момента обновляем только второе значение
END_CYC
IF($count[1] < $count[0])
PRINT( ( ($count[0] - $count[1]) / $count[1]) * 100 > 10) // Вернёт 1 если больше 10% и 0 если меньше
END_IF
IF($count[1] > $count[0]) // Если второе значение больше первого, то обновляем начиная с первого значения
$info_update = 0
END_IF
-
Ещё раз спасибо
есть ещё один вопрос а как можно сделать тоже самое но тока разницу в 10 процентах
GETSCREEN
$count0 = PXLCOUNT(0,184, 0,518,3260259)
IF($count0 > $count0_temp)
$count0_temp = $count0 // фиксируем наибольшее значение
END_IF
WAIT(1)
GETSCREEN
$count1 = PXLCOUNT(0,184, 0,518,3260259)
IF((($count0_temp-$count1)/$count0_temp)*100 > 10)
$count0_temp = 0
LCLICK(1601,413)
WAITMS(500)
END_IF
WAIT(1)
и второй вопрос а как будет выглядеть сценарий если если будет сохранять меньшее число пикселе и сравнивать их стем количеством что есть на данный момент...
DEFINE($count0_temp, 9999999999)
GETSCREEN
$count0 = PXLCOUNT(0,184, 0,518,3260259)
IF($count0 < $count0_temp)
$count0_temp = $count0 // фиксируем наименьшее значение
END_IF
WAIT(1)
GETSCREEN
$count1 = PXLCOUNT(0,184, 0,518,3260259)
IF((($count1-$count0_temp)/$count1)*100 > 10)
UNDEFINE($count0_temp)
LCLICK(1601,413)
WAITMS(500)
END_IF
WAIT(1)
-
Спасибо огромное всем за помощь буду тестировать задумку :)
-
Добрый вечер все не как не могу понят в чем ошибка в строке 29 и 55
GETSCREEN
IF_PIXEL_IN(916,627, 948,666, 4833161,4831109,3127649,2994011)
LCLICK(843,648)
END_IF
GETSCREEN
$count0 = PXLCOUNT(1361,182, 1361,518,3260259)
$count1 = PXLCOUNT(1329,182, 1329,518,3260259)
$count2 = PXLCOUNT(1297,182, 1297,518,3260259)
IF(($count0 + $count1 + $count1) > $count0_temp)
$count0_temp = ($count0 + $count1 + $count2)
WAITMS(50)
END_IF
GETSCREEN
$count3 = PXLCOUNT(1361,182, 1361,518,3260259)
$count4 = PXLCOUNT(1329,182, 1329,518,3260259)
$count5 = PXLCOUNT(1297,182, 1297,518,3260259)
$count1_temp = ( $count3 + $count4 + $count5)
IF($count3 = 0 )
$count0_temp = 0
WAITMS(50)
END_IF
ELSE
WAITMS(50)
IF((($count0_temp-$count1_temp)/$count0_temp)*100 > 10)
$count0_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
ELSE
GETSCREEN
$count6 = PXLCOUNT(1361,182, 1361,518,3881949)
$count7 = PXLCOUNT(1329,182, 1329,518,3881949)
$count8 = PXLCOUNT(1297,182, 1297,518,3881949)
IF(($count6 + $count7 + $count8) > $count2_temp)
$count2_temp = ($count6 + $count7 + $count8)
END_IF
WAIT(0.1)
GETSCREEN
$count9 = PXLCOUNT(1361,182, 1361,518,3881949)
$count10 = PXLCOUNT(1329,182, 1329,518,3881949)
$count11 = PXLCOUNT(1297,182, 1297,518,3881949)
$count4_temp = ($count9 + $count10 + $count11)
IF($count9 = 0)
$count2_temp = 0
END_IF
ELSE
WAITMS(50)
IF((($count2_temp-$count4_temp)/$count2_temp)*100 > 10)
$count2_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
WAIT(0.1)
-
нашёл в чём ошибка
IF((($count2_temp-$count4_temp)/$count2_temp)*100 > 10)
просто 0 на 0 не делится
IF((($count2_temp-$count4_temp)/($count2_temp+1))*100 > 10)
а тут получается 0 делим на один умножает на 100 результат 0 <10
-
нашёл в чём ошибка
Ошибка в том что у тебя 3 ELSE вне условия
GETSCREEN
IF_PIXEL_IN(916,627, 948,666, 4833161,4831109,3127649,2994011)
LCLICK(843,648)
END_IF
GETSCREEN
$count0 = PXLCOUNT(1361,182, 1361,518,3260259)
$count1 = PXLCOUNT(1329,182, 1329,518,3260259)
$count2 = PXLCOUNT(1297,182, 1297,518,3260259)
IF($count0 + $count1 + $count1 > $count0_temp)
$count0_temp = $count0 + $count1 + $count2
WAITMS(50)
END_IF
GETSCREEN
$count3 = PXLCOUNT(1361,182, 1361,518,3260259)
$count4 = PXLCOUNT(1329,182, 1329,518,3260259)
$count5 = PXLCOUNT(1297,182, 1297,518,3260259)
$count1_temp = $count3 + $count4 + $count5
IF($count3 = 0 )
$count0_temp = 0
WAITMS(50)
END_IF
//ELSE
WAITMS(50)
IF((($count0_temp-$count1_temp)/$count0_temp)*100 > 10)
$count0_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
//ELSE
GETSCREEN
$count6 = PXLCOUNT(1361,182, 1361,518,3881949)
$count7 = PXLCOUNT(1329,182, 1329,518,3881949)
$count8 = PXLCOUNT(1297,182, 1297,518,3881949)
IF($count6 + $count7 + $count8 > $count2_temp)
$count2_temp = $count6 + $count7 + $count8
END_IF
WAIT(0.1)
GETSCREEN
$count9 = PXLCOUNT(1361,182, 1361,518,3881949)
$count10 = PXLCOUNT(1329,182, 1329,518,3881949)
$count11 = PXLCOUNT(1297,182, 1297,518,3881949)
$count4_temp = $count9 + $count10 + $count11
IF($count9 = 0)
$count2_temp = 0
END_IF
//ELSE
WAITMS(50)
IF((($count2_temp-$count4_temp)/$count2_temp)*100 > 10)
$count2_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
WAIT(0.1)
-
ну это тоже но кода нет пикселя он выдает ошибку поэтому надо дописать +1
GETSCREEN
IF_PIXEL_IN(916,627, 948,666, 4833161,4831109,3127649,2994011)
LCLICK(843,648)
END_IF
GETSCREEN
$count0 = PXLCOUNT(1361,182, 1361,518,3260259)
$count1 = PXLCOUNT(1329,182, 1329,518,3260259)
$count2 = PXLCOUNT(1297,182, 1297,518,3260259)
IF($count0 + $count1 + $count1 > $count0_temp)
$count0_temp = $count0 + $count1 + $count2
WAITMS(50)
END_IF
GETSCREEN
$count3 = PXLCOUNT(1361,182, 1361,518,3260259)
$count4 = PXLCOUNT(1329,182, 1329,518,3260259)
$count5 = PXLCOUNT(1297,182, 1297,518,3260259)
$count1_temp = $count3 + $count4 + $count5
IF($count3 = 0 )
$count0_temp = 0
WAITMS(50)
END_IF
//ELSE
WAITMS(50)
IF((($count0_temp-$count1_temp)/($count0_temp+1))*100 > 10)
$count0_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
//ELSE
GETSCREEN
$count6 = PXLCOUNT(1361,182, 1361,518,3881949)
$count7 = PXLCOUNT(1329,182, 1329,518,3881949)
$count8 = PXLCOUNT(1297,182, 1297,518,3881949)
IF($count6 + $count7 + $count8 > $count2_temp)
$count2_temp = $count6 + $count7 + $count8
END_IF
WAIT(0.1)
GETSCREEN
$count9 = PXLCOUNT(1361,182, 1361,518,3881949)
$count10 = PXLCOUNT(1329,182, 1329,518,3881949)
$count11 = PXLCOUNT(1297,182, 1297,518,3881949)
$count4_temp = $count9 + $count10 + $count11
IF($count9 = 0)
$count2_temp = 0
END_IF
//ELSE
WAITMS(50)
IF((($count2_temp-$count4_temp)/($count2_temp+1))*100 > 10)
$count2_temp = 0
LCLICK(1654,640)
WAITMS(0)
END_IF
WAIT(0.1)