(2134.PLUS.beta) Обновлена BETA-версия программы Помощник.

Активным лицензиям последних версий (2134+) по 28.02.2021 будут начисляться дополнительные 240 минут (начисление происходит несколькими более мелкими частями в течении суток при условии, что программа не закрыта).

Что изменено с прошлого релиза:

    - (Исправлено) недочеты, которые могли досрочно прерывать цикл повтора *доп.скриптов расписаний планировщика. В частности для нормальной работы вчерашнего шаблона на лавку желательно обновиться. Кроме того нужно еще раз применить шаблон на всех строках ожидания (его содержимое так же обновлено).

    Для установки обновления перезапустите программу и согласитесь с запросом на обновление при новой загрузке.
    Либо установите программу поверх в ту же папку (при закрытой программе) с установщика:
Альтернативные ссылки на установщики:
бета версия помощника: 
https://drive.google.com/file/d/1vL2TI17ihGUves5ZklXyyoUIn9P-xqnO

(2133.PLUS.beta) Обновлена BETA-версия программы Помощник.

    Что изменено с прошлого релиза:

    - (Добавлено) в планировщик добавлены шаблоны. В данный момент пока  один для организации 10-минутного ожидания появления лото в лавке. Шаблон не затрагивает ИД и время срабатывания (его нужно выставить на нужную точку самостоятельно), но заменяет все остальные параметры (в том числе выполняемые скрипты). Так что в общем случае вам нужно открыть параметры существующего расписания, либо создать новое. (1) Задать время когда должно стартовать "ожидание лавки" (обновление содержимого и сравнивание с вашим списком покупки на соотв. вкладке) и (2) выбрать нужный шаблон из списка (который заполнит все остальные параметры (3) заранее определенным набором данных). В назначенное время программа сменит текущий режим на "Ожидание" и начнет с небольшим периодом перепроверять лавку до начала покупки. Через 10 минут будет возвращен предыдущий режим работы.
(картинка увеличивается при клике)  
    Важно понимать, что это только настройка ожидания. Список покупки вы должны сформировать отдельно (самостоятельно) согласно ваших предпочтений. В разделе "Настройка", если что, есть информация по настройке покупки.

    Кроме того можно скачать строку-расписание целиком в виде файла (важно, файл подходит только под новые версии 2133+) (время выставлено по серверу/мск. при отличном часовом поясе его нужно подкорректировать): 
(Завтра, предположительно в 13:32 по мск., ожидаются лотереи тиражей 47 и 48).
    Загрузить ее в список можно с помощью ссылки над списком.

    Для установки обновления перезапустите программу и согласитесь с запросом на обновление при новой загрузке.
    Либо установите программу поверх в ту же папку (при закрытой программе) с установщика:
    Альтернативные ссылки на установщики:
бета версия помощника: 
https://drive.google.com/file/d/1vL2TI17ihGUves5ZklXyyoUIn9P-xqnO

 Планировали, планировали, да запланировали.

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

    Как обычно большинство моих изобретений имеют разную степень "сложности"(количество параметров влияющих на результат). Рассмотрю их в отдельности. Можете заварить кофе/чай, а то может и запастись стаканом, как известно, он первый помощник в ситуациях вникания =) . Поехали.

    Вызвать окно со списком расписаний можно, например, из меню "Окна" рабочего окна. Этот пункт слева имеет значок часов.

    Если в списке не выделен ни один элемент, то окно содержит непосредственно список и несколько управляющих элементов вверху. Одним из которых является создание нового "события". 

    Нажатие на ссылку добавляет новую запись с "точкой" срабатывания "сейчас" (удалить ненужную позицию можно кликом в поле "Удалить"-"Х" в самом списке). При этом над списком отображается область параметров текущего элемента (текущего выделенного). В ней ему можно отредактировать:
