Author Topic: Нужна помощь со скриптом для Demon Slayer  (Read 9869 times)

0 Members and 1 Guest are viewing this topic.

skytas

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Прошу помощи (т.е. сам практически ничего не соображаю по этой теме), нужен скрипт для поиска нужного изображения в определенной области экрана (оно может быть нескольких цветов, но цвет не имеет значения).

Пытался написать скрипт сам, использовал GETSCREEN и IF_PICTURE_IN, но дальше открытия и закрытия окна не ушел, т.е. я выполнил только пункты 1,5,6

Последовательность примерно такая:
1. Двойной клик лкм в постоянной точки экрана (для запуска рулетки).
2. Поиск в определенной области экрана нужного изображения (изображение у меня есть, уже в bmp).
3. Если изображение найдено, то остановить кликер.
4. Если изображение не найдено, то:
    5. Один клик лкм постоянной области экрана
    6. Закрытие окна, либо кнопкой Enter, либо один клик лкм в постоянной области экрана.
7.Повторить цикл с пункта 1.

Заранее благодарен.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #1 on: June 19, 2014, 04:35:23 PM »
Ну и что тут сложного? Все по пунктам:

Code: (clickermann) [Select]
DBLCLICK(10,10) // 1
WAITMS(500)

GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp") // 2
   HALT // 3
ELSE
   LCLICK(10,10) // 5
   WAITMS(500)
   KEYPRESS(#ENTER) // 6
   WAITMS(500)
END_IF

skytas

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #2 on: June 19, 2014, 04:58:34 PM »
Вписал свои параметры, рулетку открывает и закрывает но не останавливается при нахождении нужного изображения, а продолжает дальше открывать и закрывать рулетку. Что делать, может я чего то не понимаю.  :-[

Добавил картинки для наглядности
Первая это область поиска. Вторая что ищем (может быть другого цвета)
« Last Edit: June 19, 2014, 05:24:05 PM by skytas »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #3 on: June 19, 2014, 06:43:29 PM »
...но не останавливается при нахождении нужного изображения...

Ну очевидно же что он не находит твою картинку. Почитай о цветокоррекции
В твоем случае достаточно вырезать серединку в камне 10Х10 или 5Х5 пикселов. Чем меньше картинка тем быстрее найдет её кликер. А заодно от лишних пикселов избавишся. Также укажи точно зону поиска (почитай описание функции IF_PICTURE_IN в справке), зачем искать изображение там где его быть не может, только время тратить.. В примере я привел вариант поиска на всем экране (0,0, $_xmax,$_ymax, "file.bmp")
« Last Edit: June 19, 2014, 06:45:16 PM by Oraven »

skytas

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #4 on: June 20, 2014, 05:45:42 AM »
Я так понял, что для начала мне нужно найти изображение того камня который нужен, потом снять скриншот с параметром цветокоррекции, и только после этого уже искать нужное мне изображение. Но у меня проблема камни бывают нескольких цветов, например: красный, зеленый, синий, голубой, фиолетовый и т.д., как сделать так чтобы кликер искал камень любого цвета.

Вот я сделал всё как вы сказали:
DBLCLICK(1183,412) // 1
WAITMS(500)
 
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (776,364, 1140,667, "shot0000.bmp", -1, 80) // 2
   HALT // 3 
ELSE
   LCLICK(1176,315) // 5
   WAITMS(500)
   KEYPRESS(#ENTER) // 6
   WAITMS(500)
END_IF

Но он находит только камень того цвета с которого сделан скриншот, а другие не замечает.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #5 on: June 20, 2014, 07:16:59 AM »
как сделать так чтобы кликер искал камень любого цвета.
делать на каждый цвет отдельный if_picture_in

skytas

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #6 on: June 20, 2014, 09:11:24 AM »
Спасибо, я уже понял, сейчас ищу скриншоты всех цветов, как найду буду пробовать.

HawkHunter

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #7 on: April 10, 2015, 07:39:07 PM »
Здравствуйте, судя по выращенному советами скрипту:

Code: [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (776,364, 1140,667, "shot0000.bmp", -1, 80) // 2
   HALT // 3 
ELSE
   LCLICK(1176,315) // 5
   WAITMS(500)
   KEYPRESS(#ENTER) // 6
   WAITMS(500)
END_IF
Можно помочь с такой вещью:
Это скрипт по запуске рулетки, т.е. мы ищем несколько разных уникальных вещей, но если попадается неугодная вещь (которых может быть несколько разных), мы можем пропустить эту унику, но сделать скрин и продолжить далее поиск, помогите пожалуйста составить эту схему...да и я сам тоже попробую пока дождусь ответа.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Нужна помощь со скриптом для Demon Slayer
« Reply #8 on: April 10, 2015, 09:10:35 PM »
Используй SCREENSHOTEX
Code: (clickermann) [Select]
SCREENSHOTEX(776,364, 1140,667, "Image_", 0)