|
|
|
Помощь в скрипте кликере для web страницы, Нужна помощь по корректировке скрипта |
|
|
Дмитрий_Z |
31.3.2018, 17:41
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
Привет форумчане, читал форум, но то что надо не нашел.. Если не сложно, нужна помощь в корректировке: шаг 1. двойной ЛКМ в окне шаг 2. набираю число (n) шаг 3. лкм на кнопке сайта. Если цвет кнопки временно меняется (задержка при изменении цвета от 50 мс до 2 сек), то перейти к следующему действию (шаг 1), если после нажатия цвет кнопки не менялся, перейти к шагу 4. шаг 4 . двойной ЛКМ в окне шаг 5. набираю число (n*3) шаг 6 и т.д.
Пример: :Start left 645, 255 // двойной клик левой кнопкой в координаты :A double_left 649, 253 send 0 send 0 send 0 send 0 send 5 left 941, 248 1049512 while 1 = 1 while 941, 248 788176 left 941, 248 wait 500 goto :a end_while wait 500 goto b end_while
:B double_left 649, 253 send 0 send 0 send 0 send 1 send 5 left 941, 248
set #a findcolor (911, 259 968, 262 1 1 (788176 ) %arr) wait 400
log #a while 911, 259 788176 wait 300 if 911, 259 788176 goto A end_if wait 2s end_while goto c :C
double_left 649, 253 send 0 send 0 send 0 send 4 send 5 left 941, 248 wait 2s set #a findcolor (911, 259 968, 262 (788176 ) %arr) wait 1000 log #a while 649, 253 788176 goto A else goto d wait 2s end_while
Скрипт работает, но на изменение цвета не реагирует и все идет по цепочке...
|
|
|
|
cirus |
31.3.2018, 18:16
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26708
Пользователь №: 16.971
Возраст: 29
|
Цитата while 649, 253 788176 goto A else goto d wait 2s end_while В цикле не может быть else, только в if. код
Код // сделать привязку к окну Ctrl+A log clear log mode compact
left 645, 255 while 1 = 1 // цикл1 set #x 5 // начальное число while 1 = 1 // цикл2 double_left 649, 253 // двойной клик wait 200 set $a #x // присваиваем число строковой переменной while size($a) < 5 set $a 0$a // дописываем нули end_while log $a // получившиеся число, send $a // пишем это число wait 200 left 941, 248 // клик на кнопку wait 500 // пауза 0,5 секунды if 911, 259 788176 // если цвет кнопки изменился log Цвет найден, увеличили число set #x #x * 3 // умножаем число на 3 else // иначе, т. е. цвет кнопки не изменился log Цвет не найден, начали сначала break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if wait 1000 // паузу можно убрать end_while end_while
|
|
|
|
Дмитрий_Z |
31.3.2018, 18:45
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
left 941, 248 // клик на кнопку wait 500 // пауза 0,5 секунды if 911, 259 788176 // если цвет кнопки изменился log Цвет найден, увеличили число set #x #x * 3 // умножаем число на 3 else // иначе, т. е. цвет кнопки не изменился log Цвет не найден, начали сначала break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if end_while Спасибо большое, но есть одно но... left 941, 248 // клик на кнопкуПри нажатии на кнопку, она свой цвет меняет примерно на 100-150 мс, причем задержка до "моргания" составляет 300-1500 мс. В том то и вопрос, как поймать это кратковременное изменение цвета? (IMG: style_emoticons/default/dry.gif)
|
|
|
|
Дмитрий_Z |
31.3.2018, 19:09
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
Цитата(cirus @ 1.4.2018, 2:02) Т. е. надо проверить изменялась ли кнопка в течении 2х секунд?
Да, это и есть основная проблема. Цвет найден, начали сначала. Цвет не найден продолжили. И так до семи циклов максимум, не важно каким бы был результат на 7 цикле... Если в коде скрипта оставить нажатие кнопки с постоянным цветом (if 911, 259 788176), то скрипт работает аналогично моему... Не обращая внимания на временное моргание цвета кнопки.
|
|
|
|
cirus |
31.3.2018, 19:35
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26708
Пользователь №: 16.971
Возраст: 29
|
код
Код // сделать привязку к окну Ctrl+A log clear log mode compact
left 645, 255 while 1 = 1 // цикл1 set #x 5 // начальное число while 1 = 1 // цикл2 double_left 649, 253 // двойной клик wait 200 set $a #x // присваиваем число строковой переменной while size($a) < 5 set $a 0$a // дописываем нули end_while log $a // получившиеся число, send $a // пишем это число wait 200 left 941, 248 // клик на кнопку wait 300 set #time timer + 2000 // 2 секунды для ожидания цвета while #time > timer // пока не вышло время hint #time > timer // можно убрать if 911, 259 788176 // если цвет найден выходим из цикла break end_if wait 1 end_while if #time < timer // если вышло время log Цвет не найден, увеличили число set #x #x * 3 // умножаем число на 3 else log Цвет найден, начали сначала wait 2000 // паузу можно убрать break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if wait 1000 // паузу можно убрать end_while end_while Так по идее, код не проверял.
|
|
|
|
Дмитрий_Z |
31.3.2018, 19:59
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
Цитата(cirus @ 1.4.2018, 2:35) код
Код // сделать привязку к окну Ctrl+A log clear log mode compact
left 645, 255 while 1 = 1 // цикл1 set #x 5 // начальное число while 1 = 1 // цикл2 double_left 649, 253 // двойной клик wait 200 set $a #x // присваиваем число строковой переменной while size($a) < 5 set $a 0$a // дописываем нули end_while log $a // получившиеся число, send $a // пишем это число wait 200 left 941, 248 // клик на кнопку wait 300 set #time timer + 2000 // 2 секунды для ожидания цвета while #time > timer // пока не вышло время hint #time > timer // можно убрать if 911, 259 788176 // если цвет найден выходим из цикла break end_if wait 1 end_while if #time < timer // если вышло время log Цвет не найден, увеличили число set #x #x * 3 // умножаем число на 3 else log Цвет найден, начали сначала wait 2000 // паузу можно убрать break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if wait 1000 // паузу можно убрать end_while end_while Так по идее, код не проверял. Не ищет цвет, блин. Попробую еще завтра, а то 3 часа ночи уже... Спасибо за помощь (IMG: style_emoticons/default/smile.gif)
|
|
|
|
Дмитрий_Z |
1.4.2018, 4:55
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
Цитата(Дмитрий_Z @ 1.4.2018, 2:59) Не ищет цвет, блин. Попробую еще завтра, а то 3 часа ночи уже... Спасибо за помощь (IMG: style_emoticons/default/smile.gif) left 914, 266 // клик на кнопку set #time timer + 2000 // 2 секунды для ожидания цвета while #time > timer // пока не вышло время if 947, 268 2863141 // если цвет кнопки изменился на зеленый wait 2000 end_while end_if wait 1800 if #time < timer // если вышло время wait 1000 log Цвет не найден, увеличили число set #x #x * 3 // умножаем число на 3 else log Цвет найден, начали сначала wait 2000 // паузу можно убрать //continue break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if Методом научного тыка (IMG: style_emoticons/default/smile.gif) определил, что таймер работает некорректно. Если в строке под "if 947, 268 2863141" прописать wait, то пишет, что "Цвет найден" даже если изменения цвета не было. Если wait убрать пишет, что "цвет не найден"... Далее, если редактировать ожидание end_while end_if wait 1800 , то такая же фигня, то определяет, то нет, короче работает как в наборе случайных цифр, захотел "+", захотел "-"
|
|
|
|
Дмитрий_Z |
1.4.2018, 13:42
|
Registred
Сообщений: 7
Регистрация: 31.3.2018 Группа: Пользователи Наличность: 0
Пользователь №: 18.886
Возраст: 36
|
Цитата(cirus @ 1.4.2018, 16:23) неправильно расставлены отступы. Код Таймер на 2 секунды и пауза на 2 секунды? И смысл таймера? Зайти в цикл подождать 2 секунды и выйти потому что вышло время. Заработало (IMG: style_emoticons/default/smile.gif) , спасибо большое. Вот рабочий скрипт: log clear log mode compact left 645, 255 while 1 = 1 // цикл1 set #x 5 // начальное число while 1 = 1 // цикл2 double_left 649, 253 // двойной клик wait 300 set $a #x // присваиваем число строковой переменной while size($a) < 5 set $a 0$a // дописываем нули end_while log $a // получившиеся число, send $a // пишем это число wait 1000 left 914, 266 // клик на кнопку set #time timer + 3000 // 2 секунды для ожидания цвета while #time > timer // пока не вышло время if 947, 268 2863141 // если цвет кнопки изменился на зеленый break end_if end_while wait 1000 if #time < timer // если вышло время log Цвет не найден, увеличили число set #x #x * 3 // умножаем число на 3 else log Цвет найден, начали сначала break // выходим из цикла2, т. е. начнётся всё сначала с цикла1 end_if wait 1000 // паузу можно убрать end_while end_while Поменял местами как сказали, одно ожидание из условий убрал, одно ожидание уменьшил до секунды, это после окончания цикла, все заработало. Вопрос еще есть - как ограничить кол-во циклов, если не сложно. (IMG: style_emoticons/default/rolleyes.gif) , например, 10 циклов по поиску цвета прошли безуспешно и мне надо вернуться в начальную точку отсчета, а не увеличивать число согласно скрипту...
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|