Author Topic: [РЕШЕНО]таймер обратного отсчёта  (Read 7830 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: таймер обратного отсчёта
« Reply #15 on: November 09, 2016, 08:35:52 AM »
спасибо за работу над ошибками Уважаемый
я в некотором замешательстве :o , вначале скрипта я задал переменную $а=0 для циклов for, работают без ошибок не жалуюсь
а по теме есть что подсказать?


У тебя цикл фор с этой переменной может за проход скрипта вызываться не один раз а работать в таком варианте у тебя он будет только первый раз.

Добавь дополнительную переменную и логический оператор ИЛИ. Таким образом условия будет срабатывать или по таймеру или по значению переменной.
Code: (clickermann) [Select]
$T_Z=60
IF(($time < $_time_t)|($check_timer = 1))
   // условие сработает снова через 60 сек
 
$check_timer = 1 // в следующий проход условие сработает сразу
   $time = $_time_t + $T_Z
END_IF

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: таймер обратного отсчёта
« Reply #16 on: November 09, 2016, 09:27:52 AM »
вначале скрипта я задал переменную $а=0 для циклов for, работают без ошибок не жалуюсь
а по теме есть что подсказать?

Это по теме. Нельзя решать вопрос дальше пока большие проблемы в логике выполнения.

То что задал в начале $а=0 это хорошо, но переменная $а используется в двух циклах, один из которых, к тому же, в подпрограмме которая вызывается не один раз.
При таком написании сработает только самый первый FOR с переменной $а, все остальные пропустятся.
Есть конечно вариант, что ты используешь старую версию Clickermann, минимум младше 4.10. Тогда так будет работать. Начиная с 4.10 - нет.


3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #17 on: November 09, 2016, 09:30:32 AM »
Уважаемый ORAVEN
в целях проверки, методом "научного тыка", скрипт работает без задержек привожу лог

Code: (clickermann) [Select]
$T_Z=60
IF(($time < $_time_t)|($check_timer = 1))
   // условие сработает снова через 60 сек
 LOGWRITE ("Сообщение")
$check_timer = 1 // в следующий проход условие сработает сразу
   $time = $_time_t + $T_Z
END_IF

9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
9:14:43 Сообщение
может в аппаратуре (intel 7) что не так или ОС(XP, win7, win10), но форы работают к счастью исправно 7х24 круглосуточно, т.е. $a=0  и т.д.
единственный трабл с этой задержкой времени.
ответ Vint кликерманн 4.12 может парадокс?
« Last Edit: November 09, 2016, 11:09:53 AM by 3333333333 »
Всё гениальное - просто

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: таймер обратного отсчёта
« Reply #18 on: November 09, 2016, 09:46:15 AM »
Да не вопрос, работает пусть работает
Code: (clickermann) [Select]
$a = 0

FOR($a, $a < 2)
    LOGWRITE("Цикл 1  $a = ", $a)   
END_CYC

FOR($a, $a < 2)
    LOGWRITE("Цикл 2  $a = ", $a)   
END_CYC

Лог:
Code: [Select]
9:41:14 Цикл 1  $a = 0
9:41:14 Цикл 1  $a = 1
9:41:14 Цикл 1  $a = 0
9:41:14 Цикл 1  $a = 1
9:41:14 Цикл 1  $a = 0
9:41:14 Цикл 1  $a = 1


А по задержке... Ты выражаешься как-то не понятно. У тебя WAIT и WAITMS не работают что-ли?
Тогда комп перезагрузи.

Просто приводишь лог, а код не пишешь каккой. Толку с этого лога. В этой теме уже десяток вариантов накидали тебе, какой ты используешь хз.


3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #19 on: November 09, 2016, 10:26:09 AM »
Vint по работе цикла for скрипта если не верите
извиняюсь если кого-то отрвал от важных дел

С уважением,
3333333333333333

« Last Edit: November 09, 2016, 10:53:49 AM by 3333333333 »
Всё гениальное - просто

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: таймер обратного отсчёта
« Reply #20 on: November 09, 2016, 10:32:05 AM »
Vint по работе цикла for скрипта если не верите
Здравствуйте,

 Присоединяйтесь к конференции, щелкнув по ссылке:
http://go.teamviewer.com/v11/m24772824

 ID конференции: m24-772-824


С уважением,
3333333333333333


www.teamviewer.com - Интерактивные конференции и демонстрация экрана без проблем
Конкретно чувачёк стрелку забил, 8) по понятиям не прийти на стрелку западло, чисто-конкретно СУПЕРМОДЕРАТОРЫ АВТОРИТЕТ СРЕДИ КОДЯЩЕЙ БРАТВЫ ПОТЕРЯЮТ  >:( ;) ;D
« Last Edit: November 09, 2016, 10:36:09 AM by Золотой »

