Автор Тема: как проконтролировать работу скрипта?  (Прочитано 1167 раз)

0 Пользователей и 1 Гость просматривают эту тему.

slawik_s

  • Зашел в гости
  • *
  • Сообщений: 15
    • Просмотр профиля
Доброго времени суток, собственно вопрос в названии темы. Игра, не всегда реагирует, на действие кликера. Поэтому, я  решил проверять его работу, с помощью скриншота.

мой пример:

KEYPRESS(#M)
WAIT(2)
DBLCLICK(1233,413)
WAIT(2)
DBLCLICK(1270,510)
WAIT(1)
DBLCLICK(1118,863)

далее, контрольный скриншот, для проверки вышеперечисленных действий.

GETSCREEN
IF_PICTURE_IN (754,889, 764,897, "search.bmp", -1, 100)
END_IF

если скриншот не совпадает, как вернуть выполнение скрипта на исходную позицию?
 

Tochka

  • Освоившийся
  • **
  • Сообщений: 67
  • Ищу, читаю, учусь...
    • Просмотр профиля
Re: как проконтролировать работу скрипта?
« Ответ #1 : Март 18, 2017, 09:46:54 am »
Я не совсем поняла, где именно тут подразумевается выполнение скриншота? Вижу поиск картинки. Если картинка найдена, то всё отлично, если нет, то надо выполнять манипуляции с нажатием клавиши и двойными кликами. Верно?
Возможно, это должно выглядеть таким образом. Если ошибаюсь, то местные профи оперативно поправят мой ляп.
Код: Clickermann
  1. $stop=0
  2. WHILE($stop=0)
  3. GETSCREEN
  4.   IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100)
  5.      $stop=1
  6.   ELSE
  7.      KEYPRESS(#M)
  8.      WAIT(2)
  9.      DBLCLICK(1233,413)
  10.      WAIT(2)
  11.      DBLCLICK(1270,510)
  12.      WAIT(1)
  13.      DBLCLICK(1118,863)
  14.      WAIT(1)
  15.   END_IF
  16. END_CYC
« Последнее редактирование: Март 18, 2017, 09:50:20 am от Tochka »
Сюда влетаю иногда... Возник вопрос и завелась метла

slawik_s

  • Зашел в гости
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: как проконтролировать работу скрипта?
« Ответ #2 : Март 18, 2017, 10:13:05 am »
совершенно верно, после манипуляций следует поиск картинки. Если картинка не найдена, как повторить, эти манипуляции до тех пор пока картинка не совпадет?
« Последнее редактирование: Март 18, 2017, 10:14:51 am от slawik_s »

Tochka

  • Освоившийся
  • **
  • Сообщений: 67
  • Ищу, читаю, учусь...
    • Просмотр профиля
Re: как проконтролировать работу скрипта?
« Ответ #3 : Март 18, 2017, 11:24:55 am »
Если вас не устраивает код, который я изложила ранее, то можете сделать чуть иначе:
Код: Clickermann
  1. $stop=0
  2. WHILE($stop=0)
  3.   KEYPRESS(#M)
  4.   WAIT(2)
  5.   DBLCLICK(1233,413)
  6.   WAIT(2)
  7.   DBLCLICK(1270,510)
  8.   WAIT(1)
  9.   DBLCLICK(1118,863)
  10.   WAIT(1)
  11.   GETSCREEN
  12.      IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100)
  13.         $stop=1
  14.      ELSE
  15.         SCREENSHOTEX(754,889, 764,897, "Ups_", 0)
  16.         HALT // остановка. пройдите в папку screens и сравните искомое с результатом
  17.      END_IF
  18. END_CYC
Правда при таком раскладе цикл не особо нужен, ибо скрипт у вас скорее всего долгое время будет выполняться ровно до строки 16. Если убрать остановку скрипта, то ваша папка перезахламиться скринами, на которые вы даже внимания не обратите. Если же убрать существование самого цикла, то это не будет соответствовать вашим требованиям, но можете попробовать и так:
Код: Clickermann
  1. $log=0
  2. KEYPRESS(#M)
  3. WAIT(2)
  4. DBLCLICK(1233,413)
  5. WAIT(2)
  6. DBLCLICK(1270,510)
  7. WAIT(1)
  8. DBLCLICK(1118,863)
  9. WAIT(1)
  10.  
  11. GETSCREEN
  12.   IF_PICTURE_IN(754,889, 764,897, "search.bmp", -1, 100)
  13.      IF($log=1)
  14.         LOGWRITE("Усё ништяки.")
  15.      END_IF
  16.   ELSE
  17.      SCREENSHOTEX(754,889, 764,897, "Ups_", 0)
  18.      IF($log=1)
  19.         LOGWRITE("Здесь и сейчас лично я вижу вот это... Твой Clickermann")
  20.      END_IF
  21.   END_IF
  22. HALT
Как-то так. Анализируйте, сравнивайте. Если картинка не соответствует стандартам функции IF_PICTURE_IN или находится не совсем в той области, то на скрине это будет видно. При нейтрализации ошибки SCREENSHOTEX и HALT можно закомментировать или убрать. Тут дело вкуса.
Сюда влетаю иногда... Возник вопрос и завелась метла

slawik_s

  • Зашел в гости
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: как проконтролировать работу скрипта?
« Ответ #4 : Март 18, 2017, 12:54:48 pm »
спасибо за помощь буду экспериментировать ;)