1.2.2639

Добавлен механизм связей

Связи (они же "байндинги", bindings) это фича, которая позволяет связывать произвольные параметры действий и триггеров друг с другом, формируя цепочку зависимостей в которой при изменении, к примеру, Target Window в одном триггере это же окно будет автоматически выбрано и в другом триггере или действии, у которого сформирована соответствующая связь. Несколько примеров, где это может быть полезно:

  • Самое базовое - привязать параметры, которые отвечают за целевое окно, FPS, метод захвата и способ ввода, таким образом, изменяя этот параметр в ауре-источнике вы избавите себя от необходимости делать это везде.
  • Привязать координаты поиска (т.е. где именно ищем цвет/картинку) к позиции оверлея, который вы можете перетаскивать чтобы упростить процесс настройки координат захвата до предела
  • Привязать позицию оверлея к координатам найденного изображения чтобы добавить бордюр, подсветку или любую другую индикацию, обращающую ваше внимание на что-либо
  • Привязать координаты поиска к координатам уже найденного изображения, таким образом можно формировать цепочку поиска, которая будет в десятки раз быстрее и качественнее находить именно то, что нужно (нашли окно инвентаря => внутри окна инвентаря нашли сетку предметов => ищем в ней конкретный предмет).

На данный момент ядро системы готово, однако с точки зрения простоты для пользователя все пока сложно. Будет еще несколько волн доработок. которые призваны решить эту проблему, однако даже в текущем виде система позволяет конфигурировать крайне продвинутые наборы аур, которые для конечного пользователя весьма дружелюбны

ВАЖНО - для отображения байндингов поставьте галку “Show bindings” в настройках программы (правый верхний угол Settings).

Доработки по интерфейсу

  • Добавлена возможность перетаскивать действия мышкой между блоками
  • Добавлена возможность копировать/вставлять отдельные действия/триггеры/оверлеи

Добавлен функционал Report A Problem

Получать полный набор нужной информации это бесценно, однако каждый раз вручную собирать все это достаточно проблематично, не говоря уже о том, что некоторые вещи пользователю выслать довольно сложно(например, лог событий Windows).

Report-a-problem призван решить эту проблему и позволяет автоматически собрать и выслать в один клик полный пакет данных, при этом есть возмоность галками выбирать что именно отправлять, чтобы уменьшить размер репорта или если по каким-то причинам вы не хотите отправлять те или иные данные:

  • *.log - логи программы, отправляется только несколько самых последних логов
  • config.cfg и configDump.cfg - текущие параметры и все ауры
  • metrics.txt - метрики производительности, которые позволяют отследить сколько времени было потрачено на те или иные функции программы
  • EventLog* - лог событий ОС Windows, содержит в себе информацию о крашах, неудавшихся загрузках и т.п.
  • Wnd* png - скриншот окон программы
  • SystemInfo.txt - параметры компьютера, такие как версия ОС, железо и т.п.
  • Screen.png - скриншот всех мониторов ПО УМОЛЧАНИЮ НЕ ОТПРАВЛЯЕТСЯ

Данное окно можно вызвать тремя способами

  1. Нажать кнопку Report-a-problem в главном окне программы
  2. Поймать краш программы, в таком случае окно откроется автоматически
  3. Передать в ярлык программы параметр -u в этом случае откроется окно апдейтера, в котором можно нажать Report-a-problem.

Добавлен новый тип триггера - CsScript

Позволяет на языке C# писать прозивольный код. который будет включать/выкллючать триггер. Это особенно полезно, когда нужно заложиться на какое-то состояние, которое невозможно описать обычными триггерами, к примеру, скриптом можно провероять доступность удаленного сервера, наличие файла на ПК пользователя или любые другие сложные условия.

Доработки по SendInput

  • Добавлена поддержка относительных координаты - функционал полезен в играх, в которых отсутствует курсор как таковой, шутеры, нон-таргет ммо и т.п.
  • Добавлен функционал “Block user input” - позволяет на время выполнения действия блокировать ввод от пользователя с клавиатуры/мыши, полезно когда нужно чтобы воспроизвелась какая-то последовательность нажатий, но она может быть нарушена случайным движением мыши, к примеру
  • Добавлена возможность выбора клавиатурной раскладки при отправке текста

Багфиксы:

  • Native crash if hook is disposed
  • WindowsGraphics - leaks GPU and CPU memory when recreated
  • AuraEditor - rendering takes unexpected amount of time if there are 2+ items
  • SelectRegion crashes the app
  • WindowCapture - Preview Bitmap.Clone OutOfMemoryException
  • Crash if adding duplicate AuraIsActive and Graph exists
  • Image search - Недостаточный размер буфера
  • SendInput - координаты перестают передаваться
  • ThreadExecutor is not disposed on aura disposal?
  • Exception viewer throws error
  • App shows warning on auto-updates because checks for single instance too early
  • WindowsGraphics - should recreate item of it's closed
  • Crash - if WindowsGraphics source closes unexpectedly app crashes in KERNELBASE
  • Window freezes when resized
  • Если привязать клик к ауре, то координаты могут прилететь ПОСЛЕ активации
  • ExecuteScriptActionEditor - поддержка переключения источника
  • RandomPeriodSelector value is saved incorrectly
  • Sound cache is not working in EmbeddedSoundLibrarySource
  • NordVPN window(Windows Store? / Metro?) is not capturable
  • Red pixel is shown in top left corner of main screen
  • WinActive trigger is working incorrectly
  • SendMessage is not working - wrong registration in container
  • SendInput should throw if it has linked auras but no coordinates
  • HotkeyIsActive - WheelUp/Down not working
  • HotkeyTracker - if pressed key is released wth modifier it's not switch IsActive state
  • WinActivate - window does not activate in specified timeout, GetForegroundWindow is NULL
  • Show warning if capture region is outside of source bounds
  • Странное поведение архивной папки.
  • Создание новых аур в активной папке.
  • ImageSearch - Bounds are not propagated when loaded/unloaded
  • SendInput - modifiers are sometimes not pressed
  • Aura is not paused in time when Main Window is activated
  • SendInput - remove DefaultInputSimulator setting