(1) идентификатор (ИД). Уникальная строка, которая используется для изменения параметров расписания из скриптов;
(2) комментарий. Еще одна строка, в которой можно указать более подробное текстовое описание выполняемой задачи;
(3) основной (всегда однократный) скрипт. Набор команд, который нужно выполнить.
(4) время срабатывания (полный набор из год.месяц.день часы:минуты:секунды). Причем кроме фиксированного значения может иметь циклическое. Фиксированное это, например, "2021.02.24 12:00:00". Оно сработает один раз, после чего без машины времени (ну либо манипуляций с системным временем) создать условия повторного срабатывания будет невозможно. 
    А циклическое использует отрицательные значения в соответствующих полях. Имеет смысл кратности начиная с нуля. 
    "-2" - каждое второе значение: 0, 2, 4, 6 ... 20, 22, ...
    "-3" - каждое третье: 0, 3, 6, ... 18, 21, ...
    "-4" - каждое четвертое: 0, 4, 8, ... 16, 20, ...
и так далее, причем "-1" - по сути "каждое" любое, т.к. период этого значения получается "1".
    Пример:"2021.02.24 12:-2:00" - срабатывать каждую четную минуту (после :00 секунд) в течении часа "12" указанной даты. Получится 30 срабатываний за этот час ("2021.02.24 12:00:00", "2021.02.24 12:02:00"... "2021.02.24 12:58:00").
    Пример:"2021.-1.24 -2:01:01" - срабатывать каждый месяц 24го числа каждый четный час (в 01 минут и 01 секунд). Тут уже срабатываний больше и они будут распределены на весь 2021 год ("2021.01.24 00:01:01", "2021.01.24 02:01:01" ... "2021.02.24 04:01:01" ... "2021.12.24 22:01:01").
    Явный минус - начальная точка отсчета всегда 0. Задать сработку со смещением, например для периода "2": 1, 3, 5, 7, ... - не получится.
    Рассмотренный выше набор параметров является базовым. Однако есть расширенный, включающий дополнительные поля (обозначаются звездочкой * впереди) и их влияние на итоговый результат.     Активируется он для всего списка целиком опцией "*доп. поля списка"(1) в верхней части окна и включает кроме описанных выше (которые не меняют свой смысл) следующие:
    (2) *дополнительный период активности. После срабатывания основной временной "точки" указанное число секунд считается "активным периодом". Каждая проверка, попадающая в этот период имеет отдельную обработку.
    (3) *скрипт дополнительного периода. Именно он будет запускаться в этот период. Причем может это делать неоднократно.
    (4) *счетчик доп.скрипта. Регулирует число выполнений. "0" - каждый раз при проверке в активном периоде. Положительное число - не более указанного число раз. Даже если активный период продолжается, но счетчик израсходован, скрипт вызываться не будет. Отрицательное число запрещает выполнение, задавать его исходным в параметре смысла особого нет, но можно установить из какого-либо скрипта (динамическое отключение, в зависимости от других условий)
   (5) *интервал запуска доп.скрипта (секунд). Кроме выполнения в каждое попадание в активный период (а такое может происходить и, например, каждую секунду), что может быть слишком часто, чем требуется; можно выполнять *доп.скрипт не чаще, чем указанное число секунд. Т.е. если прошлое выполнение было 3 секунды назад, а интервал 5, то запуск не состоится.
    При окончании активного периода (и запусков *доп.скрипта) будет однократно запущен основной скрипт. Такая мутная (это от того, что стакан после холодной водочки запотел) схема в первую очередь преследует цель временной смены параметров. Например, есть расписание появления лото в лавке редкостей или боссов, и есть у соответствующих функций работы с этими направлениями период, когда они производят поиск цели. Вне периодов часто искать цели смысла нет - только тратить на это время, отрывая его от фарма. А в "узкие" промежутки имеет смысл только ждать и проверять очень часто. Вот тогда схема с "активным периодом" может быть полезна. 
    Вариант 1. Однократно запускаем *доп.скрипт (со счетчиком "1") в начале периода. В нем переводим программу в режим "Ожидание", а интервал опроса для нужной функции ставим в "часто" (например 1 секунда). А в конце периода уже основным скриптом возвращаем все "як и було". (Такое безусловно можно сделать и двумя записями на разные "точки" и в упрощенной схеме без *доп.полей, но этот вариант будет компактнее =) ).
    Вариант 2. Внутри *доп.скрипта (выполняемого и интервалом много раз) самостоятельно производим проверки и вызываем нужные функции. В этом случае основной завершающий скрипт даже может и не понадобится. Просто какой-то период усиленно по-проверяли что-то и успокоились. 
    *Расширенный вариант на конкретной строке списка легко преобразуется в упрощенный установкой *периода активности в значение "0". Тогда, даже если *доп.скрипт не пуст, он никогда не будет выполнен, а сразу за "точкой" срабатывания будет запущен основной.
    Еще одной особенностью планировщика является, что он работает только "между" событий работающих режимов. То есть в рабочем окне должен быть нажат Старт. Вторым моментом, что проверка осуществляется не в любые моменты, есть определенные точки выполнения, в которые будет вызван контроль. Например, он никогда не будет вызван в бою, т.к. доп. действия могут занимать продолжительное время, прерывание боя на него вызовет проигрыш. Существуют и другие "цельные" события, внутрь которых проверка не вклинивается. Это дает более стабильный результат, но реакция на события может "плавать", например установлено в "12:00:00", но очередной контроль зайдет сюда только в 12:00:02 (зависит от деталей каждого конкретного случая, если скорость реакции крайне важна, то точку срабатывания лучше установить чуть раньше, использовать *расширенный вариант и в *доп.скрипте перевести программу в режим "Ожидание", чтобы убрать всю лишнюю активность, а затем вернуть режим назад в основном завершающем скрипте).
    А теперь слайды конкретный пример для лавки редкостей. Упрощенный режим для этого не очень походит, поэтому сразу рассмотрю *расширенный, причем в обоих вариантах его использования рассмотренных выше.
   Дано: нагая дева лезет в окно. Не то =) Дано: в шестнадцать ноль-ноль дают лото. Причем эти 16:00 ориентировочные, не обязательно в 16:00:00 оно будет. Может появиться конечно, но может и в 16:00:41, и в 16:01:33. Так что имеем некий период, когда нужно "ловить".
    Реализация (детали прописи значений смотри ниже в приложении). Устанавливаем время в "2021.02.24 15:59:55" (чуть загодя, запас выбирайте на свое усмотрение). *Период активности, например, = "180" (секунд, что даст 3 минуты, за это время скорее всего гарантированно разметут большие стеки, и дальше закупиться большим объемом будет затруднительно). Дальше в соответствии с вариантами выше.
    Вариант 1. *счетчик доп.скрипта = "1". В самом *доп.скрипте два действия: перевести текущий режим в "Ожидание" и изменить интервал опроса лавки в рамках автопокупки в какое-то малое значение, например 1 секунда. 

