Author Topic: Последовательность действий.  (Read 1969 times)

0 Members and 1 Guest are viewing this topic.

i-egik

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Последовательность действий.
« on: April 09, 2019, 11:38:43 AM »
Здравствуйте. Возможно повторюсь, но среди "помогите разобраться" не могу найти интересующую меня проблему:
1) Столкнулся с такой проблемой, что бот не видит некоторые картинки. (или через раз находит)
2) Как прописать очередность действий? Чтобы бот приступал к следующему блоку только после того как завершит предыдущий. Пытался настроить это таймингами, но они постоянно съезжают (даже если с запасом брать). Он гоняет скрипт по кругу в итоге, если на секунду не успеет вложиться, нужно снова ждать пока он дойдет. Возможно, это одна из причин по которой не видит некоторые картинки....
3) Ещё одна странность с поиском картинки: в новом файле работает, копирую в основную программу: залипает.
4) Писал пареньку который написал скрипт для распознавания текста.... Помоги настроить его. Либо кто-то кто в этом коде разобрался.... (не хватает прямоты рук)
-------------------------------Чтобы в дальнейшем не отвечать на сообщение "пришли код"---------------

Code: (clickermann) [Select]
//ПОИСК//

GETSCREEN(489,896,522,949)
IF_PICTURE_IN (489,896,522,949, "поиск.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(3)


 //АНАЛИЗ СИЛ ПРОТИВНИКА//
 
 
//РАЗГРАБИТЬ//
 
GETSCREEN(1137,893,1420,955)
IF_PICTURE_IN (1137,893,1420,955, "разграбить.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(3)

//ОК//
 
GETSCREEN(399,194,1709,918)
IF_PICTURE_IN (399,194,1709,918, "ОК.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(3)

//БИТВА//


GETSCREEN(1516,885,1799,995)
IF_PICTURE_IN (1516,885,1799,995, "битва.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(35)

//авто//

GETSCREEN(1664,619,1721,674)
IF_PICTURE_IN (1664,619,1721,674, "автобой.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(1)

//бой// 

GETSCREEN(1646,821,1743,906)
IF_PICTURE_IN (1646,821,1743,906, "бой.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(30)

//продолжить//

GETSCREEN(771,822,1802,997)
IF_PICTURE_IN (771,822,1802,997, "продолжить.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
GETSCREEN(771,822,1802,997)
IF_PICTURE_IN (771,822,1802,997, "продолжитьь.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF


SUB (найм юнитов)
//найм//
 GETSCREEN(1666,684,1746,770)
IF_PICTURE_IN (1666,684,1746,770, "меню.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(1)
//солдаты//
 GETSCREEN(1410,698,1477,756)
IF_PICTURE_IN (1410,698,1477,756, "найм.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(1)
//ополы//
 GETSCREEN(167,486,425,764)
IF_PICTURE_IN (167,486,425,764, "ополы.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(1)
//закрыть//
 GETSCREEN(1710,85,1756,133)
IF_PICTURE_IN (1710,85,1756,133, "закрыть.bmp", -1, 50)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
WAIT(1)
END_SUB


 
« Last Edit: April 09, 2019, 11:57:13 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Последовательность действий.
« Reply #1 on: April 09, 2019, 11:59:52 AM »
1. Вместе с процентом совпадения нужно применять цветокоррекцию.
2. Нужно использовать цикл поиска. В шаблонах есть пример ожидания картинки
Скрипт продвинется дальше только после нахождения "file.bmp"
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

i-egik

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Последовательность действий.
« Reply #2 on: April 09, 2019, 02:42:50 PM »
И ещё совсем забыл... столкнулся с тем, что при запуске скрипта, программа периодически подвисает. Прям буквально зависает, перестаёт отвечать с окном системного сообщения о том что программа перестала отвечать и её работа была прекращена подождать пока отлипнет / закрыть программу.... Если подождать, то отвисает, но может так же подвиснуть на других частях кода. С чем это может быть связано? Скрипт вроде не особо большой чтоб заставлять программу призадуматься

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Последовательность действий.
« Reply #3 on: April 09, 2019, 04:22:08 PM »
И ещё совсем забыл... столкнулся с тем, что при запуске скрипта, программа периодически подвисает. Прям буквально зависает, перестаёт отвечать с окном системного сообщения о том что программа перестала отвечать и её работа была прекращена подождать пока отлипнет / закрыть программу.... Если подождать, то отвисает, но может так же подвиснуть на других частях кода. С чем это может быть связано? Скрипт вроде не особо большой чтоб заставлять программу призадуматься

Во время выполнения функции IF_PICTURE_IN управление кликером становится не доступно пока эта функция не завершится. На подвисания сильно влияет размер картинки поиска. Она должна быть маленькой, менее 50x50. Чем меньше пикселов в картинке тем быстрее поиск.
К тому же ты тут указал 50% совпадения что оочень замедляет поиск.
IF_PICTURE_IN (399,194,1709,918, "ОК.bmp", -1, 50)