Author Topic: Действия на время  (Read 4854 times)

0 Members and 1 Guest are viewing this topic.

marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Действия на время
« on: February 27, 2023, 05:45:11 PM »
Всех приветствую, подскажите пожалуйста новичку..
Только начал осваивать код, разобрался только как выставлять клики и находить пиксели, переменные для меня как то сложно выглядят )) помогите пожалуйста ускориться в освоений
Вообщем:

Жду пиксель в заданной области:
Code: [Select]
WHILE(PXL (848, 569) ! 16777215) 
   WAITMS (100)
   GETSCREEN
END_CYC
  WAIT(1)
LCLICK(634,570)
                  

Нужно сделать сценарий так:
Если в течений к примеру (3 минут) пиксель не появился, тогда нужно сделать несколько действий, и вернуться в начало сценария ждать пиксель, так же на 3 минут и крутить до победного. И после того как пиксель появится > продолжать код..

« Last Edit: February 28, 2023, 08:07:52 AM by marusya_klimova »

marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Покажите как сделать))
« Reply #1 on: February 28, 2023, 08:05:45 AM »
А дельного написать нечего было?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действия на время
« Reply #2 on: February 28, 2023, 09:20:27 AM »
и крутить до победного
Т.е. больше нет ограничения в 3 минуты? Это разовая акция?


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действия на время
« Reply #3 on: February 28, 2023, 09:53:07 AM »
Если при отсутствии нужного цвета, каждые 3 минуты выполнять доп. действия, то
Code: (clickermann) [Select]
$per = 180  // 3 минуты

$time = $_time_t + $per
GETSCREEN(848, 569, 848, 569)
WHILE(PXL(848, 569) ! 16777215)
    IF($time < $_time_t)
        // сделать несколько действий
        $time = $_time_t + $per
    END_IF
   
    WAITMS(100)
    GETSCREEN(848, 569, 848, 569)
END_CYC
WAIT(1)
LCLICK(634, 570)

Если выполнить только один раз через 3 минуты и больше минуты не считать, а только проверять цвет пиксела, то стр. 8 заменить на
Code: (clickermann) [Select]
$time = $_time_t + 2000000000
« Last Edit: February 28, 2023, 09:55:36 AM by Vint »


marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Действия на время
« Reply #4 on: June 17, 2023, 10:34:36 AM »
Спасибо, очень помогли) Подскажите как внедрить все это сюда)
 
Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(1679,644, 1781,677, 5330483)  //  Ждем пиксель
      $check = 1   
      DBLCLICK(1608,715)       //  Нажал на заданную область
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
       

Все также если пиксель не появился в течений 3 минут, сделать несколько действии, с параметром $per = 180 

kiril

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Действия на время
« Reply #5 on: June 17, 2023, 12:19:59 PM »
возникает такое впечатление, что вы нейросеть на самообучении.  ;D

marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Действия на время
« Reply #6 on: June 17, 2023, 07:24:13 PM »
возникает такое впечатление, что вы нейросеть на самообучении.  ;D
Совсем не получается освоить это) Да и времени совсем нет(

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действия на время
« Reply #7 on: June 19, 2023, 09:49:49 AM »
Нет времени ответить на один вопрос? Так и должны по два варианта скрипта выкладывать?


marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Действия на время
« Reply #8 on: June 19, 2023, 06:17:46 PM »
Если при отсутствии нужного цвета, каждые 3 минуты выполнять доп. действия, то
Code: (clickermann) [Select]
$per = 180  // 3 минуты

$time = $_time_t + $per
GETSCREEN(848, 569, 848, 569)
WHILE(PXL(848, 569) ! 16777215)
    IF($time < $_time_t)
        // сделать несколько действий
        $time = $_time_t + $per
    END_IF
   
    WAITMS(100)
    GETSCREEN(848, 569, 848, 569)
END_CYC
WAIT(1)
LCLICK(634, 570)

Если выполнить только один раз через 3 минуты и больше минуты не считать, а только проверять цвет пиксела, то стр. 8 заменить на
Code: (clickermann) [Select]
$time = $_time_t + 2000000000

Выполнять нужно неограниченное количество раз.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действия на время
« Reply #9 on: June 20, 2023, 09:06:16 AM »
Выполнять нужно неограниченное количество раз.

Code: (clickermann) [Select]
$per = 180  // 3 минуты
$time = $_time_t + $per
$check = 0
WHILE($check = 0)
    GETSCREEN(1679,644, 1781,677)
    IF_PIXEL_IN(1679,644, 1781,677, 5330483)
        $check = 1
        DBLCLICK(1608,715)
        WAITMS(50)
    ELSE
        IF($time < $_time_t)
            // сделать несколько действий
            $time = $_time_t + $per
        END_IF
    END_IF
    WAITMS(50)
END_CYC
« Last Edit: June 21, 2023, 08:17:05 AM by Vint »


marusya_klimova

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Действия на время
« Reply #10 on: June 20, 2023, 08:00:03 PM »
Выполнять нужно неограниченное количество раз.

Code: (clickermann) [Select]
$time = $_time_t + 180  // 3 минуты
$check = 0
WHILE($check = 0)
    GETSCREEN(1679,644, 1781,677)
    IF_PIXEL_IN(1679,644, 1781,677, 5330483)
        $check = 1
        DBLCLICK(1608,715)
        WAITMS(50)
    ELSE
        IF($time < $_time_t)
            // сделать несколько действий
            $time = $_time_t + $per
        END_IF       
    END_IF
    WAITMS(50)
END_CYC

Что то не так(
Спустя 3 минуты доп.действия зациклились...
Наверное я не правильно сформулировал(
Доп действия (11 строка) нужно сделать 1 раз, и вернуться в начало сценария ждать пиксель.
Повторять доп. действия нужно до тех пор пока пиксель не будет найден.
Если пиксель есть, доп.действия и вовсе не нужны

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Действия на время
« Reply #11 on: June 21, 2023, 08:18:12 AM »
Что то не так(
Спустя 3 минуты доп.действия зациклились...

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