Author Topic: Как мне вычислить миллисекунды?  (Read 5631 times)

0 Members and 2 Guests are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Как мне вычислить миллисекунды?
« on: November 12, 2014, 10:25:41 PM »
Ребят, условия такие. Мне надо заюзать определенную кнопку и вычислить, через какое время, после этого, в определенных координатах появится определенный цвет. Вот пример:

Code: (clickermann) [Select]
KEYPRESS(#A)
// Тут команду, которая начала бы отсчет миллисекунд
WAITMS(300)
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      $check = 1
      // Тут команду, которая закончила бы отсчет миллисекунд и вывела бы результат в лог.
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
HALT

Как это намутить?
Я не ду... Потому и не бу...

ksa-nsk

  • Освоившийся
  • **
  • Posts: 55
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #1 on: November 12, 2014, 11:27:48 PM »
а комп в состоянии за милисекунды сохранять весь экран и искать внем ваши точки?

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #2 on: November 13, 2014, 12:59:16 AM »
а комп в состоянии за милисекунды сохранять весь экран и искать внем ваши точки?

Вообще-то он этим занимается каждый день. Но при чем тут комп? Мне нужно вычислить время от нажатия клавиши и до того, как скрипт найдет нужный цвет в нужном месте - какой бы мощности не был комп и за какое бы время он это не сделал.
« Last Edit: November 13, 2014, 01:10:12 AM by Hito »
Я не ду... Потому и не бу...

quant13

  • Активный участник
  • ***
  • Posts: 174
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #3 on: November 13, 2014, 01:39:35 AM »
а просто взять переменную и увеличивать ее уже не модно?
INC ($var)
PRINT($var)

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Как мне вычислить миллисекунды?
« Reply #4 on: November 13, 2014, 01:54:03 AM »
 через
Code: (clickermann) [Select]
for($i=0, $i < 0)
getscreen ну ты понел
WAITMS(1)
if ваше событие
 print($i)
 $i=0
end if
end_cyc
« Last Edit: November 13, 2014, 01:56:00 AM by Луций »

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #5 on: November 13, 2014, 02:07:13 AM »
через
Code: (clickermann) [Select]
for($i=0, $i < 0)  // Я вот эту строку вообще не понимаю...
getscreen ну ты понел  // Нихрена я не понял
WAITMS(1)  // Что тут делает одна миллисекунда?
if ваше событие
 print($i)
 $i=0
end if
end_cyc

Эт че такое...?
« Last Edit: November 13, 2014, 02:48:55 AM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #6 on: November 13, 2014, 02:43:16 AM »
Пока я придумал только такой вариант...

Code: (clickermann) [Select]
KEYPRESS(#A)
PRINT($_ms)  // Старт
WAITMS(300)
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      $check = 1
      PRINT($_ms)  // А потом из этих миллисекунд вычесть на калькуляторе первые...
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
HALT
Я не ду... Потому и не бу...

Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #7 on: November 13, 2014, 08:22:07 AM »
Вот как-то так, в общих чертах.
Code: (clickermann) [Select]
KEYPRESS(#A)

$time_1 = $_ms // Запоминаем время нажатия клавиши #A

WHILE($time_2 = 0)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      $time_2 = $_ms // Запоминаем время появления пикселя
   END_IF
END_CYC

$time_3 = $time_2 - $time_1 // Вычисляем время затраченное на ожидание

LOGWRITE (STRCONCAT("Пиксель появился через - ", $time_3, " ms")) // Выводим результат в лог

HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #8 on: November 13, 2014, 10:02:38 AM »
Чуть поменьше строк, и нафига STRCONCAT в LOGWRITE?

Code: (clickermann) [Select]
KEYPRESS(#A)
$ms = $_ms
WHILE(1)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      LOGWRITE ("Найдено через: ", $_ms-$ms, " мс")
      HALT
   END_IF
END_CYC

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #9 on: November 13, 2014, 12:24:26 PM »
Вот как-то так, в общих чертах.
Code: (clickermann) [Select]
KEYPRESS(#A)

$time_1 = $_ms // Запоминаем время нажатия клавиши #A

WHILE($time_2 = 0)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      $time_2 = $_ms // Запоминаем время появления пикселя
   END_IF
END_CYC

$time_3 = $time_2 - $time_1 // Вычисляем время затраченное на ожидание

LOGWRITE (STRCONCAT("Пиксель появился через - ", $time_3, " ms")) // Выводим результат в лог

HALT

Благодарю
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #10 on: November 13, 2014, 12:24:48 PM »
Чуть поменьше строк, и нафига STRCONCAT в LOGWRITE?

Code: (clickermann) [Select]
KEYPRESS(#A)
$ms = $_ms
WHILE(1)
   GETSCREEN
   IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
      LOGWRITE ("Найдено через: ", $_ms-$ms, " мс")
      HALT
   END_IF
END_CYC

Благодарю
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #11 on: November 13, 2014, 12:40:32 PM »
а комп в состоянии за милисекунды сохранять весь экран и искать внем ваши точки?

Code: (clickermann) [Select]
$ms = $_ms
GETSCREEN
IF_PIXEL_IN(506,757, 506,757, 201276,14410719) // Лук, молния
   LOGWRITE ("Найдено через: ", $_ms-$ms, " мс")
END_IF



А ты говоришь...)
Я не ду... Потому и не бу...

quant13

  • Активный участник
  • ***
  • Posts: 174
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #12 on: November 13, 2014, 12:44:25 PM »
2 Oraven
Quote
WHILE(1)
А что это за условие такое?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Как мне вычислить миллисекунды?
« Reply #13 on: November 13, 2014, 01:11:34 PM »
2 Oraven
Quote
WHILE(1)
А что это за условие такое?
Это бесконечный цикл. Условие всегда будет верным.