Author Topic: Можно ли как-то ускорить выполнение скрипта?  (Read 6099 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
В общем я так понял, что как вариант - запускать 2-3 кликера... :) Ну и связь между ними делать через файл.
Я не ду... Потому и не бу...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
А что ищем на скрине? В упор невижу.
И кидай уж все заготовки используемые.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
У тебя тут зона поиска в 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

2 секунды это как то слишком долго. Какой размер этих цифр?
Приложи архив с картинками и скриншотом для их поиска.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Кроме того недавно замечено что версия 4.12 расширяет зону поиска, дополнительно, на размер картинки.

Я вот это и заметил )) Потому и координаты поиска такие ))
Сейчас намучу полный отчет с картинками.
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
В общем намутил я скрипт этот на три кликера. В том варианте, в котором он сейчас, все работает безупречно. Три кликера "общаются" между собой при помощи ini-файла. Вся эта замутка в целом еще не бот, а лишь некий кастыль, который только юзает необходимые скилы, когда в таргете моб.



Сначала ищем картинку 1 (Target1.bmp или Target2.bmp) и объявляем, что в таргете моб.
Потом ищем красные пиксли в зоне 2 и объявляем - живой моб, или нет.
И если он живой, то ищем картинку 3 и потом, на определенном расстоянии от нее, ищем цифры в зоне 4.
Ну и в зоне 5 - скилы. Skil1 - скил, готовый к использованию. Skil1a - скил, ушедший в откат.
« Last Edit: January 11, 2018, 07:19:37 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Кстати, варианты Oraven-а были бы актуальны, если бы у кликера была бы команда типа delphi-йской - "break", с помощью которой, можно было бы выйти из цикла for, при первом обнаруженном готовом скиле, чтобы после его юза, кликер заново начал проверку с первого скила. Хотя может у кликера и есть такая команда - я пока не нашел...

Ааа... Можно же сделать выход по флагу наверно...
Я не ду... Потому и не бу...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Кстати, варианты 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
...


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Точно, прерывания то циклов я не написал
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)

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Что-то скрин мой, из сообщения в 12:13:31, постоянно пропадает...
Я не ду... Потому и не бу...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Что-то скрин мой, из сообщения в 12:13:31, постоянно пропадает...
Я думал у меня одного глюк. С телефона дома он есть, а с компа на работе нет.
Проверил вот прямо сейчас, то же самое - картинка есть.


P.S. Посмотрел ссылку это картинка на яндекс диск. Подумал что если я авторизован под своей учёткой на яндексе то и ссылка шлёт не туда (комп всегда авторизован телефон - нет). Оказалось не из-за этого. Отдельно пытался открыть ссылку всегда ошибка "410 Gone".
« Last Edit: January 12, 2018, 12:37:44 PM by Vint »