Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Hito on January 10, 2018, 08:30:10 PM

Title: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 08:30:10 PM
Ребят, вот скрипт:
Code: (clickermann) [Select]
$t1 = $_ms

GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target1.bmp", -1, 100)
   $targ=1
   //LOGWRITE ("Агрессивный")
   $x_targ=$_return1
   $y_targ=$_return2
else
   IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target2.bmp", -1, 100)
      $targ=1
      //LOGWRITE ("Не агрессивный")
      $x_targ=$_return1
      $y_targ=$_return2
   else
      IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target3.bmp", -1, 100)
         $targ=1
         //LOGWRITE ("Тренировочная кукла")
         $x_targ=$_return1
         $y_targ=$_return2
      else
         $targ=0
      END_IF
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil1.bmp", -1, 100)
   $Skil_1a = 0
   $Skil_1 = 1
   $Skil_1_x = $_return1
   $Skil_1_y = $_return2
else
   $Skil_1 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil1a.bmp", -1, 100)
      $Skil_1 = 0
      $Skil_1a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil2.bmp", -1, 100)
   $Skil_2a = 0
   $Skil_2 = 1
   $Skil_2_x = $_return1
   $Skil_2_y = $_return2
else
   $Skil_2 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil2a.bmp", -1, 100)
      $Skil_2 = 0
      $Skil_2a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil3.bmp", -1, 100)
   $Skil_3a = 0
   $Skil_3 = 1
   $Skil_3_x = $_return1
   $Skil_3_y = $_return2
else
   $Skil_3 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil3a.bmp", -1, 100)
      $Skil_3 = 0
      $Skil_3a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil4.bmp", -1, 100)
   $Skil_4a = 0
   $Skil_4 = 1
   $Skil_4_x = $_return1
   $Skil_4_y = $_return2
else
   $Skil_4 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil4a.bmp", -1, 100)
      $Skil_4 = 0
      $Skil_4a = 1
   END_IF
END_IF

IF_PICTURE_IN (477,741, 960,872, "Skil5.bmp", -1, 100)
   $Skil_5a = 0
   $Skil_5 = 1
   $Skil_5_x = $_return1
   $Skil_5_y = $_return2
else
   $Skil_5 = 0
   IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, "Skil5a.bmp", -1, 100)
      $Skil_5 = 0
      $Skil_5a = 1
   END_IF
END_IF

IF($targ > 0)
   IF_PIXEL_IN($x_targ+35,$y_targ, $x_targ+200,$y_targ+10, 4145151,4161407)
      //LOGWRITE ("Живой")
      $targ_Live=1
   else
      //LOGWRITE ("Мертвый")
      $targ_Live=0
   END_IF
   
   GETSCREEN
   COLORMODE(9)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      IF_PICTURE_IN ($x+64,$y, $x+65,$y, "1.bmp", -1, 96)
         $figure1=1
      else
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, "2.bmp", -1, 96)
            $figure1=2
         else
            IF_PICTURE_IN ($x+64,$y, $x+65,$y, "3.bmp", -1, 96)
               $figure1=3
            else
               IF_PICTURE_IN ($x+64,$y, $x+65,$y, "4.bmp", -1, 96)
                  $figure1=4
               else
                  IF_PICTURE_IN ($x+64,$y, $x+65,$y, "5.bmp", -1, 96)
                     $figure1=5
                  else
                     IF_PICTURE_IN ($x+64,$y, $x+65,$y, "6.bmp", -1, 96)
                        $figure1=6
                     else
                        IF_PICTURE_IN ($x+64,$y, $x+65,$y, "7.bmp", -1, 96)
                           $figure1=7
                        else
                           IF_PICTURE_IN ($x+64,$y, $x+65,$y, "8.bmp", -1, 96)
                              $figure1=8
                           else
                              IF_PICTURE_IN ($x+64,$y, $x+65,$y, "9.bmp", -1, 96)
                                 $figure1=9
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
     
      IF_PICTURE_IN ($x+69,$y, $x+70,$y, "1.bmp", -1, 96)
         $figure2=1
      else
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, "2.bmp", -1, 96)
            $figure2=2
         else
            IF_PICTURE_IN ($x+69,$y, $x+70,$y, "3.bmp", -1, 96)
               $figure2=3
            else
               IF_PICTURE_IN ($x+69,$y, $x+70,$y, "4.bmp", -1, 96)
                  $figure2=4
               else
                  IF_PICTURE_IN ($x+69,$y, $x+70,$y, "5.bmp", -1, 96)
                     $figure2=5
                  else
                     IF_PICTURE_IN ($x+69,$y, $x+70,$y, "6.bmp", -1, 96)
                        $figure2=6
                     else
                        IF_PICTURE_IN ($x+69,$y, $x+70,$y, "7.bmp", -1, 96)
                           $figure2=7
                        else
                           IF_PICTURE_IN ($x+69,$y, $x+70,$y, "8.bmp", -1, 96)
                              $figure2=8
                           else
                              IF_PICTURE_IN ($x+69,$y, $x+70,$y, "9.bmp", -1, 96)
                                 $figure2=9
                              END_IF
                           END_IF
                        END_IF
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_IF
   $distance = ($figure1*10)+$figure2