setWorkMode( --Изменить_режим_работы_на
    modeWaiting--[[Ожидание]])
setAuchanScanInterval( --устанавливает новый интервал опроса (автопокупки) лавки
    1) --число секунд [(не обязательно),вкл/выкл (1 или 0) саму функцию]

либо если опустить комментарии в коде так (без текста не влияющего на выполнение):

setWorkMode(modeWaiting)
setAuchanScanInterval(1)

  *Доп. скрипт запустится один раз, дальше будет работать стандартная проверка автопокупки, но с более частым интервалом. Основной скрипт должен вернуть интервал проверки в значение не мешающее дальнейшей деятельности (притормаживать для опроса лавки каждую секунду "вообще всегда" сильно замедлит остальные задачи), например "240" (секунд, это 4 минуты). Кроме того в нем нужно переключить режим с "Ожидание" на тот, который вы запускали изначально, например, островной.

setAuchanScanInterval( --устанавливает новый интервал опроса (автопокупки) лавки
    240) --число секунд [(не обязательно),вкл/выкл (1 или 0) саму функцию]
setWorkMode( --Изменить_режим_работы_на
    modeIsland--[[Островной]])

или же:

setAuchanScanInterval(240)
setWorkMode(modeIsland)

    Вариант 2. *счетчик доп.скрипта = "0" (запускать любое число раз). А в *доп.скрипте немного другую конструкцию: режим "Ожидание" (перевести в него если он другой) и прямой вызов функции однократной проверки лавки (если она найдет цель, то сразу же начнет покупать). В данном случае частота опроса лавки задается параметром *интервал для доп.скрипта, например, "1" (секунда).

setWorkMode( --Изменить_режим_работы_на
    modeWaiting--[[Ожидание]])
getAuchanFromGame(--[[без параметров. Обновление лавки, возвращает признак начала покупки]])

или же:

