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

Материал из Энциклобогии
Перейти к навигации Перейти к поиску
м (→‎Переменные: уточнение по бинго)
Метка: visualeditor-switched
(→‎Переменные: добавлены новые переменные)
Метка: visualeditor-switched
Строка 145: Строка 145:
{| class="standard collapsible collapsed"  
{| class="standard collapsible collapsed"  
|-
|-
! colspan="3" align="left" | Полный перечень переменных версии 1.1.27.2
! colspan="3" align="left" | Полный перечень переменных версии 1.1.29.2
|-
|-
! Категория || Переменная || Описание  
! Категория || Переменная || Описание  
Строка 385: Строка 385:
| gv.windowFocused || определяет, активна ли текущая вкладка браузера
| gv.windowFocused || определяет, активна ли текущая вкладка браузера
|-
|-
| rowspan="49" valign="top"| Полевые переменные
| rowspan="52" valign="top" | Полевые переменные
| gv.exp || количество опыта героя до следующего уровня в процентах
| gv.exp || количество опыта героя до следующего уровня в процентах
|-
|-
| gv.expTrader || количество опыта торговца до следующего уровня в процентах
| gv.expTrader || количество опыта торговца до следующего уровня в процентах
|-
|gv.expForge
|прогресс Творительной до получения следующего уровня инструментов
|-
|-
| gv.mileStones || количество столбов от столицы до героя в поле  
| gv.mileStones || количество столбов от столицы до героя в поле  
Строка 421: Строка 424:
|-
|-
| gv.bookWords || количество слов для книги
| gv.bookWords || количество слов для книги
|-
|gv.forgeBytes
|количество байт в Творительной
|-
|gv.forgeWords
|количество слов в Творительной
|-
|-
| gv.nearestTown || название ближайшего города  
| gv.nearestTown || название ближайшего города  
Строка 458: Строка 467:
| gv.lastNews || текст строки из Вестей  
| gv.lastNews || текст строки из Вестей  
|-
|-
| gv.lastDiary || текст последней строки из дневника  
| gv.lastDiary || текст последней записи из дневника (не включая гласы и влияния)
|-
|-
| gv.lastDiaryVoice || текст последнего гласа другого бога из дневника (вернёт пустую строку, если в дневнике не видно ни одного чужого гласа)
| gv.lastDiaryVoice || текст последнего гласа другого бога из дневника (вернёт пустую строку, если в дневнике не видно ни одного чужого гласа)
Строка 484: Строка 493:
| gv.miningSendDelay || время до доступности похода на полигон (в секундах, но округляется до минут (равно 0, когда недоступно))  
| gv.miningSendDelay || время до доступности похода на полигон (в секундах, но округляется до минут (равно 0, когда недоступно))  
|-
|-
| rowspan="16" valign="top" | Боевые переменные
| rowspan="17" valign="top" | Боевые переменные
| gv.fightStep || номер шага в боевом режиме  
| gv.fightStep || номер шага в боевом режиме  
|-
|gv.fightStepText
|полный текст хроники текущего шага
|-
|-
| gv.lowHealth || низкий уровень здоровья в боевых режимах
| gv.lowHealth || низкий уровень здоровья в боевых режимах
Строка 516: Строка 528:
|-
|-
| gv.alliesAliveHealthMax || суммарный максимум здоровья живых союзников
| gv.alliesAliveHealthMax || суммарный максимум здоровья живых союзников
|-
| rowspan="3" valign="top" |Подземельные переменные
| valign="top" | gv.dungeonChallenge
|дополнительная задача, которую можно выполнить во время похода по подземелью:
{| class="standard"
|nook
|посетить тайную комнату
|-
|silence
|суммарно рулить не более 8 раз за весь поход
|-
|agility
|дойти до клада за 40 шагов
|-
|ecology
|не трогать боссов
|-
|genocide
|перебить всех боссов
|-
|survivors
|до сокровищницы должны дойти 2 или 5 участников
|-
|""
|нет задания
|}
|-
| valign="top" | gv.dungeonChallengeReward
|награда за выполненную дополнительную задачу:
{| class="standard"
|key
|ключ от сокровищницы
|-
|hints
|включение указателей на сокровищницу
|-
|dice
|перевод всех тайников в ловушки (или наоборот)
|-
|gold
|дополнительное золото
|-
|artifacts
|дополнительные трофеи
|-
|double
|дополнительный гофер
|-
|notraps
|отключение ловушек
|-
|noboss
|убирание финального босса
|-
|clarity
|отображение всех интересных мест на карте
|-
|transformation
|смена типа подземелья
|-
|unknown
|что-то заранее неизвестное
|-
|""
|нет награды
|}
|-
|gv.guidedStepsCount
|общее количество совершенных направляющих гласов для задачи "silence", если данных нет - null
|-
|-
| rowspan="6" valign="top" | Морские переменные
| rowspan="6" valign="top" | Морские переменные

Версия от 20:24, 24 июля 2021


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