Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Синичка on August 27, 2014, 12:44:12 PM

Title: Узнать сколько осталось в задержке
Post by: Синичка on August 27, 2014, 12:44:12 PM
Здравствуйте.
1. В коде имеем задержки от 1 часа до 12-и часов. Как узнать, сколько времени осталось при определенной задержке?

2. Как работает "TRAYSAY"? Что это такое?)

3. немного не к месту вопрос: Будет ли работать

Code: [Select]
sub(Один)
//Какие-либо действия
   sub(Два)
      //Какие-либо действия
   end_sub
//Какие-либо действия
end_sub

//вызов подпрограммы (чтобы при этом сработал и "Два", прописанный внутри "Один")
Один()

Title: Re: Узнать сколько осталось в задержке
Post by: aden on August 27, 2014, 01:03:58 PM
по 1) поподробнее пжалста если хотите отбратный таймер до окончании задержки то через цикл
а если узнать какая рандомная задержка сработала то еще проще рандомайзер записываем в переменную и используем для включения задержки и вывода на экран

2) откуда это взяли? первый раз слышу о такой команде

3) скорее всего да только запись должна быть иначе
Объявление сабов
Code: (clickermann) [Select]
sub(Один)
     //Какие-либо действия
     Два()
end_sub
sub(Два)
      //Какие-либо действия
end_sub

Вызов
Code: (clickermann) [Select]
Один()
Title: Re: Узнать сколько осталось в задержке
Post by: Синичка on August 27, 2014, 02:20:34 PM
1. Непонятно, как это сделать)

2. Из сообщения модератора через поиск на сайте.

3. Но тогда не сработает "Два", вы меня не поняли.

Было:
Code: [Select]
sub(Один)
//Какие-либо действия 1
   sub(Два)
      //Какие-либо действия 2
   end_sub
//Какие-либо действия 3
end_sub

//вызов подпрограммы (чтобы при этом сработал и "Два", прописанный внутри "Один")
Один()

а по вашему получается, что действий 3 не будет. И мало того, вызова подпрограммы "Два" у вас тоже нет. А я не хочу их 40-50 раз записывать вручную. так как координаты часто меняются. у меня нет желания потом по всему коду шарить и исправлять одно и то же десятки раз. А изменять придется далеко не 1 строку и даже не 10 и не 50.
Title: Re: Узнать сколько осталось в задержке
Post by: aden on August 27, 2014, 03:19:35 PM
1) так и непонятно что конкретно вы хотите сделать опишите подробнее или приведите код

2) видать очень старая команда, скорее всего делает тоже самое что и HINTPOPUP

3) невнимательны  вы, посмотрите приведенный мной код там в строке №3 как раз вызов второго саба, а действие 3 я просто забыл дописать, должно выглядеть так
Code: (clickermann) [Select]
//Объявляем первую подпрограмму
sub(Один)
     //Какие-либо действия 1
     Два()               // Вызываем вторую подпрограмму из тела первой.
    // Какие-либо действия 3
end_sub
//Объявляем вторую подпрограмму
sub(Два)
      //Какие-либо действия 2
end_sub

Code: (clickermann) [Select]
//вызов подпрограммы (чтобы при этом сработает и "Два", потому что ее вызов прописан в теле подпрограммы "Один")
Один()
Title: Re: Узнать сколько осталось в задержке
Post by: Vint on August 27, 2014, 04:13:55 PM
только подпрограмму 2 выше первой.
Title: Re: Узнать сколько осталось в задержке
Post by: aden on August 27, 2014, 05:33:47 PM
только подпрограмму 2 выше первой.

думал  об этом но решил что и так сработает
Title: Re: Узнать сколько осталось в задержке
Post by: Синичка on August 27, 2014, 08:06:30 PM
Хорошо, если поднять подпрограмму "Два" выше, то вызов будет работать. Просто раньше мне отвечали, что подпрограмма в подпрограмме вроде не работает.
за это спасибо)

Про второе понятно - HINTPOPUP в справочнике хотя бы есть. Тоже благодарю.

1. подробнее:
(http://s018.radikal.ru/i514/1408/9c/4a74ae412d0c.jpg)

Как узнать, сколько осталось времени для окончания этой задержки? 10 минут? 20 минут? Постоянно добавляю строчки с кодами и время вечно отодвигается, а ждать для проверки не всегда предоставляется возможным
Title: Re: Узнать сколько осталось в задержке
Post by: Vint on August 27, 2014, 09:56:54 PM
если узнать сколько выскочило по rnd, так сказали уже, рнд присвоить переменной, переменную вывести в лог, её же в ваит.
Если нужно в процессе длиной задержки, разбить её в цикле на короткие с выводом остатка.
Title: Re: Узнать сколько осталось в задержке
Post by: Oraven on August 27, 2014, 10:11:25 PM
Вот написал подпрограмму отсчета. Используем её за место задержек.

Code: (clickermann) [Select]
// подпрограмму пишешь сверху скрипта
SUB(задержка, $time_wait, $message)
   $time_out = $_time_t + $time_wait
   WHILE($time_out > $_time_t)
      WAIT(1)
      $ts = $time_out-$_time_t
      $th = 0
      $tm = 0
      while($ts > 3599)
         INC($ts,-3600)
         INC($th, 1)
      end_cyc
      while($ts > 59)
         INC($ts,-60)
         INC($tm, 1)
      end_cyc
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      LOGCLEAR // очистка лога
      LOGWRITE ($message,": ", $th,":",$tm,":",$ts)
   END_CYC
END_SUB


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

задержка(30,"Ждем") // задержка на 30 секунд с отсчетом в логе

задержка(RND(7250,7290),"Осталось") // задержка на 2 часа с отсчетом в логе
Title: Re: Узнать сколько осталось в задержке
Post by: Синичка on August 27, 2014, 10:34:49 PM
Вот написал подпрограмму отсчета. Используем её за место задержек.

Очень интересно, спасибо, попробую разобрать на запчасти что-то новое)
Благодарю за помощь!