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 - Viktor77

Pages: [1] 2 3 ... 8
1
Общие вопросы / Re: цикл
« on: May 05, 2021, 03:38:11 PM »
Чтобы такое сделать нужно всего лишь каждое утро выпивать одну ложку...  не писать лишнего.
Вот зачем здесь циклы? Они ведь даже подписаны -  "сдерживает". Понятно, что если не нужно сдерживать, то и циклы не нужны.
Code: (clickermann) [Select]
IF(($_time_h = 10)&($_time_m = 10))
// скрипт 1
END_IF

IF(($_time_h = 12)&($_time_m = 10))
// скрипт 2
END_IF

IF(($_time_h = 15)&($_time_m = 10))
// скрипт 3
END_IF

IF(($_time_h = 17)&($_time_m = 10))
// скрипт 4
END_IF

IF(($_time_h = 19)&($_time_m = 10))
// скрипт  5
END_IF
WAIT(1)

будет ли работать такой скрипт корректно? в скриптах 1-5 присутствуют циклы.
Code: (clickermann) [Select]
IF(($_time_h = 10)&($_time_m = 10))
   // скрипт 1
   $check2=0
   WHILE($check2=0)
      GETSCREEN
      colormode(8)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "111.bmp", -1, 100)
         LCLICK($_return1+30, $_return2+10)
         WAITMS(1000)
         картинка(0,0, $_xmax,$_ymax, "112.bmp",2,2, 1000,8)
         картинка(0,0, $_xmax,$_ymax, "113.bmp",2,2, 1000,8)
         GETSCREEN
         colormode(8)
         IF_PICTURE_IN (472,473,557,510, "235.bmp", -1, 100)
            $check2=1
            move($_return1, $_return2)
            WAITMS(1000)
         END_IF
      END_IF
   END_CYC
END_IF

IF(($_time_h = 12)&($_time_m = 10))
   // скрипт 2
   GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "88.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(3000)
   END_IF
   GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "89.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(3000)
   END_IF
   GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "90.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(3000)
   END_IF
   WAITMS(1000)
   $time_check = 0
   WHILE($time_check = 0)
      IF(($_time_h = 12)&($_time_m = 30))
         $time_check = 1
         клик(1271,785,5000)
         клик(521,780,3000)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            COLORMODE(8)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "101.bmp", -1, 100)
               $check = 1
               MOVE($_return1, $_return2)
               WAITMS(3000)
            ELSE
               WAITMS(50)
            END_IF
         END_CYC
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "102.bmp", -1, 100)
            LCLICK($_return1+10, $_return2+8)
            WAITMS(3000)
            GETSCREEN
            COLORMODE(8)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "кт.bmp", -1, 100)
               LCLICK($_return1+30, $_return2+10)
               WAITMS(3000)
            END_IF
         END_IF
         WAITMS(1000)
         клик(445,780,3000)
         $check = 0
         WHILE($check = 0)
            GETSCREEN
            COLORMODE(8)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "колесо.bmp", -1, 100)
               $check = 1
               MOVE($_return1, $_return2)
               WAITMS(3000)
            ELSE
               WAITMS(50)
            END_IF
         END_CYC
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "галка.bmp", -1, 100)
            LCLICK($_return1+10, $_return2+8)
            WAITMS(3000)
            GETSCREEN
            COLORMODE(8)
            IF_PICTURE_IN (0,0, $_xmax,$_ymax, "крутить колесо захват.bmp", -1, 100)
               LCLICK($_return1+30, $_return2+10)
               WAITMS(3000)
            END_IF
         END_IF
         WAITMS(1000)
      END_IF
   END_CYC
END_IF

IF(($_time_h = 15)&($_time_m = 10))
   // скрипт 3
END_IF

IF(($_time_h = 17)&($_time_m = 10))
   // скрипт 4
END_IF

IF(($_time_h = 19)&($_time_m = 10))
   // скрипт  5
END_IF
WAIT(1)

2
Общие вопросы / Re: цикл
« on: May 04, 2021, 11:53:16 PM »
Какое условие не выполняется?
Добрый вечер. а вот подскажите как реализовать такое: есть 5 таймеров со своими скриптами, и как можно сделать чтоб независимо от запуска, шла проверка времени. т.е. запустил скрипт 15,00 и стартовало с 15,10 т.е. с 3 таймера

Code: (clickermann) [Select]
$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
   IF(($_time_h = 10)&($_time_m = 10))
      $time_check = 1
      // скрипт 1
     
   END_IF
END_CYC

$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
   IF(($_time_h = 12)&($_time_m = 10))
      $time_check = 1
      // скрипт 2
     
   END_IF
END_CYC

$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
   IF(($_time_h = 15)&($_time_m = 10))
      $time_check = 1
      // скрипт 3
     
   END_IF
END_CYC

$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
   IF(($_time_h = 17)&($_time_m = 10))
      $time_check = 1
      // скрипт 4
     
   END_IF
END_CYC

$time_check = 0
WHILE($time_check = 0) // Цикл сдерживает выполнение до указанного времени
   IF(($_time_h = 19)&($_time_m = 10))
      $time_check = 1
      // скрипт  5
     
   END_IF
END_CYC
HALT

3
Общие вопросы / Re: цикл
« on: May 01, 2021, 11:50:11 PM »
Какое условие не выполняется?
чтобы выходил из цикла через 10 минут, и продолжал дальше скрипт

4
Общие вопросы / цикл
« on: April 27, 2021, 04:46:03 PM »
подскажите как можно в таком цикле добавить еще условие, если условие не выполняется в течении 10 минут, выйти и выполнять дальше скрипт.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      wait(1000)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", -1, 100)
         $check=1
         MOVE($_return1, $_return2)
         WAITMS(3000)
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "3.bmp", -1, 100)
            LCLICK($_return1, $_return2)
            wait(1000)
         END_IF
      else
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "4.bmp", -1, 100)
            LCLICK($_return1, $_return2)
            wait(1000)
         END_IF
      END_IF
   END_IF
END_CYC
HALT

