Author Topic: Помогите дописать/подправить скрипт с перезагрузкой страницы (F5)  (Read 1941 times)

0 Members and 1 Guest are viewing this topic.

Lelik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Всем добра!)
Нужно действие: перезагрузки страницы (f5) если выше изложенные команды не выполняются к примеру более 5 минут.
И если видите, что я накосячил в само скрипте, то поправляйте, буду благодарен :D

Code: [Select]
check:
GETSCREEN
IF(PXL(568,358) = 4501049)
  WAIT(1)
  LCLICK(568,358)
  WAITMS(220)
  LCLICK(1254,90)
  WAITMS(220)
  KEYPRESS(#ESC)
  WAITMS(100)
Else
END_IF
IF(PXL(969,257) = 13683910)
   WAIT(1)
   LCLICK(969,257)
   WAITMS(220)
   LCLICK(1254,90)
   WAITMS(100)
Else
END_IF
IF(PXL(972,243) = 13683910)
   WAIT(1)
   LCLICK(969,257)
   WAITMS(220)
   LCLICK(1254,90)
   WAITMS(100)
Else
END_IF
IF(PXL(568,361) = 14252673)   
   WAIT(1)
   LCLICK(568,358)
   WAITMS(220)
   LCLICK(1254,90)
WAITMS(100)
Else
END_IF
IF(PXL(927,114) = 13683910)   
   WAIT(1)
   LCLICK(927,114)
   WAITMS(220)
   LCLICK(1254,90)
WAITMS(100)
Else
END_IF
IF(PXL(992,272) = 13683910)   
   WAIT(1)
   LCLICK(992,272)
   WAITMS(220)
   LCLICK(1254,90)
WAITMS(100)
Else
END_IF
IF(PXL(1055,210) = 13683910)   
   WAIT(1)
   LCLICK(1055,210)
   WAITMS(220)
LCLICK(1254,90)
WAITMS(100)
Else
END_IF
IF(PXL(924,116) = 13683910) // реклама   (сундук$)
   WAIT(1)
   LCLICK(924,116)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(973,157) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(973,157)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(970,166) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(970,166)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(1103,41) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(1103,41)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(959,171) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(959,171)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(566,366) = 13529207) // кусака ВИП
   WAIT(1)
   LCLICK(566,366)
   WAITMS(220)
   LCLICK(1254,90)
   WAITMS(100)
Else
END_IF
IF(PXL(1004,247) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(1004,247)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(970,160) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(970,160)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(985,230) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(985,230)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(1019,60) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(1019,60)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(959,273) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(959,273)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(988,215) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(988,215)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(702,358) = 4697140) // клик через окно(зелёный)
   WAIT(1)
   LCLICK(702,358)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
