Author Topic: Условия, прошу помощи  (Read 1861 times)

0 Members and 1 Guest are viewing this topic.

Inspaer90

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Условия, прошу помощи
« on: April 17, 2019, 06:31:55 PM »
Всем доброго дня. Написал скрипт, работает норм, но иногда виснет программа, в которой скрипт выполняется. Надо написать условие, при котором в случае задержки выполнения скрипта более чем на 2 минуты, срабатывало другое действие (EXECUTE("TASKKILL","/F /bluestacks.exe")

Code: [Select]
Waitms(1000)

move(348,188)
LCLICK(348,188)
WAITms(1700)
           
LCLICK(263,154)
WAITms(1000)
KEYSTRING("drilla.page.link/zwAvb")
WAITms(1500)
KEYPRESS(#ENTER)

GETSCREEN //ждем кнопку "УСТАНОВИТЬ"
WHILE(PXL (875, 350) ! 6260481)
   WAITMS (100)
   GETSCREEN
END_CYC
waitms(1000)

move(591,25)
wait(1)
lclick(591,25)
wait(1)

lclick(875,350)
waitms(2000)
lclick(320,30)
waitms(500)


GETSCREEN //запускаем игру
WHILE(PXL (498, 184) ! 16777215)
   WAITMS (300)
   GETSCREEN
END_CYC   
waitms(400)
lclick(498,184)


GETSCREEN  //ждем кнопку "начать заново"
WHILE(PXL (712, 764) ! 598669)
   WAITMS (100)
   GETSCREEN
END_CYC
waitms(2000)
lclick(712,764)//начать заново
waitms(2000)

move(714,682)
waitms(100)
lclick(714,682)
//жмем зеленую кнопку ДАЛЬШЕ
GETSCREEN //ДАЛЬШЕ
WHILE(PXL (650, 750) ! 3196008)
   WAITMS (300)
   GETSCREEN
END_CYC   
waitms(1000)
lclick(650,750)

//ждем кнопку батареи
GETSCREEN
WHILE(PXL (889,680) ! 7449086)
   WAITMS (300)
   GETSCREEN
END_CYC   
waitms(1000)
lclick(889,680)
wait(1)
dblclick(889,680)
 
 waitms(3000)
 move(590,26) //курсор на закрытие хрома
 waitms(200)
 lclick(590,25)
 waitms(1000)
 lclick(590,25)
 waitms(1000)
 lclick(590,25)
 waitms(1300)
 move(468,188)
 waitms(500)
LDOWN(468,188)
waitms(1600)
LUP(468,188)
waitms(200)
move(426,145)
lclick(426,145)
waitms(300)
lclick(837,482)//подтверждение удаления игры
waitms(1000)
lclick(34,227) //переход в ТВИКЕР

lclick(103,56)
 wait(1)
 lclick(615,251)
 wait(2)
lclick(179,54)
wait(1)
lclick(385,238)//random
waitms(300)
lclick(613,242)// apply
wait(3)
move(51,51) //главная
lclick(51,51)
waitms(500)
lclick(51,51)
waitms(500)
MOVE(510,180) //full stop BS
waitms(200)
lclick(510,180)

// ждем появления рабочего стола? тоесть закрытия BS
GETSCREEN
WHILE(PXL (868, 305) ! 16294657)
   WAITMS (500)
   GETSCREEN
END_CYC
wait(2)
lclick(542,122) //запуск BS

GETSCREEN
WHILE(PXL (350, 186) ! 16091980)
   WAITMS (500)
   GETSCREEN
END_CYC

Помогите, пожалуйста. Голова кипит, сил нет понимать "время"

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Условия, прошу помощи
« Reply #1 on: April 17, 2019, 06:59:02 PM »
То есть весь скрипт от начала до конца выполняется менее чем 2 минуты, а тебе нужно если дольше то перезапускать все?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Условия, прошу помощи
« Reply #2 on: April 17, 2019, 07:09:29 PM »
Code: (clickermann) [Select]
WAIT(1)
IF($_time_t-$sav_t > 120) // если скрипт выполняется свыше 120 секунд
   SETTHREAD (main, 2) // останавливаем выполнение потока main
   EXECUTE("TASKKILL","/F /bluestacks.exe") // прибиваем процесс
   WAIT(2)
   // далее пишем действия по запуску процесса
   
   SETTHREAD (main, 1) // запускаем поток main (выполнение начнется сначала)
END_IF

THREAD(main, 1)
   $sav_t = $_time_t // засекаем время
   
   Waitms(1000)
   
   move(348,188)
   LCLICK(348,188)
   WAITms(1700)
   
   LCLICK(263,154)
   WAITms(1000)
   KEYSTRING("drilla.page.link/zwAvb")
   WAITms(1500)
   KEYPRESS(#ENTER)
   
   GETSCREEN //ждем кнопку "УСТАНОВИТЬ"
   WHILE(PXL (875, 350) ! 6260481)
      WAITMS (100)
      GETSCREEN
   END_CYC
   waitms(1000)
   
   move(591,25)
   wait(1)
   lclick(591,25)
   wait(1)
   
   lclick(875,350)
   waitms(2000)
   lclick(320,30)
   waitms(500)
   
   
   GETSCREEN //запускаем игру
   WHILE(PXL (498, 184) ! 16777215)
      WAITMS (300)
      GETSCREEN
   END_CYC
   waitms(400)
   lclick(498,184)
   
   
   GETSCREEN  //ждем кнопку "начать заново"
   WHILE(PXL (712, 764) ! 598669)
      WAITMS (100)
      GETSCREEN
   END_CYC
   waitms(2000)
   lclick(712,764)//начать заново
   waitms(2000)
   
   move(714,682)
   waitms(100)
   lclick(714,682)
   //жмем зеленую кнопку ДАЛЬШЕ
   GETSCREEN //ДАЛЬШЕ
   WHILE(PXL (650, 750) ! 3196008)
      WAITMS (300)
      GETSCREEN
   END_CYC
   waitms(1000)
   lclick(650,750)
   
   //ждем кнопку батареи
   GETSCREEN
   WHILE(PXL (889,680) ! 7449086)
      WAITMS (300)
      GETSCREEN
   END_CYC
   waitms(1000)
   lclick(889,680)
   wait(1)
   dblclick(889,680)
   
   waitms(3000)
   move(590,26) //курсор на закрытие хрома
   waitms(200)
   lclick(590,25)
   waitms(1000)
   lclick(590,25)
   waitms(1000)
   lclick(590,25)
   waitms(1300)
   move(468,188)
   waitms(500)
   LDOWN(468,188)
   waitms(1600)
   LUP(468,188)
   waitms(200)
   move(426,145)
   lclick(426,145)
   waitms(300)
   lclick(837,482)//подтверждение удаления игры
   waitms(1000)
   lclick(34,227) //переход в ТВИКЕР
   
   lclick(103,56)
   wait(1)
   lclick(615,251)
   wait(2)
   lclick(179,54)
   wait(1)
   lclick(385,238)//random
   waitms(300)
   lclick(613,242)// apply
   wait(3)
   move(51,51) //главная
   lclick(51,51)
   waitms(500)
   lclick(51,51)
   waitms(500)
   MOVE(510,180) //full stop BS
   waitms(200)
   lclick(510,180)
   
   // ждем появления рабочего стола? тоесть закрытия BS
   GETSCREEN
   WHILE(PXL (868, 305) ! 16294657)
      WAITMS (500)
      GETSCREEN
   END_CYC
   wait(2)
   lclick(542,122) //запуск BS
   
   GETSCREEN
   WHILE(PXL (350, 186) ! 16091980)
      WAITMS (500)
      GETSCREEN
   END_CYC
END_THREAD

Inspaer90

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Условия, прошу помощи
« Reply #3 on: April 18, 2019, 04:17:57 PM »
Большущее спасибо за уделенное время и такой развернутый ответ. Буду разбираться в потоках)