5
Общие вопросы / Re: Работа с ссылками
« on: November 15, 2020, 07:10:50 AM »
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
основной скрипт
Code: (clickermann) [Select]
LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
лог(STRCONCAT("Запуск ")) // комбинированная запись
клик(1271,1002,5000)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   лог(STRCONCAT("Текущий аккаунт: ", $akk))
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   EXECUTE("Browser.exe")
   WAIT(10)
   IF($akk < 5)
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 1)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "1.bmp", - 1, 100)
         MOVE($_return1,$_return2)
         WAIT(1)
      ELSE
         GETSCREEN
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
            LCLICK($_return1,$_return2)
            WAIT(1)
         END_IF
      END_IF
      LCLICK(505,345) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAIT(10)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "5.bmp", - 1, 100)
         LCLICK($_return1,$_return2)  // если 5 найдена то продолжать, если нет перелогинится
         WAIT(1)
      END_IF
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (5)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"9.bmp",2,2,2000)// 9   крестик флеша
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(20)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "10.bmp", - 1, 100) //проверка на сбой
            клик($_return1,$_return2,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(20)
               картинка(0,0,$_xmax,$_ymax,"10.bmp",1,1,2000)
            END_CYC
         END_IF
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"13.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"14.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"18.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"22.bmp",2,2,2000)
         картинка(430,250,585,390,"23.bmp",2,60,2000)
         картинка(500,465,635,610,"24.bmp",2,60,2000)
         картинка(0,0,$_xmax,$_ymax,"25.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"26.bmp",100,53,2000)
         картинка(0,0,$_xmax,$_ymax,"27.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"28.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "40.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "41.bmp", - 1, 100)
            клик($_return1+2, $_return2+2,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "42.bmp", - 1, 100)
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            COLORMODE(8)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "43.bmp", - 1, 100)
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "44.bmp",5,5,2000)
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "45.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "46.bmp", - 1, 100)
            MOVE($_return1+1, $_return2+1)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
         
         $older = 10  // старее N дней
         
         IF($sgfvkvjgka = 0)
            STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
            $sgfvkvjgka = 1
         END_IF
         
         SUB(day_of_year, $dy_d, $dy_m, $dy_y)
            $fdm = 0
            FOR($dyi=0, $dyi < ($dy_m-1))
               $fdm = $fdm + $md[$dyi]
            END_CYC
            $full_day = $dy_y*365 + $fdm + $dy_d
         END_SUB
         
         
         day_of_year($_date_d, $_date_m, $_date_y)
         $cur_day = $full_day
         
         GETDIRLIST($twins, "C:\files\twin*")
         FOR($tw=0, $tw < ARRSIZE($twins))
            $twin = $twins[$tw]
            LOGWRITE($twin)
           
            $mask = STRCONCAT("C:\files\", $twin, "\*")
            GETDIRLIST($dirs, $mask)
            FOR($i=0, $i < ARRSIZE($dirs))
               $dir = $dirs[$i]
               STRSEPARATE($dir, "-", $dat)
               day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
               $folder_day = $full_day
               
               IF(($cur_day - $folder_day) > $older-1)
                  $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
                  FDELETE($fullname)
                  LOGWRITE("   ├─", $dir, "   Old  ", $fullname)
               ELSE
                  LOGWRITE("   ├─", $dir)
                  //LOGWRITE("   ├─", $dir, "   Ok")
               END_IF
            END_CYC
            //LOGWRITE()
         END_CYC
         
         WAIT(1)
         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         картинка(0,0,$_xmax,$_ymax,"47.bmp",2,2,2000)
         картинка(450,580,540,625,"48.bmp",5,5,2000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,7000)
         картинка(0,0,$_xmax,$_ymax,"50.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"51.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"52.bmp",1,1,2000)
         картинка(785,370,$_xmax,$_ymax,"54.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"55.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"56.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"57.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"59.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"63.bmp",1,1,2000)
      END_CYC
      лог(STRCONCAT("1")) // комбинированная запись
     
      WAIT(5)
   else
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      WAITMS (500)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "3.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      WAITMS (500)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "4.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      WAITMS (5000)
      LCLICK(355,236) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      WAITMS (1000)
      TOCLIP($pass) // скопировать в пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAIT(10)
     
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "6.bmp", - 1, 100)
         LCLICK($_return1,$_return2)  // если 6 найдена, перелогинится
         WAIT(1)
      END_IF
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         KEYPRESS(#ENTER)
         WAIT (10)
         // тут команды после тоже самое что и выше только добалено поиск еще картинок
         картинка(0,0,$_xmax,$_ymax,"9.bmp",2,2,2000)    //9 крест флеш
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(20)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "10.bmp", - 1, 100) //10
            клик($_return1,$_return2,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(20)
               картинка(0,0,$_xmax,$_ymax,"10.bmp",1,1,2000)
            END_CYC
         END_IF
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"16.bmp",7,10,2000)
         картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"22.bmp",2,2,2000)
         картинка(430,250,585,390,"23.bmp",2,60,2000)
         картинка(500,465,635,610,"24.bmp",2,60,2000)
         картинка(0,0,$_xmax,$_ymax,"25.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"26.bmp",100,53,2000)
         картинка(0,0,$_xmax,$_ymax,"27.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"28.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,5000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"13.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"14.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "32.bmp",1,1, 2000)
         картинка(0,0,$_xmax,$_ymax, "33.bmp",0,0, 5000)
         ожидание_картинки(0,0,$_xmax,$_ymax,"34.bmp",100,0,0,2000)
         картинка(0,0,$_xmax,$_ymax, "36.bmp",0,0, 2000)
         картинка(0,0,$_xmax,$_ymax, "37.bmp",54,0, 2000)
         KEYPRESS(#9)
         WAITMS(2000)
         картинка(0,0,$_xmax,$_ymax, "38.bmp",0,0, 2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "39.bmp", - 1, 100)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax, "40.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "41.bmp", - 1, 100)
            клик($_return1+2, $_return2+2,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "42.bmp", - 1, 100)
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            COLORMODE(8)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "43.bmp", - 1, 100)
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "44.bmp",5,5,2000)
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "45.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         COLORMODE(8)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "46.bmp", - 1, 100)
            MOVE($_return1+1, $_return2+1)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
         
         $older = 10  // старее N дней
         
         IF($sgfvkvjgka = 0)
            STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
            $sgfvkvjgka = 1
         END_IF
         
         SUB(day_of_year, $dy_d, $dy_m, $dy_y)
            $fdm = 0
            FOR($dyi=0, $dyi < ($dy_m-1))
               $fdm = $fdm + $md[$dyi]
            END_CYC
            $full_day = $dy_y*365 + $fdm + $dy_d
         END_SUB
         
         
         day_of_year($_date_d, $_date_m, $_date_y)
         $cur_day = $full_day
         
         GETDIRLIST($twins, "C:\files\twin*")
         FOR($tw=0, $tw < ARRSIZE($twins))
            $twin = $twins[$tw]
            LOGWRITE($twin)
           
            $mask = STRCONCAT("C:\files\", $twin, "\*")
            GETDIRLIST($dirs, $mask)
            FOR($i=0, $i < ARRSIZE($dirs))
               $dir = $dirs[$i]
               STRSEPARATE($dir, "-", $dat)
               day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
               $folder_day = $full_day
               
               IF(($cur_day - $folder_day) > $older-1)
                  $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
                  FDELETE($fullname)
                  LOGWRITE("   ├─", $dir, "   Old  ", $fullname)
               ELSE
                  LOGWRITE("   ├─", $dir)
                  //LOGWRITE("   ├─", $dir, "   Ok")
               END_IF
            END_CYC
            //LOGWRITE()
         END_CYC
         
         WAIT(1)
         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         
         картинка(0,0,$_xmax,$_ymax,"47.bmp",2,2,2000)
         картинка(450,580,540,625,"48.bmp",5,5,2000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"49.bmp",2,2,3000)
         картинка(0,0,$_xmax,$_ymax,"12.bmp",2,2,7000)
         картинка(0,0,$_xmax,$_ymax,"50.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"51.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"52.bmp",1,1,2000)
         картинка(785,370,$_xmax,$_ymax,"54.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"55.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"56.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"57.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"59.bmp",1,1,2000)
         картинка(0,0,$_xmax,$_ymax,"63.bmp",1,1,2000)
         
         лог(STRCONCAT("")) // комбинированная запись
      END_CYC
   END_IF
   IF($akk < 5)
      //выход
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "60.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(2)
      END_IF
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "61.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(10)
      END_IF
      WAIT(5)
      close()
      WAIT(5)
     
   ELSE
      //выход
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER)
      WAIT (3)
      KEYPRESS(#PAGEDOWN)
      WAITMS (2000)
      GETSCREEN
      COLORMODE(8)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "62.bmp", - 1, 100)
         LCLICK($_return1,$_return2)
         WAIT(10)
      END_IF
      WAIT(5)
      close()
      WAIT(5)
   END_IF
   лог(STRCONCAT("2")) // комбинированная запись
END_CYC
END_THREAD

6
Общие вопросы / Re: Работа с ссылками
« on: November 15, 2020, 07:09:35 AM »
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
сами подпрограммы
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) //========== клик =================
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
//========= поиск картинки ====================================
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   COLORMODE(8)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
//============ ожидание картинки ==============================
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      COLORMODE(8)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  34.bmp
         клик(309,595,2000) // 35 сменить главу
      END_IF
   END_CYC