END_IF

$t2 = $_ms - $t1
LOGWRITE ($t2)

waitms(10)

Скрипт делает 1 круг за 2 секунды... Есть мысль - как это дело ускорить...? На сколько я помню, GETSCREEN в потоках не выполняется же - да? Львиную долю времени выполняется часть скрипта с 102 по 180 строку.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:01:45 PM
И кстати... В этом скрипте есть еще поток. Так вот этот поток останавливается, пока выполняются строки скрипта с 102 по 180. Почему так...? Сразу скажу, что в потоке нет ничего такого, что могло бы реагировать на выполнение скрипта. Его вообще можно сделать таким:

Code: (clickermann) [Select]
THREAD(Attack)
   LOGWRITE ("Сообщение")
   waitms(10)
END_THREAD

И он все равно будет останавливаться...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Oraven on January 10, 2018, 09:06:04 PM
40-50 минусовые координаты?
Code: (clickermann) [Select]
IF_PICTURE_IN (579-50,40-50, 579+50,40+50, "Target1.bmp", -1, 100)
103 строка
Code: (clickermann) [Select]
COLORMODE(9)У нас уже 9й уровень появился?

Оптимизированный вариант
Code: (clickermann) [Select]
$t1 = $_ms

$targ=0
GETSCREEN                 
COLORMODE(6)
FOR($i=1,$i<4) // "Target1.bmp" - "Target3.bmp"
   IF_PICTURE_IN (579-50,40-40, 579+50,40+50, STRCONCAT("Target",$i,".bmp"), -1, 100)
      $targ=1
      $x_targ=$_return1
      $y_targ=$_return2
   END_IF
END_CYC

DEFINE($Skil_1a, 0)
DEFINE($Skil_1, 0)
DEFINE($Skil_1_x, 0)
DEFINE($Skil_1_y, 0)

DEFINE($Skil_2a, 0)
DEFINE($Skil_2, 0)
DEFINE($Skil_2_x, 0)
DEFINE($Skil_2_y, 0)

DEFINE($Skil_3a, 0)
DEFINE($Skil_3, 0)
DEFINE($Skil_3_x, 0)
DEFINE($Skil_3_y, 0)

DEFINE($Skil_4a, 0)
DEFINE($Skil_4, 0)
DEFINE($Skil_4_x, 0)
DEFINE($Skil_4_y, 0)

DEFINE($Skil_5a, 0)
DEFINE($Skil_5, 0)
DEFINE($Skil_5_x, 0)
DEFINE($Skil_5_y, 0)

FOR($i=1,$i<6) // "Skil1.bmp" - "Skil5.bmp"
   IF_PICTURE_IN (477,741, 960,872, STRCONCAT("Skil",$i,".bmp"), -1, 100)
      SETVAR (STRCONCAT("$Skil_",$i,"a"), 0)
      SETVAR (STRCONCAT("$Skil_",$i), 1)
      SETVAR (STRCONCAT("$Skil_",$i,"_x"), $_return1)
      SETVAR (STRCONCAT("$Skil_",$i,"_y"), $_return2)
   else
      SETVAR (STRCONCAT("$Skil_",$i), 0)
      IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, STRCONCAT("Skil",$i,"a.bmp"), -1, 100)
         SETVAR (STRCONCAT("$Skil_",$i), 0)
         SETVAR (STRCONCAT("$Skil_",$i,"a"), 1)
      END_IF
   END_IF