setWorkMode(modeWaiting)
getAuchanFromGame()

    Здесь параметры самого помощника не затрагиваются и как только закончатся условия для запуска *доп.скрипта, то и частый опрос лавки тоже прекратится. Однако основной скрипт все еще нужен для выведения пома из пике режима "Ожидание". 

setWorkMode( --Изменить_режим_работы_на
    modeIsland--[[Островной]])

или же: 

 setWorkMode(modeIsland)

    Приложение к реализации
    Изменение текущего режима работы программы. Установить курсор ввода в скрипте в нужную (пустую) строку. В меню редактора (вверху) выбрать "Общие" - "Изменить режим". Пропись по умолчанию "пустая", в ней значится "не изменять". Вызов команды в таком виде допустим, но никаких изменений не произведет. 
Нужно заменить параметр в команде на нужный режим. Для этого удобно воспользоваться блоком "Режимы работы" на панели выше. Курсор ввода установить на любую часть прошлого параметра. 
В выпадающем списке выбрать нужный режим, а после нажать кнопку "V Вставить V". Текст на позиции ввода будет заменен.
    Изменение интервала опроса лавки в рамках автопокупки. Установить курсор ввода в скрипте в нужную (пустую) строку. В меню редактора (вверху) выбрать "Разное" - "Лавка редкостей" - "Установить интервал опроса". В скобках (перед закрывающей в данном случае) указать число секунд (больше нуля) нового значения.
    Вызов функции однократного опроса лавки. Установить курсор ввода в скрипте в нужную (пустую) строку. В меню редактора (вверху) выбрать "Разное" - "Лавка редкостей" - "Обновить + Поиск/запуск покупки". Данная команда без параметров вариантов выполнения у нее нет. Однако она возвращает признак начала покупки (т.е. что цель была найдена в результате) - "1", и "0" в противном случае. 
Проверив ответ можно предпринять дополнительные действия, например используя конструкцию lua: if _ then _ [else _] end.

(2132.PLUS.beta) Обновлена BETA-версия программы Помощник.

Активным лицензиям последних версий (2132+) по 26.02.2021 будут начисляться дополнительные 240 минут (начисление происходит несколькими более мелкими частями в течении суток при условии, что программа не закрыта).

Что изменено с прошлого релиза:

- (Изменено) порядок пунктов в меню "Окна" (рабочее окно помощника). Дополнительное меню для открытия вкладок окна настроек перенесено наверх. Тогда сам процесс выбора получается компактнее, а не "раскрой длинное меню, которое потом внизу еще одно такое же". Так же поднят наверх вызов редактора lua-скриптов. Части пунктов (пока два, потом думаю сделаю на большинство) добавлены пиктограммы, по которым должно быть удобнее выискивать нужное (это правда увеличило расстояние между отдельными строками, но мелкие пиктограммы вообще не смотрелись =) ). Нужны отзывы: лучше более плотный текст или картинки;
- (Добавлено) планировщик. Пока вызывается только из меню "Окна" в рабочем окне (см.скрин выше). Позволяет задать однократный или циклический запуск lua-скриптов, через которые можно изменять доступные параметры программы или запускать функции-действия (инструкция будет выпущена отдельным постом в ближайшее время);
- (Доработано) для опций позволяющих использовать отрицательные значения для простоты их ввода в окне номеронабирателя будет отображаться небольшая кнопка, позволяющая изменить знак текущего введенного числа на обратный (+/-).

    Для установки обновления перезапустите программу и согласитесь с запросом на обновление при новой загрузке.

    Либо установите программу поверх в ту же папку (при закрытой программе) с установщика:
Альтернативные ссылки на установщики:
бета версия помощника: 
https://drive.google.com/file/d/1vL2TI17ihGUves5ZklXyyoUIn9P-xqnO

(2131.PLUS.beta) Обновлена BETA-версия программы Помощник.

Активным лицензиям последних версий (2131+) по 16.02.2021 будут начисляться дополнительные 240 минут (начисление происходит несколькими более мелкими частями в течении суток при условии, что программа не закрыта).

Что изменено с прошлого релиза:

- (Исправлено) проблема совмещения боевых режимов (арена, пещера) с магазинным. В отдельные моменты режим переключался (становился НЕ_магазинным), а точка выполнения оставалась в островно-магазинном блоке. В итоге производился поиск монстров и иногда даже их атака. Добавлены дополнительные проверки запрещающие поиск и атаку островных монстров, если режим не "островной" или "остроМаг";
- (Изменено) кнопка "глаз" для резервного указания источника призыва смещена в сторону от списка свитков, кроме того ее видимость привязана к уровню подробности настроек "расширенный 2". А так же введено временное ограничение на ожидание действия из игры (1 минута). Сделано это все для того, чтобы случайное нажатие на эту кнопку не привело к неожиданным результатам (призыв это разбор, если выполнить "Объединить все" на случайном разбираемом предмете, например сфере неопределенности, то запуск призыва просто их изведет на нет. К "глазу" стоит относиться именно как к резервному способу если вдруг есть новый свиток призыва, который не добавлен в стандартный список;
- (Дополнено) до этого через встроенный движок lua-скриптов были доступны только "устанавливающие" функции (например, изменяющие параметры предметов или монстров). Получить какие-то параметры было нельзя. Сейчас добавлены первые "получающие" (доступны в меню окна редактора). 
=1=. Значения игровых событий (триггеров), чтобы можно было производить действия основываясь на более чем одном таком параметре;
=2=. параметры предмета по его коду. Можно использовать для контроля одновременного сбора разных предметов. Например собрать 4 разных предмета на коллекцию и после остановиться. Раньше можно было среагировать только на сбор одного наименования;
=3=. параметры монстра по его коду;

В ближайшем будущем будет добавлено определение свободного места в сундуке, магазине. Общее число конкретного предмета на персе. Выставление предметов на продажу и многое другое. В частности можно будет автоматизировать продажу большого числа предметов через биржу/магазин заполняя места выкупленного без вашего участия. Кроме того появились и новые "устанавливающие" функции. В частности полезные для работы с циклической рекламой в торговый чат (о применении их к текущим условиям смотрите пост ниже).

    Для установки обновления перезапустите программу и согласитесь с запросом на обновление при новой загрузке.
    Либо установите программу поверх в ту же папку (при закрытой программе) с установщика:
Альтернативные ссылки на установщики:
бета версия помощника: 
https://drive.google.com/file/d/1vL2TI17ihGUves5ZklXyyoUIn9P-xqnO

 Управление рекламой в торговый чат.

В отдельных случаях нужно реагировать на изменения в игре, чтобы не писать лишнего в торговый чат. (О спаме рекламе в торговый чат можно почитать тут: http://heavengameonline.blogspot.com/2021/02/blog-post_5.html)

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

Итак детали по шагам. Как и в предыдущих примерах нам нужен будет АКТИВНЫЙ (с проставленной сверху него соотв. галочкой) список событий находящийся на "Разное" - "часть 3" окна настроек. В поиске внизу находим событие по тексту из медали и переносим его в верхний список.

Далее нужно задать условие после которого нужно внести изменения в рекламу. Допустим <Текущее> " > " "240". Начать реагировать, когда счетчик подаренного перевалит за 240. Кликаем в поле "Сравнение" и выбираем знак "больше" (" > "). А затем в контроль вводим 240.
Далее нужно задать действие. В нашем случае это будет прекращение отправки сообщений на обмен подарками (а для этого интервал отправки нужно выставить в 0 минут). Кликаем в поле "Действие" - открывается редактор скриптов. Вверху окна выбираем меню "Разное" - "Выбранный чат" - "Уст.(ановить) интервал рекламы".
В скрипт вставится пропись, в ней нужно указать новое значение интервала, то есть 0.
При достижении нужного числа подарков. В логе появится соотв. сообщение, а значение опции в окне выбранного чата примет указанное значение.
Скачать рассмотренный выше скрипт можно отсюда: http://2b2s.ru/files/стоп_спам.lua . Загрузить его в редактор можно через ссылку "Загрузить" внизу. (Важно. Для работы данной команды нужна 2131+ версия помощника).

А все условие целиком по этой ссылке: http://2b2s.ru/files/Прекратить_рекламу_обмена_после_240_ключей.cpss. А данный файл загружается через этот элемент. 

Данной функцией можно не только отключить, но и наоборот начать "рекламу" (по какому-то своему событию), установив значение больше нуля. Вторым параметром тут же можно задать и нужный текст, обрамив его в кавычки "" или [[]].

 Лайфхаки подвезли! =)

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

Надеюсь эта информация поможет дополнительно облегчить вам небесную жизнь =).

 "Смытие" проклятий с перса.

