Erinome Godville UI+

Материал из Энциклобогии
Перейти к: навигация, поиск


Erinome Godville UI+ — расширение для браузеров, изначально основанное на Godville UI+, но получившее уже заметное количество отличий и дополнительных возможностей от оригинала.

Тема на форуме в квартале мастеровых: Erinome Godville UI+ - браузерное расширение для Годвилля (Firefox, Chrome, Opera).

Информеры

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

Пользовательские информеры

Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре.

Настраиваются информетры в:

  • в блоке "Герой" при наведении курсора на шапку появится кликабельная иконка шестеренки
  • в верхнем меню по ссылке "настройки ui+" в разделе "Управление информерами" кликабельная ссылка в элементе "пользовательские информеры"

Каждый информер описывается одной строкой в формате:

Текст уведомления | набор условий | тип информера и уведомлений

Информер можно временно отключить, убрав галочку в начале строки.

Начиная с версии 1.1.17.4 в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. Начиная же с версии 1.1.21.0 - в фигурных скобках можно указывать и целые логические выражения любой сложности. При изменении значений входящих в заголовки переменных, тексты информеров будут соответственным образом обновлены. Для информеров с переменными в названиях существует два дополнительных модификатора работы уведомления - см. в таблице ниже.

Несколько условий объединяются логическими операторами && (логическое «И»), || (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» !true = false

Также имеются другие операторы:

Операторы Описание Примеры
==, !=
<, <=
>, >=
равенство и неравенство
меньше и меньше или равно
больше и больше или равно
100 == 100 →‎ истина
"строка" != "другая строка" →‎ истина
100 > 200 →‎ ложь
~, ~* регистрозависимое и регистронезависимое регулярное выражение,
возвращает результат в виде массива или null, если совпадения нет
"здесь есть число 4 и буква Ё" ~ "число \\d+" →‎ ["число 4"]
"здесь есть число 4 и буква Ё" ~ "число (.*?) и" →‎ ["число 4 и", "4"]
!~, !~* инвертированная версия регистрозависимого и регистронезависимого регулярного выражения,
возвращает true или false
"здесь есть число 4 и буква Ё" !~ "число \\d+" →‎ ложь
"здесь есть число 4 и буква Ё" !~ "число 5" →‎ истина
A[x] извлечение элемента номер x из массива A (отсчет x ведется с нуля) ("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1] →‎ "4"
("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5] →‎ undefined
+, -
*, /
%
сложение и вычитание
умножение и деление
остаток от деления
100 + 200 →‎ 300
50 * "строка" →‎ NaN
1898 % 13 →‎ 0
+, -
!
преобразование строки к числу, изменение знака
логическое отрицание
+"50" →‎ 50
!"строка" →‎ ложь

Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине:

Результат Примеры Описание
ложь 0, ""
false, null
undefined, NaN
ноль (как цифра), пустая строка, специальные значения,
которые могут принимать переменные и могут получиться
в результате применения операторов
истина - истиной считается всё, что не попадает под ложь
(в т.ч. включая пустые массивы)

Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам. Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает.

Буква Код Название Описание
<никакая> 0 стандартный информер включается, когда условие активации информера выполняется, выключается - когда условие активации информера перестает выполняться
S 1 неотключаемый информер включается при выполнении условия активации информера, выключается - только когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестает выполняться)
L 16 тип: стандартное уведомление мигание заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
D 32 тип: всплывающее уведомление отображается всплывающим окошком поверх всех окон
A 64 тип: звуковое уведомление звуковое оповещение согласно настройкам eGUI+
R 128 тип: повторяющееся звуковое уведомление звуковое оповещение, которое будет повторяться каждые несколько секунд (обратите внимание, что если тип "L" не включен, то данный тип будет работать как тип "A")
Q - мод: возобновимое уведомление имеет смысл только для информеров, имеющих в своем названии переменные; если информер был выключен пользователем (или не имел тип "L" и был отключен автоматически), а затем его текст изменился, то информер будет автоматически включен обратно
W - мод: настырное уведомление имеет смысл только для информеров, имеющих в своем названии переменные; если текст информера поменялся, то информер будет полностью перезапущен (что актуально для типов "D", "A" или "R")
N - мод: ненавязчивое уведомление имеющий смысл для стандартных информеров (L), модификатор типа N отключает мигание данного уведомления в заголовке окна, и оно только скромно висит в углу экрана
добавлен в версии 1.1.20.12.

Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)).

Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.

Переменные

Полный и актуальный перечень доступных переменных находится в файле FAQ на странице дополнения.

Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны неточности.

Готовые примеры

Пользовательский CSS

Дополнение позволяет добавлять на страницу игры дополнительные CSS-стили без необходимости заводить для этого дополнительный аддон вроде Stylish, Stylus и других подобных. Поле ввода CSS находится на странице настройки дополнения, каждое правило требуется вписывать на отдельной строке. Указываемые там правила применяются как к странице героя, так и к страницам хроник, форума и газете. После сохранения изменений страницу игры перезагружать не требуется и изменения будут активированы автоматически, а другие страницы понадобится переоткрыть для применения введенных правил.

Базовое описание синтаксиса CSS можно легко найти в интернете (например), а с определением классов и идентификаторов компонентов HTML-кода страницы поможет инструмент "Исследовать элемент" (или "Просмотреть код"), доступный по клику правой кнопкой мыши по интересующему элементу на странице.

Готовые примеры


  1. «Кстати, помните активируемые былиноделы, сундуки со сказками и прочие довольно бесполезные куплетописи? Теперь при активации в городе эти трофеи заодно усиливают там влияние гильдии — совершенно задаром». «Богучёт», пост в блоге от 12.05.2017