END_CYC

IF($targ > 0)
   IF_PIXEL_IN($x_targ+35,$y_targ, $x_targ+200,$y_targ+10, 4145151,4161407)
      //LOGWRITE ("Живой")
      $targ_Live=1
   else
      //LOGWRITE ("Мертвый")
      $targ_Live=0
   END_IF
   
   GETSCREEN
   COLORMODE(0) // 0-8 выбери правильное число
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure1=$i
         END_IF
      END_CYC
     
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure2=$i
         END_IF
      END_CYC
   END_IF
   $distance = ($figure1*10)+$figure2
END_IF

$t2 = $_ms - $t1
LOGWRITE ($t2)

waitms(10)
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Oraven on January 10, 2018, 09:09:53 PM
И кстати... В этом скрипте есть еще поток. Так вот этот поток останавливается, пока выполняются строки скрипта с 102 по 180. Почему так...?

Возможно из за нагрузки. Попробуй добавить в цикл перебора картинок небольшую задержку.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:18:28 PM
Оптимизированный вариант
Code: (clickermann) [Select]
$t1 = $_ms

$targ=0
GETSCREEN                 
COLORMODE(6)
FOR($i=1,$i<4) // "Target1.bmp" - "Target3.bmp"
   IF_PICTURE_IN (579-50,40-40, 579+50,40+50, STRCONCAT("Target",$i,".bmp"), -1, 100)
      $targ=1
      $x_targ=$_return1
      $y_targ=$_return2
   END_IF
END_CYC

DEFINE($Skil_1a, 0)
DEFINE($Skil_1, 0)
DEFINE($Skil_1_x, 0)
DEFINE($Skil_1_y, 0)

DEFINE($Skil_2a, 0)
DEFINE($Skil_2, 0)
DEFINE($Skil_2_x, 0)
DEFINE($Skil_2_y, 0)

DEFINE($Skil_3a, 0)
DEFINE($Skil_3, 0)
DEFINE($Skil_3_x, 0)
DEFINE($Skil_3_y, 0)

DEFINE($Skil_4a, 0)
DEFINE($Skil_4, 0)
DEFINE($Skil_4_x, 0)
DEFINE($Skil_4_y, 0)

DEFINE($Skil_5a, 0)
DEFINE($Skil_5, 0)
DEFINE($Skil_5_x, 0)
DEFINE($Skil_5_y, 0)

FOR($i=1,$i<6) // "Skil1.bmp" - "Skil5.bmp"
   IF_PICTURE_IN (477,741, 960,872, STRCONCAT("Skil",$i,".bmp"), -1, 100)
      SETVAR (STRCONCAT("$Skil_",$i,"a"), 0)
      SETVAR (STRCONCAT("$Skil_",$i), 1)
      SETVAR (STRCONCAT("$Skil_",$i,"_x"), $_return1)
      SETVAR (STRCONCAT("$Skil_",$i,"_y"), $_return2)
   else
      SETVAR (STRCONCAT("$Skil_",$i), 0)
      IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, STRCONCAT("Skil",$i,"a.bmp"), -1, 100)
         SETVAR (STRCONCAT("$Skil_",$i), 0)
         SETVAR (STRCONCAT("$Skil_",$i,"a"), 1)
      END_IF
   END_IF
END_CYC

IF($targ > 0)
   IF_PIXEL_IN($x_targ+35,$y_targ, $x_targ+200,$y_targ+10, 4145151,4161407)
      //LOGWRITE ("Живой")
      $targ_Live=1
   else
      //LOGWRITE ("Мертвый")
      $targ_Live=0
   END_IF
   
   GETSCREEN
   COLORMODE(0) // 0-8 выбери правильное число
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure1=$i
         END_IF
      END_CYC
     
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure2=$i
         END_IF
      END_CYC
   END_IF
   $distance = ($figure1*10)+$figure2
