Erinome Godville UI+: различия между версиями

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


Так же доступны:
Также имеются другие операторы:
* ==, !=, <, <=, >, >= ← операторы сравнения: равенство, неравенство, меньше, меньше или равно, больше, больше или равно;
 
*  ~, ~* ← операторы регулярных выражений: регистрозависимое и регистронезависимое сравнение;
{| class="standard"
* +, -, *, / ← математические действия: сложение, вычитание, умножение, деление.
|-
Унарные операторы (например: !x, -a):
!Операторы || Описание || Примеры
*  +, - ← преобразует аргумент к числу (если это требуется), позволяет инвертировать его знак;
|-
*  ! ← логическое отрицание.
|style="text-align: center;" | ==, !=<br><, <=<br>>, >= || равенство и неравенство<br>меньше и меньше или равно<br>больше и больше или равно || <span style="background: silver;">100 == 100</span> →‎ <span style="background: lime;">истина</span><br><span style="background: silver;">"строка" != "другая строка"</span> →‎ <span style="background: lime;">истина</span><br><span style="background: silver;">100 > 200</span> →‎ <span style="background: #f99;">ложь</span>
|-
|style="text-align: center;" | ~, ~* || регистрозависимое и регистронезависимое [https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F#.D0.A1.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81 регулярное выражение],<br> возвращает результат в виде массива || <span style="background: silver;">"здесь есть число 4 и буква Ё" ~ "число 4"</span> →‎ <span style="background: lime;">["число 4"]</span><br><span style="background: silver;">"здесь есть число 4 и буква Ё" ~ "число (.*?) и"</span> →‎ <span style="background: lime;">["число 4 и", "4"]</span>
|-
|style="text-align: center;" | A[x] ||  извлечение элемента номер ''x'' из массива ''A'' (отсчет x ведется с нуля) || <span style="background: silver;">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1]</span> →‎ <span style="background: lime;">"4"</span><br><span style="background: silver;">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5]</span> →‎ <span style="background: #f99;">undefined</span>
|-
|style="text-align: center;" | +, -<br>*, / || сложение и вычитание<br>умножение и деление || <span style="background: silver;">100 + 200</span> →‎ <span style="background: lime;">300</span><br><span style="background: silver;">50 * "строка"</span> →‎ <span style="background: #f99;">NaN</span>
|-
|style="text-align: center;" | +, -<br>! || преобразование строки к числу, изменение знака<br>логическое отрицание || <span style="background: silver;">+"50"</span> →‎ <span style="background: lime;">50</span><br><span style="background: silver;">!"строка"</span> →‎ <span style="background: #f99;">ложь</span>
|}
Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине:
{| class="standard"
|-
!Результат || Примеры || Описание
|-
|style="text-align: center;" | ложь || style="text-align: center;" | 0, "", []<br>false, null<br>undefined, NaN || ноль (как цифра), пустая строка и пустой массив<br>специальные значения, которые могут принимать переменные<br>и могут получиться в результате применения операторов
|-
|style="text-align: center;" | истина || style="text-align: center;" | - || истиной считается всё, что не попадает под ложь :)
|}
 
Тип информера кодируется определённым числом, определяемым как сумма указанных в таблице модификаторов.
 
{| class="standard"
|-
!Код || Название || Описание
|-
|style="text-align: center;" | 0 || style="text-align: center;" | стандартный информер || включается, когда условие активации информера выполняется, выключается - когда условие активации информера перестает выполняться
|-
|style="text-align: center;" | 1 || style="text-align: center;" | неотключаемый информер || включается при выполнении условия активации информера, выключается - только когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестает выполняться)
|-
|style="text-align: center;" | 16 || тип: стандартное уведомление || мигание заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
|-
|style="text-align: center;" | 32 || тип: всплывающее уведомление || отображается всплывающим окошком поверх всех окон
|-
|style="text-align: center;" | 64 || тип: звуковое уведомление || звуковое оповещение согласно настройкам eGUI+
|}
Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: 49 (1+16+32).
 
Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.
==== Переменные ====
==== Переменные ====
Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения.
Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения.
Строка 193: Строка 231:
|gv.windowFocused || определяет, активна ли текущая вкладка браузера.
|gv.windowFocused || определяет, активна ли текущая вкладка браузера.
|}
|}
==== Типы информеров ====
'''Тип информера''' кодируется определённым числом.
Существующие на данный момент типы пользовательских информеров: 0 и 1 + необязательные модификаторы, определяющие тип уведомления.
* 0 ← стандартный информер: включается, когда условие активации информера выполняется, выключается - когда условие активации информера перестает выполняться;
* 1 ← неотключаемый информер: включается при выполнении условия активации информера, выключается - только когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестает выполняться);
* 16 ← стандартное уведомление (мигание заголовком + метка в углу страницы);
* 32 ← всплывающее уведомление (для функционирования необходимо, чтобы глобальная опция разрешения всплывающих уведомлений была включена);
* 64 ← звуковое уведомление
Тип информера равен сумме указанных выше флагов. Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: 49 (1+16+32).
Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров.


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

Версия от 08:27, 29 августа 2016


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

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

_

Информеры

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

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

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

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

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

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

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

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

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

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

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

Тип информера кодируется определённым числом, определяемым как сумма указанных в таблице модификаторов.

Код Название Описание
0 стандартный информер включается, когда условие активации информера выполняется, выключается - когда условие активации информера перестает выполняться
1 неотключаемый информер включается при выполнении условия активации информера, выключается - только когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестает выполняться)
16 тип: стандартное уведомление мигание заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы
32 тип: всплывающее уведомление отображается всплывающим окошком поверх всех окон
64 тип: звуковое уведомление звуковое оповещение согласно настройкам eGUI+

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

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

Переменные

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

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

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