1. Для того чтобы отобразить хилов, выберете в выпадающем списке (1) опцию "Роли справа/слева" или "Не показывать роли" для отключения.
2. Если в выпадающем списке (2) "Сортировать по:" выбрать опцию: "Класс / Название [Healers first]" то BGT всегда будет ставить обнаруженных хилов первыми.
3. Если на панели таргетов показывается знак вопроса (3), то это значит, что роль (хил/дд) еще не определена. Как только аддон определит спек, так сразу сменит иконку роли на соответствующую.
Вложение 847716Как писал ранее: данные для обработки поступают с трех независимых каналов и дублируют друг друга:
1.
raidNTarget — скан уникальных баффов, которые специфичны только для определенного спека хил/дд (например: Дисперсия, Облик тьмы у ШП. Астральный сдвиг или шаманистик у Шамана и т.д.). Сканирование происходит только тогда, когда кто-то из вашего рейда берет противника в цель.
2.
COMBAT_LOG_UNFILTERED — ищутся эвенты применения определенных баффов (уникальных для спека), которые могут быть наложены на совершенно другую цель. Как пример: только Холиприст может дать "Крылья". Это вспомогательный канал, поскольку в версии 3.3.5 не всегда работает стабильно.
3.
База данных (БД, громкое название конечно, но для краткости оставим как есть) — поиск и определение ролей сразу при заходе на бг и в процессе добора. Данные о хиле могут храниться в базе от одного до 11 месяцев включительно. По умолчанию: 6 месяцев. Удаляются только те ники, которые на протяжении указанного периода не встречались больше ни разу. А ники которые повторно встретились на БГ — просто перемещаются в конец очереди на удаление.
Установить период хранения данных в БД можно командой:
/bgt dbStoragePeriod <number> — число в мес. от 1 до 11. Если ввести команду без числа, то будет показано текущее время хранения данных. Так же БД можно отключить полностью, для этого используется предыдущая команда со значением 0. Включение - любое допустимое число.
За тот период пока писал и тестировал БД: у меня накопились некоторые данные по хилам.
Делюсь собственным набором данных, который вы можете, при желании, поставить к себе:
http://bit.ly/2PShKOL
Как ставить:
1. Идем по ссылке выше, копируем все текстовые поля (ctrl+a → ctrl+c).
2. Далее заходим в папку WTF\Account\ $YOUR_ACC_NAME$ \SavedVariables
3. Находим файлик BattlegroundTargets.lua, открываем в текстовом редакторе
a. Если Вы только что поставили аддон, и не заходили в игру, то: крутим в самый конец файла и на новой чистой строке делаем вставку (ctrl+v) того что копирнули выше.
b. Если Вы уже играли с новой версией данного аддона то, должны были записаться какие-то данные и их нужно заменить. Для этого: в текстовом редакторе жмем (ctrl+f) и вставляем следущую строчку:
BattlegroundTargets_HealersDB. Перейдя к искомой строке: удаляем ее и все что находится ниже, а на ее место вставляем новые данные.
4. Сохраняем документ.
P.s.: Структура данных в БД выбрана, конечно, не очень оптимально. Когда делал тестовую версию — думал переписать в последствии на "чистовик" после отладки всех кейсов. Но в итоге забил. Возможно, в случае интереса к данной версии аддона — сделаю оптимизацию алгоритмов сортировки, поиска и хранения данных. Не оптимальная структура, о которой я говорю, может вылиться в проблему, которая появится при большом объеме хранимых данных ( в контексте 3.3.5, это размер файла более ~2-5мб зависит от системы и от обвеса аддонами). Если при заходе на бг вы будете ловить фризы или во время БГ будут пролаги при обновлении реестра противников (кто-то новый зашел) — почистите файлик с данными, установите более короткий период для хранения данных, либо отключите работу БД: /bgt dbStoragePeriod 0.
Команда
/bgt dbStoragePeriod <number> не является единственной. При работе над аддоном требовался ряд логирующих инструментов для отладки механизма детектов, поэтому были добавлены следующие команды, которые могут быть полезны и вам, например, при репорте багов или для отлова "ботов-прицеперов":
- /bgt help — Выводит список всех доступных команд.
- /bgt hdlog — Показывает сообщения о детектах хилов/дд на БГ, сообщает о причине по которой произошел детект, а так же информирует о том сколько было сделано попыток для детекта. После БГ выдает отчет о всех успешных и не успешных детектах. Нужно писать до захода на БГ либо во время. Здесь можно спалить бота из противоположной фракции, который в след. раз, возможно, зайдет в вашу тиму. В данном случае (на картинке ниже) шамана с неизвестной ролью пытались определить 28 раз. Скорее всего, человек либо афкашил, либо это был "бот-прицепер", либо он не юзает баффы характерные для спека, что странно. Или же багует аддон :)
Обычно среднее допустимое значение по попыткам находится в диапазоне от 1 до 18 траев.
Вложение 847717 - /bgt hdlogAlways — Делает то же самое, что и команда выше, но позволяет не писать повторно hdlog каждый раз при релогах или релодах.
- /bgt hdreport — Выводит только репорт о всех детектах, когда вы находитесь на БГ.
- /bgt dbStoragePeriod <number> — [ описание команды находится выше ]
- /bgt — Просто открывает панель настроек BGT