Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Помощь в скрипте кликере для web страницы, Нужна помощь по корректировке скрипта
Дмитрий_Z
сообщение 31.3.2018, 17:41
Сообщение #1


*

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

Скрипт работает, но на изменение цвета не реагирует и все идет по цепочке...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.3.2018, 18:16
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 31.3.2018, 18:45
Сообщение #3


*

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)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.3.2018, 19:02
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Т. е. надо проверить изменялась ли кнопка в течении 2х секунд?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 31.3.2018, 19:09
Сообщение #5


*

Registred
Сообщений: 7
Регистрация: 31.3.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.886
Возраст: 36



Цитата(cirus @ 1.4.2018, 2:02) *

Т. е. надо проверить изменялась ли кнопка в течении 2х секунд?


Да, это и есть основная проблема.
Цвет найден, начали сначала. Цвет не найден продолжили. И так до семи циклов максимум, не важно каким бы был результат на 7 цикле...
Если в коде скрипта оставить нажатие кнопки с постоянным цветом (if 911, 259 788176), то скрипт работает аналогично моему... Не обращая внимания на временное моргание цвета кнопки.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.3.2018, 19:35
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 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

Так по идее, код не проверял.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 31.3.2018, 19:59
Сообщение #7


*

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)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 1.4.2018, 4:55
Сообщение #8


*

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 , то такая же фигня, то определяет, то нет, короче работает как в наборе случайных цифр, захотел "+", захотел "-"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.4.2018, 9:23
Сообщение #9


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
set #time timer + 2000 // 2 секунды для ожидания цвета
while #time > timer // пока не вышло время
if 947, 268 2863141 // если цвет кнопки изменился на зеленый
wait 2000
end_while
end_if

неправильно расставлены отступы.
Код
while
    if
    end_if
end_while

Таймер на 2 секунды и пауза на 2 секунды? И смысл таймера? Зайти в цикл подождать 2 секунды и выйти потому что вышло время.

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 1.4.2018, 13:42
Сообщение #10


*

Registred
Сообщений: 7
Регистрация: 31.3.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.886
Возраст: 36



Цитата(cirus @ 1.4.2018, 16:23) *

неправильно расставлены отступы.
Код
while
    if
    end_if
end_while

Таймер на 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 циклов по поиску цвета прошли безуспешно и мне надо вернуться в начальную точку отсчета, а не увеличивать число согласно скрипту...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 1.4.2018, 19:43
Сообщение #11


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
Вопрос еще есть - как ограничить кол-во циклов

код
Код
log clear
log mode compact

left 645, 255
while 1 = 1
    set #n 0  // счётчик
    set #x 5
    while 1 = 1
        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
        while #time > timer
            if  947, 268 2863141
                break
            end_if
        end_while
        wait 1000
        if  #time < timer
            set #x #x * 3
            set #n #n + 1  // увеличиваем переменную на 1
            log Цвет не найден, увеличили число #x,      #n
            if #n = 7   // если #n равно 7
                break   // выходим из цикла, т. е. возврат к началу
            end_if
        else
            log Цвет найден, начали сначала
            break
        end_if
        wait 1000
    end_while
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Дмитрий_Z
сообщение 3.4.2018, 15:14
Сообщение #12


*

Registred
Сообщений: 7
Регистрация: 31.3.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.886
Возраст: 36




Спасибо большое
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 17:05
Designed by Nickostyle