END_SUB
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
SUB(close) //========== Закрыть ==============================
   KEYDOWN(#CTRL) // Ctrl+F4
   WAITMS(50)
   KEYPRESS(#F4)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(500)
END_SUB
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================

7
Общие вопросы / Re: Работа с ссылками
« on: November 15, 2020, 04:58:22 AM »
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
помогите дописать скрипт.
Code: (clickermann) [Select]
//проверка на сбои прерывания сессии или слетел флеш плеер. проверять до конца сценария. так же проверить прошла авторизация или нет, если нет перелогинится, и подсчет стадий выполнения всех действий. за ранее спасибо за помощь
THREAD(t1)
// основной скрипт ниже
END_THREAD
THREAD(t2)// приостановить поток t1 и запустить t2 в 12.00
//здесь действия t2
END_THREAD
 // продолжить выполение потока t1
THREAD(t3)// приостановить поток t1 и запустить t3 в 14.00
//здесь действия t3
END_THREAD
 // продолжить выполение потока t1
THREAD(t4)// приостановить поток t1 и запустить t4 в 17.00
//здесь действия t4
END_THREAD
// продолжить выполение потока t1
Halt

8
Общие вопросы / Re: Работа с ссылками
« on: November 09, 2020, 05:34:00 PM »
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
сейчас код останавливается на 180 строке, заходит на акк и стоп. без потока все работало
Code: (clickermann) [Select]
THREAD(t1)
   //здесь весь основной скрипт
   
   //=============================================
   SUB(клик,$par1,$par2,$par3) //========== клик =================
      LCLICK($par1,$par2)
      WAITMS($par3)
   END_SUB
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   //========= поиск картинки ====================================
   SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
      GETSCREEN($par4,$par5,$par6,$par7)
      IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
         $check = 1
         клик($_return1+$par9,$_return2+$par10,$par11)
      END_IF
   END_SUB
   //============ ожидание картинки ==============================
   SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
      $check = 0
      WHILE($check = 0)
         GETSCREEN($par21,$par22,$par23,$par24)
         IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
            $check = 1
            клик($_return1+$par27,$_return2+$par28,$par29)
         ELSE    // если не найдена  11.bmp
            клик(309,610,2000) // сменить главу
         END_IF
      END_CYC
   END_SUB
   //=============================================
   SUB(paste) //========== Вставить ==============================
      KEYDOWN(#CTRL) // Ctrl+V
      WAITMS(50)
      KEYPRESS(#V)
      WAITMS(50)
      KEYUP(#CTRL)
      WAITMS(2000)
   END_SUB
   //=============================================
   //=============================================
   SUB(лог,$note) //=============== Запись в лог файл =============
      IF($note = "пробел")
         LOGWRITE (" ")
         TFWRITE("Log.txt", " ")
      ELSE
         $th = $_time_h
         $tm = $_time_m
         $ts = $_time_s
         $dd = $_date_d
         $dm = $_date_m
         $dy = $_date_y
         
         IF(STRLEN($th)<2)
            $th = STRCONCAT ("0", $th)
         END_IF
         IF(STRLEN($tm)<2)
            $tm = STRCONCAT ("0", $tm)
         END_IF
         IF(STRLEN($ts)<2)
            $ts = STRCONCAT ("0", $ts)
         END_IF
         IF(STRLEN($dd)<2)
            $dd = STRCONCAT ("0", $dd)
         END_IF
         IF(STRLEN($dm)<2)
            $dm = STRCONCAT ("0", $dm)
         END_IF
         IF(STRLEN($dy)<2)
            $dy = STRCONCAT ("0", $dy)
         END_IF
         LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
         TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
      END_IF
   END_SUB
   //=============================================
   SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
      GETFILELIST($Letters_arr, "Letters\*.bmp")
      FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
         STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
         SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
         UNDEFINE($a_l)
         FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
            ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
            ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
         END_CYC
         UNDEFINE($ARR_SCAN)
      END_CYC
      $siz = ARRSIZE($ARR_OUT)
      $srtcheck = 0
      $srt = 0
      FOR($a=$siz-2,($a>0)&($srt=0),-2)
         FOR($b=0,$b<$a,2)
            IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
               $srtcheck = 1
               $tmp = $ARR_OUT[$b]
               $tmp2 = $ARR_OUT[$b+1]
               $ARR_OUT[$b] = $ARR_OUT[$b+2]
               $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
               $ARR_OUT[$b+2] = $tmp
               $ARR_OUT[$b+3] = $tmp2
            END_IF
         END_CYC
         IF($srtcheck = 0)
            $srt = 1
         END_IF
      END_CYC
      $str = ""
      FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
         IF(STRLEN($str) > 0)
            IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
               $str = STRCONCAT($str, " ")
            END_IF
            $str = STRCONCAT($str, $ARR_OUT[$a+1])
         ELSE
            $str = $ARR_OUT[$a+1]
         END_IF
      END_CYC
      UNDEFINE($ARR_OUT)
      UNDEFINE($ARR_SCAN)
   END_SUB
   //=============================================
   LOGCLEAR
   TFCLEAR("Log.txt", 0)
   WAITMS(50)
   LOGWRITE("")
   WAITMS(50)
   лог(STRCONCAT("")) // комбинированная запись
   
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(635,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (15000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(0,0,$_xmax,$_ymax,"38.bmp",1,1,15000)
         END_IF
         LCLICK(505,345) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (30)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
   WAIT(3)
END_THREAD

// проверки Error
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      шаг($_return1, $_return2,2000)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      GETSCREEN
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp",-1,100)
         шаг($_return1, $_return2,2000)
      END_IF
      WAITMS(500)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Adobe Flash Player color7.bmp", -1, 100)
         шаг($_return1, $_return2,2000)
         SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
         //здесь действия по перезапуску игры
         KEYPRESS(#F5)  // обновить страницу
         WAIT(20)
         GETSCREEN
         IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp",-1,100)
            шаг($_return1, $_return2,3000)
         END_IF
      END_IF
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   END_IF
   SETTHREAD(t1,1) //снимаем поток t1 с паузы
   WAIT(60) //периодичность проверки на error

halt

9
Общие вопросы / Re: Работа с ссылками
« on: November 09, 2020, 04:57:24 PM »
Не работает - растянутое понятие.

Где у тебя основной поток видишь? Там одна Команда HALT она останавливает весь скрипт.
Убери поток t2 пусть он будет основным (не надо его явно задавать THREAD(t2)...). Он у тебя не управляется, значит и запихивать код в поток нет смысла.
подскажите пожалуйста как добавить еще такое, чтоб поток приостанавливался в 13.00, делал некоторые действия, после продолжал основной код t1, тормозил в 16.00 снова делал некоторые действия и снова продолжал основной код t1

10
Общие вопросы / Re: Работа с ссылками
« on: November 08, 2020, 05:59:59 PM »
В каждом потоке нужно прописывать вызываемые подпрограммы. Если подпрограмма находится вне потока, то в потоке ее не вызвать.

Пример:
Code: (clickermann) [Select]
SUB(test, $par1)
   print($par1)
END_SUB

test("test вне потока")  //работатет

THREAD(name, 1)
   test("test в потоке")  //не работает
   
   SUB(test_thread, $par2)
      print($par2)
   END_SUB
   
   test_thread("test_thread в потоке")  //работает
   
   wait(1)
END_THREAD

halt
так тоже не работает
Code: (clickermann) [Select]
THREAD(t1)
   //здесь весь основной скрипт
   
   //=============================================
   SUB(клик,$par1,$par2,$par3) //========== клик =================
      LCLICK($par1,$par2)
      WAITMS($par3)
   END_SUB
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   //========= поиск картинки ====================================
   SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
      GETSCREEN($par4,$par5,$par6,$par7)
      IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
         $check = 1
         клик($_return1+$par9,$_return2+$par10,$par11)
      END_IF
   END_SUB
   //============ ожидание картинки ==============================
   SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
      $check = 0
      WHILE($check = 0)
         GETSCREEN($par21,$par22,$par23,$par24)
         IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
            $check = 1
            клик($_return1+$par27,$_return2+$par28,$par29)
         ELSE    // если не найдена  11.bmp
            клик(309,610,2000) // сменить главу
         END_IF
      END_CYC
   END_SUB
   //=============================================
   SUB(paste) //========== Вставить ==============================
      KEYDOWN(#CTRL) // Ctrl+V
      WAITMS(50)
      KEYPRESS(#V)
      WAITMS(50)
      KEYUP(#CTRL)
      WAITMS(2000)
   END_SUB
   //=============================================
   //=============================================
   SUB(лог,$note) //=============== Запись в лог файл =============
      IF($note = "пробел")
         LOGWRITE (" ")
         TFWRITE("Log.txt", " ")
      ELSE
         $th = $_time_h
         $tm = $_time_m
         $ts = $_time_s
         $dd = $_date_d
         $dm = $_date_m
         $dy = $_date_y
         
         IF(STRLEN($th)<2)
            $th = STRCONCAT ("0", $th)
         END_IF
         IF(STRLEN($tm)<2)
            $tm = STRCONCAT ("0", $tm)
         END_IF
         IF(STRLEN($ts)<2)
            $ts = STRCONCAT ("0", $ts)
         END_IF
         IF(STRLEN($dd)<2)
            $dd = STRCONCAT ("0", $dd)
         END_IF
         IF(STRLEN($dm)<2)
            $dm = STRCONCAT ("0", $dm)
         END_IF
         IF(STRLEN($dy)<2)
            $dy = STRCONCAT ("0", $dy)
         END_IF
         LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
         TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
      END_IF
   END_SUB
   //=============================================
   SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
      GETFILELIST($Letters_arr, "Letters\*.bmp")
      FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
         STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
         SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
         UNDEFINE($a_l)
         FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
            ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
            ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
         END_CYC
         UNDEFINE($ARR_SCAN)
      END_CYC
      $siz = ARRSIZE($ARR_OUT)
      $srtcheck = 0
      $srt = 0
      FOR($a=$siz-2,($a>0)&($srt=0),-2)
         FOR($b=0,$b<$a,2)
            IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
               $srtcheck = 1
               $tmp = $ARR_OUT[$b]
               $tmp2 = $ARR_OUT[$b+1]
               $ARR_OUT[$b] = $ARR_OUT[$b+2]
               $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
               $ARR_OUT[$b+2] = $tmp
               $ARR_OUT[$b+3] = $tmp2
            END_IF
         END_CYC
         IF($srtcheck = 0)
            $srt = 1
         END_IF
      END_CYC
      $str = ""
      FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
         IF(STRLEN($str) > 0)
            IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
               $str = STRCONCAT($str, " ")
            END_IF
            $str = STRCONCAT($str, $ARR_OUT[$a+1])
         ELSE
            $str = $ARR_OUT[$a+1]
         END_IF
      END_CYC
      UNDEFINE($ARR_OUT)
      UNDEFINE($ARR_SCAN)
   END_SUB
   //=============================================
   LOGCLEAR
   TFCLEAR("Log.txt", 0)
   WAITMS(50)
   LOGWRITE("")
   WAITMS(50)
   лог(STRCONCAT("")) // комбинированная запись
   
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(785,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (400,320,880,695, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(1040,90,1092,130,"38.bmp",1,1,5000)
         END_IF
         LCLICK(505,534) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (30)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
   WAIT(3)
END_THREAD
THREAD(t2) //поток проверки Error
   //=============================================
   SUB(шаг,$par30,$par31,$par32) //========== шаг =================
      MOVE($par30,$par31)
      WAITMS($par32)
   END_SUB
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   
   GETSCREEN
   COLORMODE(7)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      шаг($_return1, $_return2,2000)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      GETSCREEN
      IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
         шаг($_return1, $_return2,2000)
      END_IF
      WAITMS(500)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Adobe Flash Player color7.bmp", -1, 100)
         шаг($_return1, $_return2,2000)
         SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
         //здесь действия по перезапуску игры
         KEYPRESS(#F5)  // обновить страницу
         WAIT(20)
         GETSCREEN
         IF_PICTURE_IN(0,0,$_xmax,$_ymax,"2.bmp")
            шаг($_return1, $_return2,3000)
         END_IF
      END_IF
   END_IF
   SETTHREAD(t1,1) //снимаем поток t1 с паузы
   WAIT(60) //периодичность проверки на error
END_THREAD
halt

11
Общие вопросы / Re: Работа с ссылками
« on: November 07, 2020, 08:38:19 PM »
Ты не можешь условие вставить?
помогите пожалуйста найти в чем проблема, не пойму что не верно в потоке, не работает(
Code: (clickermann) [Select]
//=============================================
SUB(клик,$par1,$par2,$par3) //========== клик =================
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
//========= поиск картинки ====================================
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
//============ ожидание картинки ==============================
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,610,2000) // сменить главу
      END_IF
   END_CYC
END_SUB
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================

LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("")
WAITMS(50)
лог(STRCONCAT("")) // комбинированная запись
THREAD(t1)
   $akk_total = TFCOUNT("LogPass.txt")
   LOGWRITE("Всего аккаунтов: ", $akk_total)
   лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
   FOR($akk=1, $akk <= $akk_total)
      LOGWRITE("Текущий аккаунт: ", $akk)
      лог(STRCONCAT("Текущий аккаунт: ", $akk))
      $str = TFREAD ("LogPass.txt", $akk)
      $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
      $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
      клик(1271,1002,2000)
      DBLCLICK(785,30) //запуск браузера
      WAIT(20)
      IF($akk < 15)
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 1)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (400,320,880,695, "55.bmp", - 1, 100)
            MOVE($_return1,$_return2)
            WAIT(2)
         ELSE
            WAIT(2)
            картинка(1040,90,1092,130,"38.bmp",1,1,5000)
         END_IF
         LCLICK(505,534) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (500)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         WAITMS (1000)
         TOCLIP($pass) // скопировать пароль в буфер
         WAITMS (500)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (5)
            // тут команды после
           
         END_CYC
         лог(STRCONCAT("")) // комбинированная запись
         
         WAIT(10)
      else
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         // здесь ввод строки, чтобы это не значило
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         WAITMS (5000)
         //LCLICK(217, 624) //
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
         //LCLICK(360,170) // клик по вход
         WAITMS (500)
         картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
         WAITMS (5000)
         LCLICK(355,236) // клик по полю логина
         WAITMS (1000)
         TOCLIP($log) // скопировать логин в буфер
         лог(STRCONCAT(" :",$log))
         WAITMS (100)
         paste()
         
         KEYPRESS(#TAB) // переход на поле пароля
         WAITMS (1000)
         
         //LCLICK(505,395) // клик по полю пароля
         WAITMS (1000)
         TOCLIP($pass) // скопировать в пароль в буфер
         WAITMS (100)
         paste()
         
         KEYPRESS(#ENTER) // Enter
         WAITMS (100)
         //LCLICK(640,470) // клик по "Вход"
         WAIT(10)
         // тут команды после входа
         $servera = STRCONCAT("servera_", $akk,".txt")
         $serv_len = TFCOUNT($servera)
         FOR($serv=1, $serv <= $serv_len)
            LCLICK(390,55) //клик по панель поиска
            WAIT(2)
            TOCLIP(TFREAD($servera,$serv))
            WAITMS(100)
            print("файл ", $servera)
            print("ссылка ", TFREAD($servera, $serv))
            лог(STRCONCAT("файл ", $servera))
            лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
            paste()
            WAITMS(50)
           
           
            KEYPRESS(#ENTER)
            WAIT (10)
            // тут команды после
           
           
         END_CYC
         
      END_IF
      IF($akk < 15)
         //выход
         картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
         WAIT(5)
         картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
         //print("37.bmp")
         //LCLICK(1170,120)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      ELSE
         //выход
         LCLICK(390,55) //клик по панель поиска
         WAITMS (500)
         $portal = TFREAD("portal.txt", 2)
         TOCLIP($portal) //скопировать
         WAITMS (1000)
         paste()
         KEYPRESS(#ENTER)
         WAIT (3)
         WAITMS (2000)
         
         картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
         
         //LCLICK(1175,101)  // 2467327
         WAIT(5)
         клик(1257,15,2000)  // закрыть браузер
         WAIT(3)
      END_IF
      лог(STRCONCAT("")) // комбинированная запись
   END_CYC
END_THREAD
THREAD(t2) //поток проверки Error
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   COLORMODE(7)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ErrorCode.bmp", -1, 100)
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      KEYPRESS(#F5)  // обновить страницу
      WAIT(20)
      картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   END_IF
   WAIT(60) //периодичность проверки на error
END_THREAD
halt

12
Общие вопросы / Re: Работа с ссылками
« on: October 30, 2020, 03:55:09 PM »
Ты не можешь условие вставить?
как можно этот код поставить на поток, чтобы при ошибке или слетел флеш ставился первый поток на паузу, и после обновления страницы продолжал с этого же акк и сервера на котором встал скрипт?
Code: (clickermann) [Select]
//=============================================
SUB(paste) //========== Вставить ==============================
   KEYDOWN(#CTRL) // Ctrl+V
   WAITMS(50)
   KEYPRESS(#V)
   WAITMS(50)
   KEYUP(#CTRL)
   WAITMS(2000)
END_SUB
//=============================================
SUB(лог,$note) //=============== Запись в лог файл =============
   IF($note = "пробел")
      LOGWRITE (" ")
      TFWRITE("Log.txt", " ")
   ELSE
      $th = $_time_h
      $tm = $_time_m
      $ts = $_time_s
      $dd = $_date_d
      $dm = $_date_m
      $dy = $_date_y
     
      IF(STRLEN($th)<2)
         $th = STRCONCAT ("0", $th)
      END_IF
      IF(STRLEN($tm)<2)
         $tm = STRCONCAT ("0", $tm)
      END_IF
      IF(STRLEN($ts)<2)
         $ts = STRCONCAT ("0", $ts)
      END_IF
      IF(STRLEN($dd)<2)
         $dd = STRCONCAT ("0", $dd)
      END_IF
      IF(STRLEN($dm)<2)
         $dm = STRCONCAT ("0", $dm)
      END_IF
      IF(STRLEN($dy)<2)
         $dy = STRCONCAT ("0", $dy)
      END_IF
      LOGWRITE ($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note) // запись в лог
      TFWRITE("Log.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note))
   END_IF
END_SUB
//=============================================
SUB(recognize, $x1,$y1, $x2,$y2) //== Распознавание символов ==
   GETFILELIST($Letters_arr, "Letters\*.bmp")
   FOR($Let_num=0,$Let_num<ARRSIZE($Letters_arr))
      STRSEPARATE($Letters_arr[$Let_num], "_", $a_l)
      SCANPICTURE($ARR_SCAN, $x1,$y1, $x2,$y2, STRCONCAT("Letters\", $Letters_arr[$Let_num]), -1, STRREPLACE($a_l[ARRSIZE($a_l)-1],".bmp",""))
      UNDEFINE($a_l)
      FOR($arr_num=0,$arr_num<ARRSIZE($ARR_SCAN),2)
         ARRPUSH($ARR_OUT, $ARR_SCAN[$arr_num])
         ARRPUSH($ARR_OUT, STRCUT($Letters_arr[$Let_num], 1, 1))
      END_CYC
      UNDEFINE($ARR_SCAN)
   END_CYC
   $siz = ARRSIZE($ARR_OUT)
   $srtcheck = 0
   $srt = 0
   FOR($a=$siz-2,($a>0)&($srt=0),-2)
      FOR($b=0,$b<$a,2)
         IF($ARR_OUT[$b] > $ARR_OUT[$b+2])
            $srtcheck = 1
            $tmp = $ARR_OUT[$b]
            $tmp2 = $ARR_OUT[$b+1]
            $ARR_OUT[$b] = $ARR_OUT[$b+2]
            $ARR_OUT[$b+1] = $ARR_OUT[$b+3]
            $ARR_OUT[$b+2] = $tmp
            $ARR_OUT[$b+3] = $tmp2
         END_IF
      END_CYC
      IF($srtcheck = 0)
         $srt = 1
      END_IF
   END_CYC
   $str = ""
   FOR($a=0,$a<ARRSIZE($ARR_OUT),2)
      IF(STRLEN($str) > 0)
         IF($ARR_OUT[$a]-$ARR_OUT[$a-2] > 50) // определение пробела (сколько пикселов между символами считать за пробел)
            $str = STRCONCAT($str, " ")
         END_IF
         $str = STRCONCAT($str, $ARR_OUT[$a+1])
      ELSE
         $str = $ARR_OUT[$a+1]
      END_IF
   END_CYC
   UNDEFINE($ARR_OUT)
   UNDEFINE($ARR_SCAN)
END_SUB
//=============================================

SUB(day_of_year, $dy_d, $dy_m, $dy_y)
    $fdm = 0
    FOR($dyi=0, $dyi < ($dy_m-1))
        $fdm = $fdm + $md[$dyi]
    END_CYC
    $full_day = $dy_y*365 + $fdm + $dy_d
END_SUB
//=============================================

LOGCLEAR
TFCLEAR("Log.txt", 0)
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
лог(STRCONCAT("Запуск ")) // комбинированная запись
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
THREAD(t1)
$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)
лог(STRCONCAT("Всего аккаунтов: ", $akk_total))
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   лог(STRCONCAT("Текущий аккаунт: ", $akk))
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   IF($akk < 5)
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 1)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "55.bmp", - 1, 100)
         MOVE($_return1,$_return2)
         WAIT(1)
      ELSE
         WAIT(1)
         картинка(0,0,$_xmax,$_ymax,"38.bmp",1,1,1000)
      END_IF
      LCLICK(505,345) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      //LCLICK(640,470) // клик по "Вход"
      WAIT(10)
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (5)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         WAIT(10)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
            клик($_return1+15,$_return2+15,2000)
         ELSE
            $check = 0
            WHILE($check = 0)
               KEYPRESS(#F5)  // обновить страницу
               WAIT(15)
               картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
            END_CYC
         END_IF
         WAIT(3)
         картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
            клик($_return1, $_return2,2000)
         END_IF
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"32.bmp",7,7,2000)
         картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"33.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
         картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
         картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
         клик(527,190,2000) //
         клик(518,370,2000)//
         клик(564,585,2000)//
         клик(654,188,2000) //
         клик(571,310,2000) //
         картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
         картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
            клик($_return1+2, $_return2+2,2000)
            клик(567,493,2000)  //
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
            клик($_return1+5, $_return2+5,2000)
            GETSCREEN(0,0,$_xmax,$_ymax)
            IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
               клик($_return1+5, $_return2+5,2000)
               картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
            END_IF
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(3)
         
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
            DBLCLICK($_return1+15, $_return2+15)
            WAIT(1)
            картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
         END_IF
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
            MOVE($_return1+15, $_return2+15)
            WAIT(1)
            IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
               FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
            END_IF
            SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
            inc($n)
         END_IF
         WAIT(1)
         KEYPRESS(#B)
         WAIT(1)
$older = 10  // старее N дней
 
IF($sgfvkvjgka = 0)
    STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
    $sgfvkvjgka = 1
END_IF
 
day_of_year($_date_d, $_date_m, $_date_y)
$cur_day = $full_day
 
GETDIRLIST($twins, "C:\files\twin*")
FOR($tw=0, $tw < ARRSIZE($twins))
    $twin = $twins[$tw]
    LOGWRITE($twin)
 
    $mask = STRCONCAT("C:\files\", $twin, "\*")
    GETDIRLIST($dirs, $mask)
    FOR($i=0, $i < ARRSIZE($dirs))
        $dir = $dirs[$i]
        STRSEPARATE($dir, "-", $dat)
        day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
        $folder_day = $full_day
 
        IF(($cur_day - $folder_day) > $older-1)
            $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
            FDELETE($fullname)
            LOGWRITE("   ├─", $dir, "   Old  ", $fullname)     
        ELSE
            LOGWRITE("   ├─", $dir)
            //LOGWRITE("   ├─", $dir, "   Ok")
        END_IF
    END_CYC
    //LOGWRITE()
END_CYC

         // вызов подпрограммы распознавания
         GETSCREEN
         COLORMODE(8)
         recognize(131,118, 175,140) // область распознавания
         LOGWRITE($str) // переменная с результатом (смотрим лог)
         лог(STRCONCAT(": ", $str)) // комбинированная запись
         WAITMS (50)
         
         картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
         картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//

      END_CYC
      лог(STRCONCAT("1")) // комбинированная запись
     
      WAIT(5)
   else
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      // здесь ввод строки, чтобы это не значило
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      WAITMS (5000)
      //LCLICK(217, 624) //
      WAITMS (500)
      картинка(0,0,$_xmax,$_ymax,"42.bmp",2,2,2000)
      //LCLICK(360,170) // клик по вход
      WAITMS (500)
      картинка(0,0,$_xmax,$_ymax,"39.bmp",2,2,2000)
      WAITMS (5000)
      LCLICK(355,236) // клик по полю логина
      WAITMS (1000)
      TOCLIP($log) // скопировать логин в буфер
      лог(STRCONCAT(" :",$log))
      WAITMS (100)
      paste()
     
      KEYPRESS(#TAB) // переход на поле пароля
      WAITMS (1000)
     
      //LCLICK(505,395) // клик по полю пароля
      WAITMS (1000)
      TOCLIP($pass) // скопировать в пароль в буфер
      WAITMS (100)
      paste()
     
      KEYPRESS(#ENTER) // Enter
      WAITMS (100)
      //LCLICK(640,470) // клик по "Вход"
      WAIT(10)
      // тут команды после входа
      $servera = STRCONCAT("servera_", $akk,".txt")
      $serv_len = TFCOUNT($servera)
      FOR($serv=1, $serv <= $serv_len)
         LCLICK(390,55) //клик по панель поиска
         WAIT(2)
         TOCLIP(TFREAD($servera,$serv))
         WAITMS(100)
         print("файл ", $servera)
         print("ссылка ", TFREAD($servera, $serv))
         лог(STRCONCAT("файл ", $servera))
         лог(STRCONCAT("ссылка ", TFREAD($servera, $serv)))
         paste()
         WAITMS(50)
         
         
         KEYPRESS(#ENTER)
         WAIT (10)
         // тут команды после
         картинка(0,0,$_xmax,$_ymax,"1.bmp",2,2,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
         клик($_return1, $_return2,2000)
      END_IF
      WAIT(30)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "2.bmp", - 1, 100)
         клик($_return1+15,$_return2+15,2000)
      ELSE
         $check = 0
         WHILE($check = 0)
            KEYPRESS(#F5)  // обновить страницу
            WAIT(30)
            картинка(0,0,$_xmax,$_ymax,"2.bmp",15,15,2000)
         END_CYC
      END_IF
      WAIT(3)
      картинка(0,0,$_xmax,$_ymax,"3.bmp",2,2,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PIXEL_IN(0,0,$_xmax,$_ymax, 16777215)
         клик($_return1, $_return2,2000)
      END_IF
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"4.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"32.bmp",10,8,2000)
      картинка(0,0,$_xmax,$_ymax,"5.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"15.bmp",2,2,5000)//
      картинка(0,0,$_xmax,$_ymax,"16.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"17.bmp",2,2,2000)//
      клик(406,295,2000) //
      картинка(0,0,$_xmax,$_ymax,"18.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"19.bmp",2,2,5000)//
      клик(527,190,2000) //
      клик(518,370,2000)//
      клик(564,585,2000)//
      клик(654,188,2000) //
      клик(571,310,2000) //
      картинка(0,0,$_xmax,$_ymax,"20.bmp",2,2,2000) //
      картинка(0,0,$_xmax,$_ymax,"21.bmp",2,2,2000) //
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"7.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"8.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax, "9.bmp",15,15, 2000)
      картинка(0,0,$_xmax,$_ymax, "10.bmp",0,0, 5000)
      ожидание_картинки(0,0,$_xmax,$_ymax,"11.bmp",90,0,0,2000)
      картинка(0,0,$_xmax,$_ymax, "12.bmp",0,0, 2000)
      клик(643,340,2000)  //
      KEYPRESS(#9)
      WAITMS(2000)
      картинка(0,0,$_xmax,$_ymax, "13.bmp",0,0, 2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "14.bmp", - 1, 100)
         клик($_return1, $_return2,2000)  //
      END_IF
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax, "22.bmp",15,15,2000)
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "23.bmp", - 1, 100)//
         клик($_return1+2, $_return2+2,2000)
         клик(567,493,2000)  //
      END_IF
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "24.bmp", - 1, 100)//
         клик($_return1+5, $_return2+5,2000)
         GETSCREEN(0,0,$_xmax,$_ymax)
         IF_PICTURE_IN (0,0,$_xmax,$_ymax, "25.bmp", - 1, 100)//
            клик($_return1+5, $_return2+5,2000)
            картинка(0,0,$_xmax,$_ymax, "26.bmp",5,5,2000)//
         END_IF
      END_IF
      WAIT(1)
      KEYPRESS(#B)
      WAIT(3)
     
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "27.bmp", - 1, 100)
         DBLCLICK($_return1+15, $_return2+15)
         WAIT(1)
         картинка(0,0,$_xmax,$_ymax, "34.bmp",5,5,2000)
      END_IF
      GETSCREEN(0,0,$_xmax,$_ymax)
      IF_PICTURE_IN (0,0,$_xmax,$_ymax, "28.bmp", - 1, 100)
         MOVE($_return1+15, $_return2+15)
         WAIT(1)
         IF(FExists(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d)) = 0)//если папки с датой нету
            FCreate(STRCONCAT("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d))//то создаем ее  - E:\files\twin1\6-11-2019  на сегодняшний день
         END_IF
         SCREENSHOTFIX(0,0,$_xmax,$_ymax,STRCONCAT ("C:\files\twin1\",$_date_y,"-",$_date_m,"-",$_date_d,"\file", $n,".bmp"))
         inc($n)
      END_IF
      WAIT(1)
      KEYPRESS(#B)
      WAIT(1)

$older = 10  // старее N дней
 
IF($sgfvkvjgka = 0)
    STRSEPARATE("31,28,31,30,31,30,31,31,30,31,30,31", ",", $md)
    $sgfvkvjgka = 1
END_IF
 
 
day_of_year($_date_d, $_date_m, $_date_y)
$cur_day = $full_day
 
GETDIRLIST($twins, "C:\files\twin*")
FOR($tw=0, $tw < ARRSIZE($twins))
    $twin = $twins[$tw]
    LOGWRITE($twin)
 
    $mask = STRCONCAT("C:\files\", $twin, "\*")
    GETDIRLIST($dirs, $mask)
    FOR($i=0, $i < ARRSIZE($dirs))
        $dir = $dirs[$i]
        STRSEPARATE($dir, "-", $dat)
        day_of_year(INT($dat[0]), INT($dat[1]), INT($dat[2]))
        $folder_day = $full_day
 
        IF(($cur_day - $folder_day) > $older-1)
            $fullname = STRCONCAT("C:\files\", $twin, "\", $dir)
            FDELETE($fullname)
            LOGWRITE("   ├─", $dir, "   Old  ", $fullname)     
        ELSE
            LOGWRITE("   ├─", $dir)
            //LOGWRITE("   ├─", $dir, "   Ok")
        END_IF
    END_CYC
    //LOGWRITE()
END_CYC


      // вызов подпрограммы распознавания
      GETSCREEN
      COLORMODE(8)
      recognize(131,118, 175,140) // область распознавания
      LOGWRITE($str) // переменная с результатом (смотрим лог)
      лог(STRCONCAT(": ", $str)) // комбинированная запись
      WAITMS (50)
     
      картинка(0,0,$_xmax,$_ymax,"29.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"30.bmp",2,2,2000)//
      картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"31.bmp",2,2,3000)//
      картинка(0,0,$_xmax,$_ymax,"6.bmp",2,2,2000)//
         
      END_CYC
     
   END_IF
   IF($akk < 5)
      //выход
      картинка(0,0,$_xmax,$_ymax,"36.bmp",2,2,2000)
      картинка(0,0,$_xmax,$_ymax,"37.bmp",2,2,2000)
      //LCLICK(1175,101)  // 2467327
      WAIT(5)
   ELSE
      //выход
      LCLICK(390,55) //клик по панель поиска
      WAITMS (500)
      $portal = TFREAD("portal.txt", 2)
      TOCLIP($portal) //скопировать
      WAITMS (1000)
      paste()
      KEYPRESS(#ENTER)
      WAIT (3)
      KEYPRESS(#PAGEDOWN)
      WAITMS (2000)
     
      картинка(0,0,$_xmax,$_ymax,"41.bmp",2,2,2000)
     
      //LCLICK(1175,101)  // 2467327
      WAIT(10)
   END_IF
   лог(STRCONCAT("2")) // комбинированная запись
END_CYC
END_THREAD
THREAD(t2) //поток проверки Adobe Flash Player'а на краш
IF(WNDFIND("Adobe Flash")>0) //если найдено окно с заголовком Adobe Flash
SETTHREAD(t1,0) //ставим поток t1 на паузу
//здесь действия по перезапуску игры
SETTHREAD(t1,1) //снимаем поток t1 с паузы
END_IF
WAIT(60) //периодичность проверки на краш Adobe Flash Player'а
END_THREAD
halt

13
Общие вопросы / Re: Работа с ссылками
« on: October 24, 2020, 02:15:35 AM »
Оверквотинг - излишнее цитирование. Не цитируй с двумя и более уровнями вложенности. Не цитируй лишнее. Простыни на весь экран где ты сам себя цитируешь на втором уровне.
можно что придумать с выходом 1 и 2? или нужно отдельно цикл для вк, ок с разными файлами логпасс и сервера?
Code: (clickermann) [Select]
END_CYC
 
   //выход
   LCLICK(1175,101)  // выход1
   WAIT(10)
//LCLICK(1000,100)  // выход2
END_CYC
 

Code: (clickermann) [Select]
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
 
$akk_total = TFCOUNT("LogPass.txt") //для вк
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
 
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
 
 
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
 
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC
//закрыть браузер
 
 
клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)
 
$akk_total = TFCOUNT("LogPass1.txt") //для ок
LOGWRITE("Всего аккаунтов: ", $akk_total)
 
FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
 
   $str = TFREAD ("LogPass1.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
 
   LCLICK(100,100) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
 
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
 
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera1 = STRCONCAT("servera1_", $akk,".txt")
   $serv_len = TFCOUNT($servera1)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera1,$serv))
      WAITMS(100)
      print("файл ", $servera1)
      print("ссылка ", TFREAD($servera1, $serv))
      paste()
      WAITMS(50)
 
 
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
 
   //выход
   LCLICK(585,333)  // 2467327
   WAIT(10)
END_CYC

14
Общие вопросы / Re: Работа с ссылками
« on: October 23, 2020, 08:55:09 PM »

По аналогии.


P.S. Не цитируй больше одного вложения, это очень мешает и забивает ветку.
[/quote]
можно конечно сделать немного иначе, логпасс, сервера_ к вк, а логпасс1 сервера1_ к ок.  таким образом не забивать ветку?
Code: (clickermann) [Select]
LOGCLEAR
WAITMS(50)
LOGWRITE("Старт")
WAITMS(50)

клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(505,345) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera = STRCONCAT("servera_", $akk,".txt")
   $serv_len = TFCOUNT($servera)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera,$serv))
      WAITMS(100)
      print("файл ", $servera)
      print("ссылка ", TFREAD($servera, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(1175,101)  // 2467327
   WAIT(10)
END_CYC
//закрыть браузер


клик(1271,1002,2000)
DBLCLICK(635,30) //запуск браузера
WAIT(10)

$akk_total = TFCOUNT("LogPass1.txt")
LOGWRITE("Всего аккаунтов: ", $akk_total)

FOR($akk=1, $akk <= $akk_total)
   LOGWRITE("Текущий аккаунт: ", $akk)
   
   $str = TFREAD ("LogPass1.txt", $akk)
   $log = STRCUT2 ($str, 1, STRPOS ($str, ":")-1)
   $pass = STRCUT2 ($str, STRPOS ($str, ":")+1, STRLEN ($str))
   
   LCLICK(100,100) // клик по полю логина
   WAITMS (1000)
   TOCLIP($log) // скопировать логин в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#TAB) // переход на поле пароля
   WAITMS (1000)
   
   //LCLICK(505,395) // клик по полю пароля
   WAITMS (1000)
   TOCLIP($pass) // скопировать в пароль в буфер
   WAITMS (100)
   paste()
   
   KEYPRESS(#ENTER) // Enter
   WAITMS (100)
   //LCLICK(640,470) // клик по "Вход"
   WAIT(5)
   // тут команды после входа
   $servera1 = STRCONCAT("servera1_", $akk,".txt")
   $serv_len = TFCOUNT($servera1)
   FOR($serv=1, $serv <= $serv_len)
      LCLICK(370,55) //клик по панель поиска
      WAIT(2)
      TOCLIP(TFREAD($servera1,$serv))
      WAITMS(100)
      print("файл ", $servera1)
      print("ссылка ", TFREAD($servera1, $serv))
      paste()
      WAITMS(50)
     
     
      KEYPRESS(#ENTER)
      WAIT (5)
      // тут команды после
   END_CYC
   
   //выход
   LCLICK(585,333)  // 2467327
   WAIT(10)
END_CYC

15
Общие вопросы / Re: Работа с ссылками
« on: October 23, 2020, 05:20:56 PM »
и подскажите как  добавить чтение файла, перед LCLICK(505, 345) ввод первой строки из файла "portal.txt" , перед LCLICK(100, 100) ввод второй строки из файла "portal.txt"
Code: (clickermann) [Select]
IF($akk < 5)
    $portal = TFREAD("portal.txt", 1)
    // здесь ввод строки, чтобы это не значило
    LCLICK(505, 345)
ELSE
    $portal = TFREAD("portal.txt", 2)
    // здесь ввод строки, чтобы это не значило
    LCLICK(100, 100)
END_IF

повлияет это на скорость работы? или лучше прям в скрипте добавить ссылки без чтения из файла?
О какой скорости речь в данном скрипте? Основное время мы ждём реакции браузера.
Через файл или прямо строкой зависит от задачи. Если ссылки нужно будет менять, то чтоб не править всё время скрипт - вынести в файл.

что именно убивает команда убить процесс? EXECUTE("taskkill","/IM firefox.exe")
убивает процесс firefox.exe. Очевидно же©
все работает нормально но стопанулся я на выходе, разные координаты на выходе.
Code: (clickermann) [Select]
     
   END_CYC
   
   //выход
   LCLICK(1175,101)  // выход
   WAIT(10)
//LCLICK(1000,100)  // выход2
END_CYC

Pages: [1] 2 3 ... 8