3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #21 on: November 09, 2016, 10:38:41 AM »
Уважаемый Vint
вариантов много, спасибо ребята всем кто откликнулся, но для моего примера я не вижу, а вам Vint отдельная благодарность, потому что в основном весь код написан по Вашим примерам ("три в ряд", распознование чисел и текста и т.п.)
Всё гениальное - просто

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: таймер обратного отсчёта
« Reply #22 on: November 09, 2016, 10:55:10 AM »
...по понятиям не прийти на стрелку западло, чисто-конкретно СУПЕРМОДЕРАТОРЫ АВТОРИТЕТ СРЕДИ КОДЯЩЕЙ БРАТВЫ ПОТЕРЯЮТ  >:( ;) ;D

 ;D не успел прийти. "Конференция уже закончилась".
Приехал, а там никого, одни трупы.


3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #23 on: November 09, 2016, 11:12:47 AM »
назначьте время пожалуйста когда Вам удобно
Всё гениальное - просто

3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #24 on: November 09, 2016, 11:15:34 AM »
по логике
в вашем примере форы идут подряд, у меня они тоже так срабатывают
Code: (clickermann) [Select]
$a = 0
 
FOR($a, $a < 2)
    LOGWRITE("Цикл 1  $a = ", $a)   
END_CYC
 
FOR($a, $a < 2)
    LOGWRITE("Цикл 2  $a = ", $a)   
END_CYC
у меня в коде совсем по другому, если Вы не заметили
Всё гениальное - просто

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: таймер обратного отсчёта
« Reply #25 on: November 09, 2016, 11:32:30 AM »
по логике
в вашем примере форы идут подряд, у меня они тоже так срабатывают
Второй как раз не срабатывает.

у меня в коде совсем по другому, если Вы не заметили

И что здесь кардинально другого?
Code: (clickermann) [Select]
//...
$a=0
//...

//=Подпрограмма копирования в буфер, времени задержки
SUB(mysub)
    //...
    FOR($a,$a<3) // повторяем 3 раза
        //...
    END_CYC
    //...
END_SUB

//==Проверка времени===========================
IF($time < $_time_t)
    IF(ARRSIZE($ARR_SCAN)/2=2 )
        //...
        IF($distance1>58)
            //...
        ELSE
            mysub() //вызов подпрограммы копирования
            //...
        END_IF
    ELSE
        //...
    END_IF
   
    //===Вычисление дистанции==и=задание времени за д е р ж к и
    //...
    IF($distance1>58)
        //...
    ELSE
        mysub()
        //...
    END_IF
    //...
END_IF
//=============================================

//...
IF($Z!0 )
    //перемещение по вкладкам
    FOR($a,$a<$V) // повторяем 12 раза
        //...
    END_CYC
    //...
END_IF

Если будет второй вызов mysub(), цикл в нём не сработает.
Если будет хоть один вызов mysub(), позже цикл в 43-45 не сработает.


3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #26 on: November 09, 2016, 11:39:08 AM »
да работают, и хз, наверное повезло
Уважаемый Vint у Вас, есть прекрасные примеры взаимодействия автоита с кликерманом, а имеются идеи как скрипт автоита  "FF"(работа с фаерфокс) прикрутить к кликерманну без виртуального сервера Mozrepl (очевидно паленная штука)?
Всё гениальное - просто

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: таймер обратного отсчёта
« Reply #27 on: November 09, 2016, 11:53:15 AM »
я не знаю эти скрипты и не использовал.


3333333333

  • Освоившийся
  • **
  • Posts: 33
    • View Profile