Else
END_IF
IF(PXL(969,260) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(969,260)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
   Else
   END_IF
IF(PXL(568,385) = 4500792) // три кнопеи (ЗЕЛ)
   WAIT(1)
   LCLICK(568,385)
   WAITMS(220)
   LCLICK(1254,90)  // 4500792
   WAITMS(100)
   Else
   END_IF
IF(PXL(1152,45) = 13683910) // реклама   (монеты)
   WAIT(1)
   LCLICK(1152,45)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
   Else
   END_IF
IF(PXL(938,198) = 13683910) // реклама   (новая)
   WAIT(1)
   LCLICK(938,198)
   WAITMS(220)
   LCLICK(1254,90)  // 15517086
   WAITMS(100)
   goto(check)
END_IF

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Закинул однотипные условия проверки пикселя в подпрограмму с параметрами. Если "else" не используется, можно не писать. В прыжке ГОТО нет смысла, если я ошибаюсь, то тебе виднее.
Code: (clickermann) [Select]
SUB(pxl_check, $x, $y, $col) // подпрограмма с параметрами
   IF(PXL($x,$y) = $col)
      WAIT(1)
      LCLICK($x,$y)
      WAITMS(220)
      LCLICK(1254,90)
      WAITMS(100)
      $time = $_time_t + 300       //если выполнилось, то сброс времени
   END_IF
END_SUB

//твой код
DEFINE($time, $_time_t + 300) //$time = $_time_t + 300 , выполнится один раз  в начале выполнения
GETSCREEN
IF(PXL(568,358) = 4501049)
   WAIT(1)
   LCLICK(568,358)
   WAITMS(220)
   LCLICK(1254,90)
   WAITMS(220)
   KEYPRESS(#ESC)
   WAITMS(100)
END_IF

pxl_check(969,257,13683910)   //вызов подпрограммы с различными параметрами (x, y, color)
pxl_check(972,243,13683910)
pxl_check(568,361,14252673)
pxl_check(927,114,13683910)
pxl_check(992,272,13683910)
pxl_check(1055,210,13683910)
pxl_check(924,116,13683910)
pxl_check(973,157,13683910)
pxl_check(970,166,13683910)
pxl_check(1103,41,13683910)
pxl_check(959,171,13683910)
pxl_check(566,366,13529207)
pxl_check(1004,247,13683910)
pxl_check(970,160,13683910)
pxl_check(985,230,13683910)
pxl_check(1019,60,13683910)
pxl_check(959,273,13683910)
pxl_check(988,215,13683910)
pxl_check(702,358,4697140)
pxl_check(969,260,13683910)
pxl_check(568,385,4500792)
pxl_check(1152,45,13683910)
pxl_check(938,198,13683910)

IF($time < $_time_t)    //если пять минут без выполнения условий
   
   KEYPRESS(#F5)
   //тут либо цикл ожидания загрузки страницы, либо просто ожидание приблизотельное.
   wait(10) //к примеру 10 сек
   $time = $_time_t + 300
   
END_IF

Lelik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Спасибо за помощь, но что то не так, обновление страницы происходит само по себе ........  А необходимо чтобы обновление страницы происходило при простое всех команд от 5 мину. такое возможно?

Lelik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
да, работает верно, проверял.
 Суть скрипта: при появление заданного пикселя происходит клик по нему, потом клик в стороне экрана. Если в течение 5 минут не происходит клики(зависла страница или появилась реклама) то необходима перезагрузка страницы , дабы вся процедура началась заново.
а тут происходит произвольная перезагрузка, даже после клика

Lelik

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Code: (clickermann) [Select]
SUB(pxl_check, $x, $y, $col) // подпрограмма с параметрами
   GETSCREEN($x-1,$y-1,$x+1,$y+1)      // возможно графический буфер нужно обновлять?
   IF(PXL($x,$y) = $col)
      WAIT(1)
      LCLICK($x,$y)
      WAITMS(220)
      LCLICK(1254,90)
      WAITMS(100)
      $time = $_time_t + 300       //если выполнилось, то сброс времени
   Else
IF($time2 < $_time_t)
   // условие сработает снова через 0.5 сек
   HINTPOPUP($time-$_time_t, " секунд до обновления ")
   $time2 = $_time_t + 0.5
END_IF
   
     
     
   END_IF
END_SUB

//твой код
DEFINE($time, $_time_t + 300) //$time = $_time_t + 300 , выполнится один раз  в начале выполнения
GETSCREEN
IF(PXL(568,358) = 4501049)
   WAIT(1)
   LCLICK(568,358)
   WAITMS(220)
   LCLICK(1254,90)
   WAITMS(220)
   KEYPRESS(#ESC)
   WAITMS(100)
   $time = $_time_t + 300       //только эта "команда" не обновляла таймер
END_IF

pxl_check(969,257,13683910)   //вызов подпрограммы с различными параметрами (x, y, color)
pxl_check(972,243,13683910)
pxl_check(568,361,14252673)
pxl_check(927,114,13683910)
pxl_check(992,272,13683910)
pxl_check(1055,210,13683910)
pxl_check(924,116,13683910)
pxl_check(973,157,13683910)
pxl_check(970,166,13683910)
pxl_check(1103,41,13683910)
pxl_check(959,171,13683910)
pxl_check(566,366,13529207)
pxl_check(1004,247,13683910)
pxl_check(970,160,13683910)
pxl_check(985,230,13683910)
pxl_check(1019,60,13683910)
pxl_check(959,273,13683910)
pxl_check(988,215,13683910)
pxl_check(702,358,4697140)
pxl_check(969,260,13683910)
pxl_check(568,385,4500792)
pxl_check(1152,45,13683910)
pxl_check(938,198,13683910)

IF($time < $_time_t)    //если пять минут без выполнения условий
   LOGWRITE ("команды не выполняются 5 минут")   
   KEYPRESS(#F5)
   //тут либо цикл ожидания загрузки страницы, либо просто ожидание приблизотельное.
   wait(10) //к примеру 10 сек
   $time = $_time_t + 300
   LOGWRITE ("обновление страницы завершено")
END_IF


Благодарю! Вот это заработал как надо! Спасибо большое за помощь Всем!