Поиск на экране
Ждать
WaitImage
основной
Ожидает появления изображения на экране. Программа периодически делает скриншот и сравнивает его с шаблоном. Когда изображение найдено — сохраняет координаты центра для последующего клика.
Исчезновение
WaitDisappear
Ожидает исчезновения изображения с экрана. Полезно для ожидания закрытия окон и завершения загрузки. Исчезновение подтверждается несколькими проверками подряд.
Ждать любую
WaitAny
Ожидает появления любого изображения из списка. Полезно, когда экран может оказаться в разных состояниях. Сохраняет номер найденной картинки.
Найти все
FindAllImages
Находит все вхождения изображения на экране и возвращает список координат. Полезно для подсчёта объектов или перебора их по очереди (вместе с шагом «Перебор точек»).
Прокрутка до
ScrollUntilFound
Прокручивает экран, пока не найдёт изображение. После каждой прокрутки делает паузу и проверяет снова. Полезно для поиска в длинных списках.
Пока не найдёт
RepeatUntilFound
Периодически проверяет наличие изображения с заданным интервалом. Между проверками выполняет действия из ветки NotFound и автоматически возвращается к началу — стрелку возврата рисовать не нужно.
Найти объекты
DetectObjects
Ищет на заданном участке экрана контрастные объекты без шаблона — по цветовому/яркостному выделению (HSV), а не сравнением с картинкой. Полезно там, где заранее неизвестно, как именно выглядит объект (разномастные предметы, иконки с разной раскраской), но он заметно выделяется на фоне. Возвращает список точек — как «Найти все», их можно перебрать шагом «Перебор точек».
Распознать текст
RecognizeText
Считывает текст или цифры с участка экрана через OCR (Tesseract) — уровни, ресурсы,
энергию, таймеры. Результат кладётся в переменную и работает в условиях («если энергия
< 200 → …»). Требует папку tessdata рядом с exe с файлами вида
eng.traineddata — скачиваются отдельно, в комплект не входят.
Мышь, клавиатура, паузы
Клик
Click
основной
Клик мышью по последней найденной позиции. Обычно ставится после «Ждать», «Ждать любую» или «Если найдено».
Клик XY
ClickCoords
Клик по заданным координатам. Координаты можно указать вручную или взять из переменной. Есть режим «только переместить» — курсор двигается без клика.
Текст
Text
Вводит текст с клавиатуры. Текст задаётся напрямую или берётся из переменной.
Клавиша
KeyPress
Нажимает клавишу: Enter, Space, Tab, Escape, стрелки, F1–F12 и другие.
Прокрутка
Scroll
Прокручивает колесо мыши вверх или вниз на указанное количество щелчков.
Пауза
Delay
Простая пауза на указанное время — для ожидания анимаций и загрузки.
Ветвления и повторы
Если найдено
IfFound
ветвление
Проверяет, есть ли изображение на экране прямо сейчас, без ожидания. При нахождении сохраняет координаты — можно сразу кликнуть.
Условие ==
IfVariableEquals
ветвление
Сравнивает переменную со значением на равенство. Можно указать несколько значений через точку с запятой — сработает, если совпадёт любое (например «1;6»).
Условие >
IfVariableGreater
ветвление
Проверяет, больше ли числовая переменная указанного значения. Дробные числа можно вводить и с точкой, и с запятой.
Условие <
IfVariableLess
ветвление
Проверяет, меньше ли числовая переменная указанного значения.
Цвет пикселя
IfPixelColor
ветвление
Проверяет, совпадает ли цвет в точке экрана с заданным RGB (с допуском) — самая дешёвая проверка состояния (полоска здоровья, активность кнопки, готовность скилла), без template matching. Читает усреднённый цвет области 3×3 вокруг точки — устойчиво к шуму. Координаты — относительно окна процесса, как у «Клик XY».
Повтор
Repeat
цикл
Цикл, который выполняется указанное количество раз. Счётчик сбрасывается при выходе.
Для каждого
ForEachSequence
цикл
Перебирает значения последовательности (например «1,2,3,4») и выполняет действия для каждого элемента. После тела цикла автоматически возвращается к началу — стрелку возврата рисовать не нужно.
Перебор точек
ForEachFoundPoint
цикл
Перебирает координаты, которые нашёл предыдущий шаг «Найти все» или «Найти объекты» — на каждой итерации ставит текущую точку как последнюю найденную, так что обычный «Клик» сразу кликает по ней. После тела цикла автоматически возвращается к началу — стрелку возврата рисовать не нужно.
Стоп
StopScenario
Принудительно останавливает выполнение сценария в этой точке графа — сразу, без дальнейших шагов и без циклов. Параметров не имеет: перетащили на холст, соединили — и блок готов, отдельного редактора у него нет.
Счётчики и значения
Установить
SetVariable
Устанавливает значение переменной. Тип определяется автоматически: число, логическое значение или строка.
Увеличить
IncrementVariable
Увеличивает числовую переменную на 1. Тот же редактор, что и у «Установить», с действием «Прибавить 1».
Уменьшить
DecrementVariable
Уменьшает числовую переменную на 1. Тот же редактор, что и у «Установить», с действием «Убавить 1».
Работа с окнами
Активировать
BringWindowToFront
Выводит окно целевого процесса на передний план; свёрнутое окно автоматически восстанавливается из панели задач. Процесс берётся из настроек сценария.
Клик в центр
ClickWindowCenter
Клик по центру окна целевого процесса. Если процесс не указан — кликает по центру экрана.
След. окно
SwitchWindow
Точка передачи управления следующему окну — работает только в мультиоконном режиме (несколько окон одного процесса игры). В одиночном режиме шаг просто пропускается, как будто его нет. Позволяет точно расставить, где именно в графе программа должна переключаться на другое окно, вместо автоматического чередования после каждого действия. Параметров не имеет, отдельного редактора у него нет.
Произвольный код
JS код
Script
Кусок произвольного JavaScript вместо цепочки кубиков — логика, переменные, условия
одним узлом. Движок — Jint (JS на чистом C#, встроен в программу, отдельно ставить
ничего не нужно). Внутри доступен объект ctx: переменные, поиск и клик
по картинке, клавиатура, лог.