END_IF

$t2 = $_ms - $t1
LOGWRITE ($t2)

waitms(10)

Работает все те же 2 секунды...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:35:01 PM
И кстати... В этом скрипте есть еще поток. Так вот этот поток останавливается, пока выполняются строки скрипта с 102 по 180. Почему так...?

Возможно из за нагрузки. Попробуй добавить в цикл перебора картинок небольшую задержку.

Code: (clickermann) [Select]
   GETSCREEN
   COLORMODE(8) // 0-8 выбери правильное число
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure1=$i
         END_IF
         waitms(10)
      END_CYC
     
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure2=$i
         END_IF
         waitms(10)
      END_CYC
   END_IF

Не помогает...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Spw on January 10, 2018, 09:37:39 PM
Попробуй сделать подсчет пикселей у числа. У всех 99 вариантов будет уникальное значение, потом все значения переписать в файл и делать из него запрос.

Например

GETSCREEN
$count = PXLCOUNT (10,20, 100, 40, 255)
logwrite("pixels: ", $count)
$str = INIREAD("chisla.ini",  $count)
logwrite($str)

Конечно это геморно, надо 99 вариантов в файл занести, но должно работать быстрее.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:40:43 PM
Конечно это геморно, надо 99 вариантов в файл занести, но должно работать быстрее.

То есть, ты считаешь, что 99 вариантов подсчета пикслей будет быстрее, чем поискать 18 картинок...?   ???

У всех 99 вариантов будет уникальное значение

Ты думаешь, что у 12 и 21 значения будут разными...?  ???
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Spw on January 10, 2018, 09:46:04 PM
Пиксели считаешь 1 раз!, получается число, например 672, смотришь в файл он тебе говорит 672 пикселя, это 15(например). Право не знаю как это объяснить более доступно.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:46:56 PM
Пиксели считаешь 1 раз!, получается число, например 672, смотришь в файл он тебе говорит 672 пикселя, это 15(например). Право не знаю как это объяснить более доступно.

А точно 15...? А не 51...  :)
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Spw on January 10, 2018, 09:48:15 PM
Quote

Ты думаешь, что у 12 и 21 значения будут разными...?  ???
А, ну да, косяк, тогда два раза придется пиксели считать, зато в файл 9 значении всего писать.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Spw on January 10, 2018, 09:50:11 PM
Quote
А точно 15...? А не 51...  :)
Больше не буду пытаться вам помочь  :P
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 09:52:50 PM
Spw, по любому вариант с подсчетом пикслей отпадает. Если ты не заметил, то обращу твое внимание на цифру - 96, в конце строки:
IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
Там, например, хвост двойки может состоять не из трех, а из четырех пикслей - как попадет...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Spw on January 10, 2018, 10:05:43 PM
Какая игра? Можно скриншот?
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 10:16:14 PM
(https://4.downloader.disk.yandex.ru/disk/bc68fe501dca38ef2856de9c249c635a12ed1109964883584d7f6156c800c6cb/5a569f5c/Wt_kN33KvgWRHF2bRVz0ThamxCFAiiiF0clCmHa04ZRwnqI8IFhRLgrB1h2B8QpZiRSSdscNE3V3hsneN79-SQ%3D%3D?uid=0&filename=QIP%20Shot%20-%20Screen%20054.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&fsize=406618&hid=402a52e872f7eaee6bead4864a120da5&media_type=image&tknv=v2&etag=d5a3ed419381f2db60bad2c94bf5f849)
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 10, 2018, 10:27:05 PM
В общем я так понял, что как вариант - запускать 2-3 кликера... :) Ну и связь между ними делать через файл.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Vint on January 11, 2018, 12:00:36 AM
А что ищем на скрине? В упор невижу.
И кидай уж все заготовки используемые.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Oraven on January 11, 2018, 09:25:46 AM
У тебя тут зона поиска в 1 пиксел что ли?
Code: (clickermann) [Select]
IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
Зона поиска должна быть размером с картинку как минимум.
Кроме того недавно замечено что версия 4.12 расширяет зону поиска, дополнительно, на размер картинки.
В версии 4.13 этого нет.
Можешь попробовать бета версию. Единственное. там изменился синтаксис НЕ равно, теперь это пишется так !=
http://crapware.aidf.org/forum/index.php?topic=356.msg25321#msg25321 (http://crapware.aidf.org/forum/index.php?topic=356.msg25321#msg25321)

