1.4.7036

Enabling Conditions rework

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

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

Enabling conditions DISABLED preview

Triggers/Actions/Overlays are now minimizable

Это состояние сохраняется как часть конфигурации элемента, что означает, что оно останется таким до тех пор, пока вы снова его не измените. Triggers/Actions/Overlays are now minimizable

HotkeyIsActive further improvements

New HotkeyIsActive

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

  • Добавлены всплывающие подсказки
  • Улучшен механизм связывания аур в триггере - Interception conditions, подробнее об этом ниже

Interception conditions

На самом деле, они существуют уже много лет, но как-то не получали достаточно публичности, несмотря на то, что в некоторых случаях чрезвычайно полезны. В целом, этот механизм напрямую отвечает за включение/отключение обработки горячих клавиш. Добавляя одну или несколько аур, вы можете указать точный набор условий, которые должны быть выполнены, прежде чем HotkeyIsActive начнет перехватывать и обрабатывать события.

Например, связав ауру, внутри которой WindowIsActive, вы заставите триггер реагировать только на клавиши, нажатые пока активно игровое окно. В более сложных случаях вы можете связать триггер с некоторым условием в игре, например, когда вы нажимаете RMB(=часть HotkeyIsActive) И какой-то мощный скилл готов к использованию (=связанное условие), вместо выполнения того, что обычно находится на RMB, вы можете симулировать нажатие клавиши, которая кастанет скилл. Хорошим примером было бы автоматическое использование Vaal Skills в Path of Exile - у вас есть обычная версия навыка, привязанная к какой-то кнопке, которую вы нажимаете, и когда у Vaal версии накопится достаточно душ, она будет автоматически выпущена, вам даже не нужно будет помнить об этом.

Для лучшего понимания, зачем нужны два следующих параметра, приведу пример(со скрина выше): Есть HotkeyIsActive, который отслеживает нажатия F3 в режиме Toggle, что означает, что когда я впервые нажимаю на F3, триггер активируется и чтобы деактивировать его, мне нужно сделать второе нажатие. Очень просто и очень полезно для включения/отключения некоторых более сложных аур (например, автоматических зелий). Также я установил опцию Suppress Key, которая блокирует F3 от достижения игрового окна вообще - иначе игра могла бы реагировать на что-то, привязанное к F3. Что плохо в этой конфигурации, так это то, что если оставить её как есть, F3 будет блокироваться во всех приложениях, а не только в моей игре - не очень удобно, если вы спросите меня. Чтобы исправить это, я могу добавить Interception conditions с WindowIsActive и это ограничит F3 только одним игровым окном.

Рабочий вариант, но есть две проблемы:

Interception conditions - Ignore if Hotkey is set

Проблема: Чтобы отключить HotkeyIsActive мне нужно, чтобы игровое окно было в фокусе. Так что если я хочу отключить что-то, что привязано к F3, мне сначала нужно активировать игровое окно. Если F3 включило какой-то агрессивный кликер, вернуть ваше окно на передний план может быть непростой задачей.

Решение: Установив эту опцию, вы теперь можете сделать так, чтобы включение триггера можно было выполнять только при активном игровом окне, но отключение можно было выполнять из любого места. Забыли выключить ваш кликер перед переключением? Не проблема, просто нажмите F3 снова, и триггер будет отключен. Обратите внимание, что эта опция будет действовать только если переключатель в данный момент активен.

Interception conditions - Automatically deactivate Trigger

Проблема: Нет быстрого способа отключить HotkeyIsActive - обязательно нужно нажать кнопку. В некоторых случаях это неудобно - нужно помнить, что какая-то автоматизация сейчас работает. К примеру, вы переключаетесь на браузер и забываете о том, что у вас запущен какой-то скрипт. Затем, неожиданно, какое-то условие триггера срабатывает и вы начинаете делать что-то в игре. Это может привести к проблемам.

Решение: Просто установите эту новую опцию. Теперь, если условие перехвата триггера больше не выполняется, триггер автоматически деактивируется. В нашем примере, если я переключусь из игрового окна, вся функциональность, которая управляется F3, будет деактивирована. Обратите внимание, что вам нужно будет снова активировать его после того, как вы переключитесь обратно в игру. С этой опцией включенной, вы можете сделать общую систему более устойчивой к человеческим ошибкам.

Image Capture Triggers UX improvements

Исторически, когда вы редактировали настройки Image Capture Triggers (Image/Text/Color/ML), окно предварительного просмотра обновлялось с точно такой же Capture rate, которую вы настроили (или ниже, если триггер не мог достичь этого FPS). В большинстве случаев это не проблема, но как только вы начинаете работать с очень низким FPS, таким как обновление триггера 1 раз за 10 секунд, или даже 0 FPS триггеры, которые используются в сочетании с C# scripts и Behavior Trees. Ранее вам нужно было вручную нажать на кнопку Refresh, чтобы принудительно перерисовать, что не очень удобно. Теперь вы можете установить минимальный FPS предварительного просмотра для всего приложения, который будет использоваться вместо Capture Rate триггера.

Minimum Preview FPS будет действовать только во время включения предварительного просмотра! Он не повлияет на FPS после этого и не будет экспортирован как часть конфигурации триггера.

Triggers UI improvement - added status display

From now on, you can hover cursor over trigger state to get a better understanding of why exactly it has this value. For example, if enabling conditions are not met - trigger state description will tell exactly that. If trigger is misconfigured - it will tell what exactly is missing. Right now the coverage is far from completeness, but eventually we'll get there.

HotkeyIsActive state Image Search state Image Search state#2

Bugfixes/Improvements

  • [UI] Исправлен сбой, который происходил при запуске и заставлял EventViewer отображаться поверх заставочного экрана
  • [Pack] Улучшения в упаковке - теперь упакованные версии не реагируют на ссылки "eyeauras://", в отличие от основной версии
  • [UI] Выгрузить все/Загрузить все теперь влияют также на Behavior Trees