Re: таймер обратного отсчёта
« Reply #28 on: November 09, 2016, 11:56:25 AM »
ответ
Code: (clickermann) [Select]
//...
$a=0
//...
 
//=Подпрограмма копирования в буфер, времени задержки
SUB(mysub)
    //...
    FOR($a,$a<3) // повторяем 3 раза
        //...
    END_CYC
    //...
END_SUB
 
//==Проверка времени===========================
IF($time < $_time_t)
    IF(ARRSIZE($ARR_SCAN)/2=2 )
        //...
        IF($distance1>58)
            //...
        ELSE
            mysub() //вызов подпрограммы копирования
            //...
        END_IF
    ELSE
        //...
    END_IF
 
    //===Вычисление дистанции==и=задание времени за д е р ж к и
    //...
    IF($distance1>58)
        //...
    ELSE
        mysub()
        //...
    END_IF
    //...
END_IF
//=============================================
 
//...
IF($Z!0 )
    //перемещение по вкладкам
    FOR($a,$a<$V) // повторяем 12 раза
        //...
    END_CYC
    //...
END_IF
он и сейчас работает
единственные ошибки интерпритации выскакивали когда велось вычисление количества вкладок,и то не всегда, тогда, когда дистанция принимала значение "0", на ноль нельзя делить
но я этот код закоментировал
Code: (clickermann) [Select]
//======вычисление колличества баннеров и ссылок (вкладок)============
//IF(82!ROUND(($distance+$distance1),0) $V!0, $t_v!0)
//$V= ROUND(($distance/105)+($distance1/105),0)
//$t_v = ROUND($t_r/$V, 0)
//LOGWRITE ("v:",$V)
//LOGWRITE ("t_v:",$t_v)
//ELSE
//$V=1
//$t_v=60
//END_IF
вот лог с 1 переменной
[spoiler]
13:59:13 cycle 1  $a = 0
13:59:13 cycle 1  $a = 1
13:59:13 cycle 1  $a = 2
13:59:13 cycle 1  $a = 3
13:59:27 distance1:510
13:59:39 distance2:290
13:59:47 t_v:3v:18
13:59:51 cycle 2  $a = 4
13:59:54 cycle 2  $a = 5
13:59:57 cycle 2  $a = 6
14:00:00 cycle 2  $a = 7
14:00:03 cycle 2  $a = 8
14:00:06 cycle 2  $a = 9
14:00:09 cycle 2  $a = 10
14:00:12 cycle 2  $a = 11
14:00:15 cycle 2  $a = 12
14:00:19 cycle 2  $a = 13
14:00:22 cycle 2  $a = 14
14:00:25 cycle 2  $a = 15
14:00:28 cycle 2  $a = 16
14:00:31 cycle 2  $a = 17
14:00:49 cycle 1  $a = 0
14:00:49 cycle 1  $a = 1
14:00:49 cycle 1  $a = 2
14:00:49 cycle 1  $a = 3
14:01:04 distance1:510
14:01:17 distance2:290
14:01:25 t_v:3v:18
14:01:28 cycle 2  $a = 4
14:01:31 cycle 2  $a = 5
14:01:34 cycle 2  $a = 6
14:01:37 cycle 2  $a = 7
14:01:40 cycle 2  $a = 8
14:01:43 cycle 2  $a = 9
14:01:46 cycle 2  $a = 10
14:01:50 cycle 2  $a = 11
14:01:53 cycle 2  $a = 12
14:01:56 cycle 2  $a = 13
14:01:59 cycle 2  $a = 14
14:02:02 cycle 2  $a = 15
14:02:05 cycle 2  $a = 16
14:02:08 cycle 2  $a = 17
14:02:26 cycle 1  $a = 0
14:02:26 cycle 1  $a = 1
14:02:26 cycle 1  $a = 2
14:02:26 cycle 1  $a = 3
14:02:41 distance1:510
14:02:54 distance2:290
[/spoiler]
« Last Edit: November 09, 2016, 02:10:15 PM by 3333333333 »
Всё гениальное - просто

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: таймер обратного отсчёта
« Reply #29 on: November 23, 2016, 03:32:43 AM »
Quote
Тему не читал, но раз в теме Золотой, то назревает вопрос по теме: обратный отсчёт -- и Аллаху Акбарс? =)