Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Evgeny 888

Pages: [1]
1
Спасибо за внятное объяснение, просто думал что при увеличении периода будет расти погрешность, 2 минуты было для тестов. в реале 30 мин. и 1 сек там ничего не решает. Ещё раз благодарю

2
Тоже здравствуйте.
Нет, вот скрипт от Кирилла с моими функционалами и убранными функциями по контролю (только старт цикла, атаки и конец "в течени") И лог где эта гадкая секунда к каждому циклу:(
Code: (clickermann) [Select]
IF($time1 < $_time_t)
   $time1 = $_time_t + 120   // условие должно сработать  повторно ч/з 2 мин
   $time2 = $_time_t + 60    //цикл выпол-ся в теч 1 мин
   LOGWRITE ("Старт")
   EXECUTE("sound\police.wav")
   
   WHILE($time2 > $_time_t)
      GETSCREEN (1450,500, 1550,620)
      IF_PIXEL_IN(1450,500, 1550,620, 61951)
         LCLICK($_return1+150, $_return2)
         LOGWRITE ("Атака")
         SOUND("sound\virus_1.wav")
         WAIT(1)
         LCLICK(500,485)  // 1 точка
         WAITMS(50)
         LCLICK(500,495)  // 1 точка
         WAITMS(50)
         LCLICK(965,630)  // 3 точка
         WAITMS(50)     
         LCLICK(970,640)  // 3 точка
         WAITMS(50)
      LCLICK(975,650)  // 3 точка
         WAITMS(50)
         LCLICK(1160,640) // 4 точка
         WAITMS(50)
         LCLICK(1165,650) // 4 точка
         WAITMS(50)
         WAIT(9)
      ELSE
         WAITMS(50)
      END_IF
     
   END_CYC
   LOGWRITE ("Конец_10")
   
END_IF

3
Кирилл, добрый день. Спасибо за то что возитесь со мной, я тут с утра тож набросал, не так элегантно как увас, но вроде работало. Но! и в моём и сейчас проверил в вашем варианте, присутствует 1 лишняя секунда в цикле ч/з 2 мин, и меня это беспокоит. Откуда она берётся и как от неё избавится?
Code: (clickermann) [Select]
IF($time1 < $_time_t) // условие должно сработать ч/з 2 мин
$time1 = $_time_t + 120   
LOGWRITE ("start")
   
   FOR($a=0, $a < 1)


      $time2 = $_time_t + 60
      WHILE($time2 > $_time_t) //условие выпол-ся в теч 1 мин
      GETSCREEN
        IF_PIXEL_IN(1450,500, 1550,620, 61951)
         LCLICK($_return1+150, $_return2)
         LOGWRITE ("Атака")
         WAIT(1)
         LCLICK(500,485)  // 1 точка
         WAITMS(50)
         LCLICK(500,495)  // 1 точка
         WAITMS(50)
         LCLICK(965,630)  // 3 точка
         WAITMS(50)     
         LCLICK(970,640)  // 3 точка
         WAITMS(50)
      LCLICK(975,650)  // 3 точка
         WAITMS(50)
         LCLICK(1160,640) // 4 точка
         WAITMS(50)
         LCLICK(1165,650) // 4 точка
         WAITMS(50)
         LCLICK(1170,660) // 4 точка
         WAIT(9)
        ELSE
         WAITMS(50)
        END_IF     
   
    END_CYC
    LOGWRITE ("end_1")

   END_CYC   

END_IF

4
Спасибо что подсказали где ошибка, был бы очень признателен за правильный вариант. как вы уже догадались чего я добиваюсь от скрипта.

5
Добрый день,
Загнал в ваш скрипт все свои действия, согл реальной ситуации, вырезал все звук эфф, добавил везде время ожидания.
И все равно скрипт работает с периодом 3 минут, против 2 заданных. по ходу в период добавляется время исполнения тела "в течении"
Где ошибка?
Code: (clickermann) [Select]
IF($time1 < $_time_t) // условие должно сработать ч/з 2 мин
   
LOGWRITE ("start")
   $time2 = $_time_t + 60
   $m = $_ms // засекаем время
   WHILE($time2 > $_time_t) //условие выпол-ся в теч 1 мин
      GETSCREEN
      IF_PIXEL_IN(1450,500, 1550,620, 61951)
         LCLICK($_return1+150, $_return2)
         LOGWRITE ("Атака")
         WAIT(1)
         DBLCLICK(500,490)  // 1 точка
         WAITMS(50)
DBLCLICK(965,630)  // 3 точка
         WAITMS(50)       
DBLCLICK(970,640)
         WAITMS(50)
DBLCLICK(975,650)  // 3 точка
         WAITMS(50)
         DBLCLICK(1160,640) // 4 точка
         WAITMS(50)
         DBLCLICK(1165,650) // 4 точка
         WAITMS(50)
DBLCLICK(1170,660)
         WAIT(9)
      ELSE
         WAITMS(50)
           
      END_IF
      LOGWRITE ("Осталось: ", $time2-$_time_t, " сек")
      WAITMS(50)
   
END_CYC
   LOGWRITE ("end_1")
   
   
$time1 = $_time_t + 120
END_IF

6
Добрый день, спасибо за ответ. Но у меня проблема с циклом через ** минут. здесь тестовый вариант ч/з 2 минуты. Не хотел беспокоить, тупо читал посты где указывалось что тема изъедена и т.п. после недельных экспериментов начало подбешивать. Делаю всё как спецы пишут, но на выходе фигня. Помогите - что не так. может прогу переустановить надо? у меня по логам период 3 минуты и 1 секунда, откуда они беруться?
Code: (clickermann) [Select]
IF($time1 < $_time_t) // условие должно сработать ч/з 2 мин
LOGWRITE ("start")
   
   
      $time2=0
      $time2 = $_time_t + 60
      WHILE($time2 > $_time_t) //условие выпол-ся в теч 1 мин
      GETSCREEN
       
IF_PIXEL_IN(1450,500, 1550,620, 61951)
         LCLICK($_return1+150, $_return2)
         LOGWRITE ("Атака")
         WAIT(1)
         LCLICK(1165,625) // 4 точка
         LCLICK(965,625)  // 3 точка
         LCLICK(965,625)  // 2 точка
         LCLICK(500,625)  // 1 точка
         WAIT(9)
        END_IF     
   
      END_CYC
      LOGWRITE ("end_1")
 
$time1 = $_time_t + 120
END_IF

7
Общие вопросы / Выполнение по времени
« on: July 15, 2018, 03:29:39 PM »
Добрый день, в программировании чистый лист, т.ч заранее извиняюсь за....
Набросал себе такое расписание, подпрограмма должна запускаться с 14:00 до 15:30 каждые 30 мин, и далее с 16:30 до 19:30 тоже самое
также 3 условия должны включиться в определённое время 16:00, 20:00 и 21:10. Что можно сделать проще и короче? Подскажите пжл.
Code: (clickermann) [Select]
[SUB(GOB) // подпрограмма
//=============================================
FOR($a=0, $a < 1)
EXECUTE("sound\police.wav")
 
   $time2=0
   $time2 = $_time_t + 600
   WHILE($time2 > $_time_t) //условие выпол-ся в теч 10 мин
   GETSCREEN
       
IF_PIXEL_IN(1450,500, 1550,620, 61951)
         LCLICK($_return1+rnd(147,151), $_return2+rnd(-1,2))
         SOUND("sound\virus_1.wav")
         print("attack")
         WAIT(1)
         LCLICK(1165,605) // 4 точка
         LCLICK(965,605)  // 3 точка
         LCLICK(965,650)  // 2 точка
         LCLICK(500,650)  // 1 точка
         WAIT(9)
        END_IF     
   
   END_CYC
print("end")
END_CYC
//=============================================
END_SUB

IF(($_time_h > 13)&($_time_h < 16)&($_time_m = 00)&($_time_s = 02))

   GOB()

END_IF

IF(($_time_h > 13)&($_time_h < 20)&($_time_m = 30)&($_time_s = 02))

   GOB()

END_IF

IF(($_time_h > 16)&($_time_h < 19)&($_time_m = 00)&($_time_s = 02))

   GOB()

END_IF


$var=0
IF(($_time_h = 16)&($_time_m = 00)&($_time_s = 02))
   $var=1
   #include "Захватчики.cms"
END_IF
WAITMS(500)

$var=0
IF(($_time_h = 20)&($_time_m = 00)&($_time_s = 02))
   $var=1
   #include "Море.cms"
END_IF


$var=0
IF(($_time_h = 21)&($_time_m = 10)&($_time_s = 02))
   $var=1
   #include "Поле_боя.cms"
END_IF
WAITMS(500)

HALT
]

Pages: [1]