2 секунды это как то слишком долго. Какой размер этих цифр?
Приложи архив с картинками и скриншотом для их поиска.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 11, 2018, 11:11:23 AM
Кроме того недавно замечено что версия 4.12 расширяет зону поиска, дополнительно, на размер картинки.

Я вот это и заметил )) Потому и координаты поиска такие ))
Сейчас намучу полный отчет с картинками.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 11, 2018, 12:13:31 PM
В общем намутил я скрипт этот на три кликера. В том варианте, в котором он сейчас, все работает безупречно. Три кликера "общаются" между собой при помощи ini-файла. Вся эта замутка в целом еще не бот, а лишь некий кастыль, который только юзает необходимые скилы, когда в таргете моб.

(https://s238f.storage.yandex.net/rdisk/d2501b2edbd2e6c64be0214a5a72e565e787a2441e965991d096e6984eb4027b/5a57c6bf/Wt_kN33KvgWRHF2bRVz0TgNwwUTT4Medx0SFSzgd0uEhkh2kZWm_kvqe3bDKPKIJsnIoZb5EMMGAk6TmxkDvvw==?uid=0&filename=QIP%20Shot%20-%20Screen%20057.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&fsize=1843107&hid=0006470b0852a46605a093d1ac11cc0b&media_type=image&tknv=v2&etag=09765aab8f78ae17d79bd8c4d5ef04e2&rtoken=DBSsVwsVvaCA&force_default=no&ycrid=na-e63aa0dae9361beca56efbb2fa5f2222-downloader15e&ts=56285dc5fedc0&s=a1ed37fabee649e91cc2c6e7a4202ea8000e2a7f8688fa34ac3ebeab62af590e&pb=U2FsdGVkX1-gQE7rff_IoisgzxZk1H70HOKbmd5BLRlEgw-wcQTAu5KjwSa916Sxd3_63nWzH2L1VLDt0515OckGa-htmfm1hnmeFCguhLA=)

Сначала ищем картинку 1 (Target1.bmp или Target2.bmp) и объявляем, что в таргете моб.
Потом ищем красные пиксли в зоне 2 и объявляем - живой моб, или нет.
И если он живой, то ищем картинку 3 и потом, на определенном расстоянии от нее, ищем цифры в зоне 4.
Ну и в зоне 5 - скилы. Skil1 - скил, готовый к использованию. Skil1a - скил, ушедший в откат.
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 11, 2018, 12:39:58 PM
Кстати, варианты Oraven-а были бы актуальны, если бы у кликера была бы команда типа delphi-йской - "break", с помощью которой, можно было бы выйти из цикла for, при первом обнаруженном готовом скиле, чтобы после его юза, кликер заново начал проверку с первого скила. Хотя может у кликера и есть такая команда - я пока не нашел...

Ааа... Можно же сделать выход по флагу наверно...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Vint on January 11, 2018, 02:01:59 PM
Кстати, варианты Oraven-а были бы актуальны, если бы у кликера была бы команда типа delphi-йской - "break", с помощью которой, можно было бы выйти из цикла for, при первом обнаруженном готовом скиле, чтобы после его юза, кликер заново начал проверку с первого скила. Хотя может у кликера и есть такая команда - я пока не нашел...

Ааа... Можно же сделать выход по флагу наверно...
Code: (clickermann) [Select]
Почему наверное... точно.
FOR($i=1,$i<6) // "Skil1.bmp" - "Skil5.bmp"
   IF_PICTURE_IN (477,741, 960,872, STRCONCAT("Skil",$i,".bmp"), -1, 100)
      $i = 100
...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Oraven on January 11, 2018, 06:11:32 PM
Точно, прерывания то циклов я не написал
Code: (clickermann) [Select]
DEFINE($Skil_1a, 0)
DEFINE($Skil_1, 0)
DEFINE($Skil_1_x, 0)
DEFINE($Skil_1_y, 0)

DEFINE($Skil_2a, 0)
DEFINE($Skil_2, 0)
DEFINE($Skil_2_x, 0)
DEFINE($Skil_2_y, 0)

DEFINE($Skil_3a, 0)
DEFINE($Skil_3, 0)
DEFINE($Skil_3_x, 0)
DEFINE($Skil_3_y, 0)

DEFINE($Skil_4a, 0)
DEFINE($Skil_4, 0)
DEFINE($Skil_4_x, 0)
DEFINE($Skil_4_y, 0)

DEFINE($Skil_5a, 0)
DEFINE($Skil_5, 0)
DEFINE($Skil_5_x, 0)
DEFINE($Skil_5_y, 0)

$t1 = $_ms

$targ=0
GETSCREEN
COLORMODE(6)
FOR($i=1,$i<4) // "Target1.bmp" - "Target3.bmp"
   IF_PICTURE_IN (579-50,40-40, 579+50,40+50, STRCONCAT("Target",$i,".bmp"), -1, 100)
      $targ=1
      $x_targ=$_return1
      $y_targ=$_return2
      $i=999
   END_IF
END_CYC

FOR($i=1,$i<6) // "Skil1.bmp" - "Skil5.bmp"
   IF_PICTURE_IN (477,741, 960,872, STRCONCAT("Skil",$i,".bmp"), -1, 100)
      SETVAR (STRCONCAT("$Skil_",$i,"a"), 0)
      SETVAR (STRCONCAT("$Skil_",$i), 1)
      SETVAR (STRCONCAT("$Skil_",$i,"_x"), $_return1)
      SETVAR (STRCONCAT("$Skil_",$i,"_y"), $_return2)
   else
      SETVAR (STRCONCAT("$Skil_",$i), 0)
      IF_PICTURE_IN ($Skil_1_x-4,$Skil_1_y-9, $Skil_1_x+7,$Skil_1_y+6, STRCONCAT("Skil",$i,"a.bmp"), -1, 100)
         SETVAR (STRCONCAT("$Skil_",$i), 0)
         SETVAR (STRCONCAT("$Skil_",$i,"a"), 1)
      END_IF
   END_IF
END_CYC

IF($targ > 0)
   IF_PIXEL_IN($x_targ+35,$y_targ, $x_targ+200,$y_targ+10, 4145151,4161407)
      //LOGWRITE ("Живой")
      $targ_Live=1
   else
      //LOGWRITE ("Мертвый")
      $targ_Live=0
   END_IF
   
   GETSCREEN
   COLORMODE(0) // 0-8 выбери правильное число
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "distance.bmp", -1, 100)
      $x=$_return1
      $y=$_return2
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+64,$y, $x+65,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure1=$i
            $i=999
         END_IF
      END_CYC
     
      FOR($i=1,$i<10) // "1.bmp" - "9.bmp"
         IF_PICTURE_IN ($x+69,$y, $x+70,$y, STRCONCAT($i,".bmp"), -1, 96)
            $figure2=$i
            $i=999
         END_IF
      END_CYC
   END_IF
   $distance = ($figure1*10)+$figure2
END_IF

$t2 = $_ms - $t1
LOGWRITE ($t2)

waitms(10)
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Hito on January 12, 2018, 12:16:52 AM
Что-то скрин мой, из сообщения в 12:13:31, постоянно пропадает...
Title: Re: Можно ли как-то ускорить выполнение скрипта?
Post by: Vint on January 12, 2018, 09:39:30 AM
Что-то скрин мой, из сообщения в 12:13:31, постоянно пропадает...
Я думал у меня одного глюк. С телефона дома он есть, а с компа на работе нет.
Проверил вот прямо сейчас, то же самое - картинка есть.


P.S. Посмотрел ссылку это картинка на яндекс диск. Подумал что если я авторизован под своей учёткой на яндексе то и ссылка шлёт не туда (комп всегда авторизован телефон - нет). Оказалось не из-за этого. Отдельно пытался открыть ссылку всегда ошибка "410 Gone".