Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: SA93N on August 19, 2014, 10:22:13 PM
-
Доброго времени суток! Не разбираюсь в условиях, не могу написать код, помогите пожалуйста!
В общем суть такая:
ищем пиксель определенного цвета, если находим то кликаем на него мышкой, если нет то обновляем страницу, ну и опять проверяем, после того как его нашли опять ищем пиксель определенного цвета, если нет то ждем 5 секунд, и опять повторяем поиск, когда найдется опять ищем пиксель определенного цвета если нашли, то кликаем на нем, если нет кликаем в другом месте. Вот и все.
P.S. Я писал код, но он не работал. Я просто не пойму где ставить END_IF, где ставить END_CYC и нужно ли его вообще ставить(
-
Не получается составить условие, потому, что непонятно что повторять.
Поиск пиксела
Вложенный поиск
"и опять повторяем поиск" - ??? Какой из них? Последний или оба?
Если повторять только последний выглядеть будет так:
GETSCREEN
IF_PIXEL_IN(0,0,$_xmax,$_ymax, цвет1)
LCLICK($_return1,$_return2)
WAITMS(100)
$rep = 1
WHILE($rep = 1)
GETSCREEN
IF_PIXEL_IN(0,0,$_xmax,$_ymax, цвет2)
$rep = 0
IF_PIXEL_IN(0,0,$_xmax,$_ymax, цвет3)
LCLICK($_return1,$_return2)
WAITMS(100)
ELSE
LCLICK(100,100) // в другом месте
END_IF
ELSE
WAIT(5)
END_IF
END_CYC
ELSE
KEYPRESS(#F5)
WAITMS(1000)
END_IF
И не понятно что делать в конце. "Вот и всё" - это остановить скрипт или начинать всё с начала?
Всегда ставь два стакана!
[spoiler]Программист ставит у кровати два стакана: полный и пустой.
Полный - если проснется и захочет пить.
А пустой... если проснётся, а пить не хочется.[/spoiler]
При описании лучше использовать вместо местоимений конкретные названия или нумерованые "ищем пиксел1, ищем пиксел7... повторяем с места поиска пиксела3...". Не понять что куда вложено должно быть.
END_IF и END_CYC конечно ставить. Ставить там где нужно, тебе видней.
Не пытайся в условиях и циклах писать код подряд, именно строку за строкой. Оперируй сразу блоками вставляя их в нужные места.
Поиск пиксела простой:
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 1)
// нашли1
ELSE
// не нашли1
END_IF
Теперь, если нам нужно если нашли что-то сделать, например, кликнуть в определённое место то так и вставляем
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 1)
LCLICK(100,100)
ELSE
// не нашли1
END_IF
А если не нашли - искать пиксел2. Вот и вкладываем поиск пиксела2 целиком в нужное место.
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 1)
LCLICK(100,100)
ELSE
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 2)
// нашли 2
ELSE
// не нашли 2
END_IF
END_IF
Ну и так дальше.
-
Спасибо огромное, Вы все правильно поняли, согласен описание задания у меня очень плохое, в следующий раз, если вдруг что, буду писать точнее.
Немного не понял переменные rep если 1 то условие выполнилось, если 0 то не выполнилось так?. И зачем нужен WHILE, если в первом условии он есть, а во втором нет. И еще не совсем понял когда ставить END_CYC, что она делает?
Не совсем работает алгоритм, сначала вроде заработал, а потом стал постоянно обновлять страницу и все. В общем я составил немного другой алгоритм, написал, но он тоже не заработал.
Нужно так:
(http://pastenow.ru/Upload/Paste/A6TX.jpg)
P.S. Вроде так, хотя мог перепутать эти ромбики, квадратики.
-
Написал заново, все равно не работает, после нахождения первого пикселя открывается новая страница в браузере и дальше алгоритм не идет, а начинается заново, но так как это новая страница, то на ней уже нет пикселя 1, поэтому выполняется уловие ELSE, т.е обновление страницы (F5)