Вся настройка выполняется через список контроля игровых событий. Выйти на него можно через меню в рабочем окне программы: "Окна" - "Вкладки в окне Настройки" - "Игровые события" (картинки ниже увеличиваются при клике).

Этот список позволяет обработать много игровых ситуаций (в том числе получение медалей) и прописать нужные вам действия через lua-скрипты.

На каждое проклятие нужно задавать реакцию отдельно, т.к. под них активируется отдельное событие/медаль.

Первым действием нужно найти нужное событие, которое отвечает за активность медали проклятия. Для этого в нижней части вкладки нужно произвести поиск по названию. Требуемое событие имеет вид "получить <проклятие>". Добавьте его в верхний список перетаскиванием.

Далее сформировать условие, чтобы при получении проклятия запустилась нужная нам обработка. Общий вид в итоге должен быть "Текущее" "==" "1" <поле Контроль>. Для ввода числа в поле выполните в него клик.

Затем нужно задать действие. Им будет разбор 1 шт предмета "Живая вода". Производим клик в поле "Действие". 

Откроется окно редактора скриптов. Задать разбор любого предмета можно перетащив его на надпись "Разобрать" в блоке "Шаблоны" - "Действия" в верхней части редактора. Сам предмет можно найти через поиск по названию.

В тело скрипта будет вставлена пропись для разбора данного предмета. Детали работы функции разбора регулируются параметром. Расшифровка есть в описании. По умолчанию он имеет значение "0", что означает "все экземпляры, что есть в сундуке". Нам же нужен разбор всего 1 шт. Изменяем цифру в параметре на "1". Все. Больше действий не требуется. Итоговый скрипт имеет такой вид => . Его можно сохранить в отдельный файл, чтобы использовать для обработки других проклятий ("Сохранить" внизу редактора). Обратно из файла скрипт можно "Загрузить"(текущий скрипт можно скачать отсюда: http://2b2s.ru/files/разобрать_1шт_живой_воды.lua). Кроме автоматического выполнения любой скрипт (который может содержать не одно, а пропись большого количества разных действий) можно запустить на выполнение и руками ("Выполнить>>>")(не обязательно в данном случае).

Все, закрываем редактор. Поле "Действие" в списке изменит вид с "Нет", на первую строку скрипта. В ней удобно указывать комментарий с кратким описанием, чтобы было понятна суть. Кроме того есть поле "Комментарий" содержимое которого отображается и может быть отредактировано в поле над списком (отображает комментарий по текущей/последней выделенной позиции).

Так же для активации обработки всего списка над ним должна быть установлена галочка "Активировать" (позволяет быстро выключить все реакции, если в них нет необходимости, без удаления уже настроенных обработок).

 Жертвенные шкатулки.

Вся настройка выполняется через список контроля игровых событий. Выйти на него можно через меню в рабочем окне программы: "Окна" - "Вкладки в окне Настройки" - "Игровые события" (картинки ниже увеличиваются при клике).

Этот список позволяет обработать много игровых ситуаций (в том числе получение медалей) и прописать нужные вам действия через lua-скрипты.

Текущий вопрос можно решить с помощью уже готовых предустановок. Открываем их список и поочередно выбираем нужные "цвета" шкатулок.

При этом в список ниже будут добавляться строки, имеющие название "Принесено достаточно жертв" (совпадает с пунктом в условиях разбора предмета, там где должна появиться "зеленая галочка" сигнализирующая, что шкатулку можно вскрыть.). Наступление этого же события и будет отслеживать программа. Добавлять можно контроль и обработку нескольких шкатулок. Так же для активации обработки всего списка над ним должна быть установлена галочка "Активировать" (позволяет быстро выключить все реакции, если в них нет необходимости, без удаления уже настроенных обработок).
Базовая часть настройки завершена. Пока строка в активном списке, при завершении условия добития ("Принесено достаточно жертв") будет производиться автоматический разбор шкатулки нужного "цвета".