33
правки
Kreon (обсуждение | вклад) м (→Информеры) |
Кофий (обсуждение | вклад) м (а, да, еще это) |
||
| (не показано 28 промежуточных версий 5 участников) | |||
| Строка 1: | Строка 1: | ||
[[Категория:Клиенты и плагины]] | [[Категория:Клиенты и плагины]] | ||
'''Erinome Godville UI+''' — расширение для браузеров, изначально основанное на [[Godville UI+]], но получившее уже заметное количество отличий и дополнительных возможностей от оригинала. | '''Erinome Godville UI+''' — расширение для браузеров, изначально основанное на [[Godville UI+]], но получившее уже заметное количество отличий и дополнительных возможностей от оригинала. | ||
| Строка 6: | Строка 5: | ||
Тема на форуме в квартале мастеровых: [http://godville.net/forums/show_topic/3432?page=1 Erinome Godville UI+ - браузерное расширение для Годвилля (Firefox, Chrome, Opera)]. | Тема на форуме в квартале мастеровых: [http://godville.net/forums/show_topic/3432?page=1 Erinome Godville UI+ - браузерное расширение для Годвилля (Firefox, Chrome, Opera)]. | ||
__TOC__ | |||
== Информеры == | == Информеры == | ||
Дополнение может отслеживать различные события в жизни героя и выводить уведомления о них. Уведомление производится миганием иконки вкладки | Дополнение может отслеживать различные события в жизни героя и выводить уведомления о них. Уведомление производится миганием иконки вкладки и меткой в верхнем правом углу страницы. Дополнительно доступны всплывающие уведомления и звуковое уведомление. | ||
=== Пользовательские информеры === | === Пользовательские информеры === | ||
Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре. | Пользовательские информеры позволяют настроить уведомления на произвольный набор событий в игре. | ||
Настраиваются информетры в: | |||
* в блоке "Герой" при наведении курсора на шапку появится кликабельная иконка шестеренки | |||
* в верхнем меню по ссылке "настройки ui+" в разделе "Управление информерами" кликабельная ссылка в элементе "пользовательские информеры" | |||
Каждый информер описывается одной строкой в формате: | Каждый информер описывается одной строкой в формате: | ||
| Строка 20: | Строка 23: | ||
Информер можно временно отключить, убрав галочку в начале строки. | Информер можно временно отключить, убрав галочку в начале строки. | ||
Начиная с версии 1.1.17.4 в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. При изменении значений | Начиная с версии 1.1.17.4, в тексте уведомлений можно использовать одиночные переменные. Они указываются отдельными словами - gv.variable, либо в фигурных скобках - {gv.variable}. Начиная же с версии 1.1.21.0, в фигурных скобках можно указывать и целые логические выражения любой сложности. При изменении значений входящих в заголовки переменных, тексты информеров будут соответственным образом обновлены. Для информеров с переменными в названиях существует два дополнительных модификатора работы уведомления - см. в таблице ниже. | ||
Несколько условий объединяются логическими операторами '''&&''' (логическое «И»), '''||''' (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» '''!'''true = false | Несколько условий объединяются логическими операторами '''&&''' (логическое «И»), '''||''' (логическое «ИЛИ») и группируются скобками. Доступно логическое отрицание «НЕ» '''!'''true = false | ||
Также имеются другие операторы: | Также имеются другие операторы: | ||
{| class="standard" | {| class="standard" | ||
|- | |- | ||
!Операторы || Описание || Примеры | ! Операторы || Описание || Примеры | ||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | ==, != <br> <, <= <br> >, >= | ||
| равенство и неравенство | |||
меньше и меньше или равно<br> | |||
больше и больше или равно | |||
| <span style="background: silver">100 == 100</span> → <span style="background: lime">истина</span> | |||
<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 | | style="text-align: center" | ~, ~* | ||
| регистрозависимое и регистронезависимое [[wikipedia:ru:Регулярные выражения#Синтаксис|регулярное выражение]],<br>возвращает результат в виде массива или '''null''', если совпадения нет | |||
| <span style="background: silver">"здесь есть число 4 и буква Ё" ~ "число \\d+"</span> → <span style="background: lime">["число 4"]</span> | |||
<span style="background: silver">"здесь есть число 4 и буква Ё" ~ "число (.*?) и"</span> → <span style="background: lime">["число 4 и", "4"]</span> | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | !~, !~* | ||
| инвертированная версия регистрозависимого и регистронезависимого [[wikipedia:ru:Регулярные выражения#Синтаксис|регулярного выражения]],<br> возвращает '''true''' или '''false''' | |||
| <span style="background: silver">"здесь есть число 4 и буква Ё" !~ "число \\d+"</span> → <span style="background: #F99">ложь</span> | |||
<span style="background: silver">"здесь есть число 4 и буква Ё" !~ "число 5"</span> → <span style="background: lime">истина</span> | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | A[x] | ||
| извлечение элемента номер ''x'' из массива ''A'' (отсчет x ведется с нуля) | |||
| <span style="background: silver">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[1]</span> → <span style="background: lime;">"4"</span> | |||
<span style="background: silver">("здесь есть число 4 и буква Ё" ~ "число (.*?) и")[5]</span> → <span style="background: #F99">undefined</span> | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | +, - <br> *, / <br> % | ||
| сложение и вычитание | |||
умножение и деление<br> | |||
остаток от деления | |||
| <span style="background: silver">100 + 200</span> → <span style="background: lime">300</span> | |||
<span style="background: silver">50 * "строка"</span> → <span style="background: #F99">NaN</span><br> | |||
<span style="background: silver">1898 % 13</span> → <span style="background: #F99">0</span> | |||
|- | |||
| style="text-align: center" | +, - <br> ! | |||
| преобразование строки к числу, изменение знака<br>логическое отрицание | |||
| <span style="background: silver">+"50"</span> → <span style="background: lime">50</span> | |||
<span style="background: silver">!"строка"</span> → <span style="background: #F99">ложь</span> | |||
|} | |} | ||
Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине: | Набор условий считается выполненным и активирует информер, когда итоговый результат преобразуем к истине: | ||
{| class="standard" | {| class="standard" | ||
|- | |- | ||
!Результат || Примеры || Описание | ! Результат || Примеры || Описание | ||
|- | |- | ||
|style="text-align: center | | 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" | истина | ||
| style="text-align: center" | - | |||
| истиной считается всё, что не попадает под ложь<br>(в т. ч. включая пустые массивы) | |||
|} | |} | ||
Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам. | Начиная с версии 1.1.17.4 тип информера кодируется комбинацией букв, соответствующих указанным в таблице модификаторам. | ||
Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает. | Из соображений обратной совместимости старый тип кодирования суммированием по-прежнему работает. | ||
{| class="standard" | {| class="standard" | ||
|- | |- | ||
!Буква || Код || Название || Описание | ! Буква || Код || Название || Описание | ||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | <никакая> | ||
| style="text-align: center" | 0 | |||
| style="text-align: center" | стандартный информер | |||
| включается, когда условие активации информера выполняется; выключается, когда условие активации информера перестает выполняться | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | S | ||
| style="text-align: center" | 1 | |||
| style="text-align: center" | неотключаемый информер | |||
| включается при выполнении условия активации информера; выключается, когда пользователь кликнет на этот информер (или после перезагрузки страницы, когда условие перестанет выполняться) | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | L | ||
| style="text-align: center" | 16 | |||
| тип: стандартное уведомление | |||
| мигает заголовком окна браузера и соответствующей вкладки, добавляет метку в углу страницы | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | D | ||
| style="text-align: center" | 32 | |||
| тип: всплывающее уведомление | |||
| отображается всплывающим окошком поверх всех окон | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | A | ||
| style="text-align: center" | 64 | |||
| тип: звуковое уведомление | |||
| звуковое оповещение согласно настройкам eGUI+ | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | R | ||
| style="text-align: center" | 128 | |||
| тип: повторяющееся звуковое уведомление | |||
| звуковое оповещение, которое будет повторяться каждые несколько секунд (обратите внимание, что если тип "L" не включен, то данный тип будет работать как тип "A") | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | Q | ||
| style="text-align: center" | - | |||
| мод: возобновимое уведомление | |||
| имеет смысл только для информеров, имеющих в своем названии переменные; если информер был выключен пользователем (или не имел тип "L" и был отключен автоматически), а затем его текст изменился, то информер будет автоматически включен обратно | |||
|- | |- | ||
|style="text-align: center | | style="text-align: center" | W | ||
| style="text-align: center" | - | |||
| мод: настырное уведомление | |||
| имеет смысл только для информеров, имеющих в своем названии переменные; если текст информера поменялся, то информер будет полностью перезапущен (что актуально для типов "D", "A" или "R") | |||
|- | |||
| style="text-align: center" | N | |||
| style="text-align: center" | - | |||
| мод: ненавязчивое уведомление | |||
| имеющий смысл для стандартных информеров (L), модификатор типа N отключает мигание данного уведомления в заголовке окна, и оно только скромно висит в углу экрана<br>добавлен в версии 1.1.20.12. | |||
|} | |} | ||
Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)). | Например, чтобы создать неотключаемый информер, уведомляющий миганием и всплывающим окном, необходимо указать тип: SLD (или, если вам нравится складывать числа, то 49 (1+16+32)). | ||
Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров. | Если модификаторы типа уведомления не указаны, то информер будет использовать набор уведомлений, выбранный для всех пользовательских информеров в общей таблице настроек информеров. | ||
==== Переменные ==== | ==== Переменные ==== | ||
Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения. | Полный и актуальный перечень доступных переменных находится в файле [https://gv.erinome.net/godville/?show=FAQ FAQ] на странице дополнения. | ||
Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны | Примечание: с апреля 2016 года разработчиками игры было запрещено использовать в аддонах точные внутриигровые данные, поэтому начиная с версии 1.1.1.0 вся информация для переменных берется из общедоступных внешних источников, а некоторые значения, которые более недоступны в точном виде, теперь рассчитываются косвенно - следовательно, возможны неточности. | ||
{| class="standard collapsible collapsed" | {| class="standard collapsible collapsed" | ||
|- | |- | ||
!colspan="3" align="left" |Полный перечень переменных версии 1.1. | ! colspan="3" align="left" | Полный перечень переменных версии 1.1.27.2 | ||
|- | |||
! Категория || Переменная || Описание | |||
|- | |||
| rowspan="41" valign="top" | Общие переменные | |||
| gv.health || здоровье героя | |||
|- | |||
| gv.healthMax || максимальное здоровье героя | |||
|- | |||
| gv.healthPrc || здоровье героя в процентах | |||
|- | |||
| gv.gold || количество золота у героя | |||
|- | |||
| gv.inventory || количество предметов в инвентаре | |||
|- | |||
| gv.inventoryMax || максимальное количество предметов в инвентаре | |||
|- | |||
| gv.inventoryPrc || количество предметов в процентах | |||
|- | |||
| gv.inventoryHealing || количество лечебных трофеев в инвентаре | |||
|- | |||
| gv.inventoryUnsellable || количество трофеев, которые могут быть не проданы во время фазы торговли (лечилки, трибблы и проч.) | |||
|- | |||
| gv.inventoryHasItem("название предмета") || проверка, есть ли в инвентаре героя указанный предмет | |||
|- | |||
| valign="top" | gv.inventoryHasType("тип предмета") | |||
| проверка, есть ли в инвентаре героя предмет указанного типа: | |||
{| class="standard" | |||
| aura-box || коробка, дающая герою случайную ауру | |||
|- | |||
| arena-box || коробка, стабилизирующая вероятность в боевых режимах | |||
|- | |||
| black-box || всевозможные варианты черных ящиков | |||
|- | |||
| boss-box || коробка, вызывающая личного босса | |||
|- | |||
| charge-box || коробка, добавляющая заряд в праноаккумулятор | |||
|- | |||
| coolstory-box || коробка, сочиняющая былину о герое | |||
|- | |||
| friend-box || коробка, знакомящая героя с другим случайным героем | |||
|- | |||
| gift-box || коробка, дарующая герою что-то полезное | |||
|- | |||
| godpower-box || коробка, пополняющая полоску праны | |||
|- | |||
| good-box || коробка, делающая что-то хорошее | |||
|- | |||
| heal-box || коробка, лечащая героя | |||
|- | |||
| invite || инвайт на Годвилль | |||
|- | |||
| prize-box || коробка с призовыми трофеями и золотом, но требует праны для открытия | |||
|- | |||
| quest-box || коробка, назначающая герою случайный мини-квест | |||
|- | |||
| raidboss-box || коробка, отправляющая героя на раскопки босса | |||
|- | |||
| skill-box || коробка, заменяющая одно умение на другое | |||
|- | |||
| smelter || коробка, выплавляющая золотой кирпич | |||
|- | |||
| teleporter || коробка, телепортирующая героя в случайный город | |||
|- | |||
| temper-box || коробка, усиливающая характер героя | |||
|- | |||
| to-arena-box || коробка, отправляющая героя на арену | |||
|- | |||
| transformer || коробка, превращающая жирные предметы в золотые кирпичи | |||
|- | |||
| treasure-box || коробка, внутри которой может находиться как что-то ценное, так и не очень | |||
|} | |||
|- | |||
| valign="top" | gv.inventoryCountLike("regexp", флаги) | |||
| возвращает количество предметов в инвентаре, подходящих под указанное регулярное выражение и необязательный список флагов-ограничителей: | |||
{| class="standard" | |||
| h || лечебные || || H || не лечебные | |||
|- | |||
| b || жирные || || B || не жирные | |||
|- | |||
| a || активируемые || || A || не активируемые | |||
|- | |||
| c || крафтящиеся || || C || не крафтящиеся | |||
|- | |||
| s || продаваемые || || S || не продаваемые | |||
|- | |||
| g || подходящие для бинго || || G || не подходящие для бинго | |||
|} | |||
|- | |||
|gv.godpower || количество праны | |||
|- | |||
|gv.godpowerMax || максимальное количество праны | |||
|- | |||
|gv.godpowerPrc || количество праны в процентах | |||
|- | |||
|gv.charges || количество зарядов | |||
|- | |||
|gv.monstersKilled || общее количество поверженных монстров | |||
|- | |||
|gv.inFight || герой находится в боевом режиме | |||
|- | |||
|gv.inBossFight || герой находится в бою с босс-монстром (любым) или корованом | |||
|- | |||
|valign="top"|gv.fightType || тип боевого режима, возможные варианты: | |||
{| class="standard" | |||
| arena || арена | |||
|- | |||
| dungeon || коридоры подземелья | |||
|- | |||
| mining || полигон для франкенбосса | |||
|- | |||
| monster || любой другой боевой режим или если боевой режим определился неверно | |||
|- | |||
| multi_monster || любой корован | |||
|- | |||
| sail || режим плавания | |||
|- | |||
| spar || тренировка | |||
|- | |||
| "" || если герой не в бою | |||
|} | |||
|- | |||
| gv.hasTemple || герой имеет достроенный храм | |||
|- | |||
| gv.hasArk || герой имеет достроенный ковчег | |||
|- | |||
| gv.lastGuildChat || текст последних сообщений гильдчата (доступен только когда открыта и развернута вкладка гильдчата) | |||
|- | |||
| gv.dailyForecast || текст астропрогноза | |||
|- | |||
| valign="top"| gv.isForecast("тип") | |||
| проверка на определенный тип астропрогноза: | |||
{| class="standard" | |||
| accu70 || распаковка аккумуляторов в 70% праны | |||
|- | |||
| arena || стоимость отправки на арену составляет 25% праны | |||
|- | |||
| badtraders || риск потери трофеев при торговле больше обычного | |||
|- | |||
| bingo || награда за бинго больше обычного | |||
|- | |||
| cheapactivatables || активируемые трофеи стоят меньше обычного | |||
|- | |||
| corovans || повышена вероятность встречи с корованами | |||
|- | |||
| easybosses || боссы выкапываются проще обычного | |||
|- | |||
| epic || внеплановые эпические задания | |||
|- | |||
| expensiveactivatables || активируемые трофеи стоят больше обычного | |||
|- | |||
| fame || усиленные гильдвлияния в городах | |||
|- | |||
| fishing || герои рыбачат чаще обычного | |||
|- | |||
| goldbosses || у наземных боссов золота больше обычного | |||
|- | |||
| goldmonsters || каждый монстр имеет при себе что-то ценное | |||
|- | |||
| gvroads || все дороги ведут в Годвилль | |||
|- | |||
| hearing || хорошие условия для слышимости гласов | |||
|- | |||
| itemsloss || риск потери трофеев в поле больше обычного | |||
|- | |||
| longauras || ауры действуют дольше обычного | |||
|- | |||
| longquests || взятые задания выполняются дольше обычного | |||
|- | |||
| lowpoweractivatables || стоимость активации трофеев составляет 25% праны | |||
|- | |||
| melting || упрощенная переплавка монет в золотые кирпичи | |||
|- | |||
| noconversion || день без возложений золота в храме | |||
|- | |||
| nodrinking || пенсионный день | |||
|- | |||
| noequip || день без покупки снаряжения | |||
|- | |||
| noguildhealing || день без гильдлечения | |||
|- | |||
| nopotions || день без покупки лечебных зелий | |||
|- | |||
| norstraders || отсутствие бродячих торговцев | |||
|- | |||
| notraining || день без покупки новых уровней умений | |||
|- | |||
| personality || влияния меняют характер героев больше обычного | |||
|- | |||
| prayer || усиленные молитвы в городах | |||
|- | |||
| selfhealing || эффективность лежания под деревом выше обычного | |||
|- | |||
| shortauras || ауры действуют короче обычного | |||
|- | |||
| sidejobs || вероятность получения незапланированных подрядов | |||
|- | |||
| skills || умения используются чаще обычного | |||
|- | |||
| sleeping || герои стремятся чаще отсыпаться в городах | |||
|- | |||
| tribbles || трибблы встречаются чаще обычного | |||
|- | |||
| undead || день самовоскрешающихся монстров | |||
|- | |||
| unhearing || плохие условия для слышимости гласов | |||
|} | |||
|- | |||
| gv.couponPrize || товар, который можно получить по купону из газеты (если купон уже забран - пустая строка) | |||
|- | |||
| gv.godpowerCapAvailable || доступен ли праноконденсатор | |||
|- | |||
| gv.expTimeout || количество минут до окончания штрафа возложения золота в храме (или 10080, если данных нет) | |||
|- | |||
| gv.logTimeout || количество минут до гарантированного бревна в подземелье (или 10080, если данных нет) | |||
|- | |||
| gv.byteTimeout || количество минут до гарантированного слога на полигоне | |||
|- | |||
| gv.byteDoubleTimeout || количество минут до гарантированных двух слогов на полигоне | |||
|- | |||
| gv.sparTimeout || количество минут до экспоносной тренировки (или 10080, если данных нет) | |||
|- | |||
| gv.getSeconds || точное локальное время: секунды (0-59) | |||
|- | |||
| gv.getMinutes || точное локальное время: минуты (0-59) | |||
|- | |- | ||
| gv.getHours || точное локальное время: часы (0-23) | |||
|- | |- | ||
|gv. | | gv.getHoursUTC || точное время UTC (GMT+0): часы (0-23) | ||
|- | |- | ||
|gv. | | gv.getHoursMSK || точное московское время (GMT+3): часы (0-23) | ||
|- | |- | ||
|gv. | | gv.getDay || текущий день недели (1-7) | ||
|- | |- | ||
|gv. | | gv.getDayUTC || текущий день недели по UTC (GMT+0) (1-7) | ||
|- | |- | ||
|gv. | | gv.getDayMSK || текущий день недели по московскому времени (GMT+3) (1-7) | ||
|- | |- | ||
|gv. | | gv.windowFocused || определяет, активна ли текущая вкладка браузера | ||
|- | |- | ||
|gv. | | rowspan="49" valign="top"| Полевые переменные | ||
| gv.exp || количество опыта героя до следующего уровня в процентах | |||
|- | |- | ||
|gv. | | gv.expTrader || количество опыта торговца до следующего уровня в процентах | ||
|- | |- | ||
|gv. | | gv.mileStones || количество столбов от столицы до героя в поле | ||
|- | |- | ||
|gv. | | gv.poiMileStones || местоположение интересной точки на карте в столбах от столицы | ||
|- | |- | ||
|gv. | | gv.poiDistance || расстояние от героя до точки в столбах | ||
|- | |- | ||
|gv. | | gv.auraName || название ауры, если она есть | ||
|- | |- | ||
|gv. | | gv.auraDuration || оставшаяся длительность ауры, если она есть (в секундах, но округляется до целых минут) | ||
|- | |- | ||
|gv. | | gv.bingoItems || количество подходящих в бинго трофеев в инвентаре | ||
|- | |- | ||
|gv. | | gv.bingoSlotsLeft || количество незаполненных слотов в бинго | ||
|- | |- | ||
|gv. | | gv.bingoTriesLeft || количество оставшихся попыток заполнения | ||
|- | |- | ||
|gv. | | gv.questName || название квеста | ||
|- | |- | ||
|gv. | | gv.questNumber || номер квеста | ||
|- | |- | ||
|gv. | | gv.questProgress || прогресс выполнения квеста в процентах | ||
|- | |- | ||
|gv. | | gv.sideJobName || название подряда | ||
|- | |- | ||
|gv. | | gv.sideJobDuration || длительность подряда в секундах | ||
|- | |- | ||
|gv. | | gv.sideJobProgress || прогресс выполнения подряда в процентах | ||
|- | |- | ||
|gv. | | gv.bookBytes || количество байт для книги | ||
|- | |- | ||
|gv. | | gv.bookWords || количество слов для книги | ||
|- | |- | ||
|gv. | | gv.nearestTown || название ближайшего города | ||
|- | |- | ||
|gv. | | gv.currentTown || название текущего города, если герой в нем, иначе - пустая строка | ||
|- | |- | ||
|gv. | | gv.inShop || герой-торговец работает в своей лавке | ||
|- | |- | ||
|gv. | | gv.inTown || герой находится в городе | ||
|- | |- | ||
|gv. | | gv.isEquipmentBold(номер_слота) || жирное ли снаряжение в указанном слоте (слоты: 1 - оружие, 2 - щит и т. д.) | ||
|- | |- | ||
|gv. | | gv.isGoingBack || герой идет из поля в город | ||
|- | |- | ||
|gv. | | gv.isGoingForth || герой идет из города в поле (экспериментально, может ошибаться!) | ||
|- | |- | ||
|gv. | | gv.isGoingGodville || герой идет из поля в столицу (экспериментально, может ошибаться, точно не работает на ближайших к Годвиллю городах) | ||
|- | |- | ||
|gv. | | gv.isTrading || герой продает трофеи (экспериментально, может ошибаться!) | ||
|- | |- | ||
|gv. | | gv.isFishing || герой рыбачит (экспериментально, может очень ошибаться!) | ||
|- | |- | ||
|gv. | | gv.currentMonster || название монстра, если герой бьется с ним в поле, иначе - пустая строка | ||
|- | |- | ||
|gv. | | gv.chosenMonster || идет бой с монстром из настроенного списка избранных | ||
|- | |- | ||
|gv. | | gv.specialMonster || идет бой со спецмонстром из настроенного списка префиксов | ||
|- | |- | ||
|gv. | | gv.strongMonster || идет бой с сильным монстром | ||
|- | |- | ||
|gv. | | gv.tamableMonster || идет бой с монстром, которого можно приручить (только если у героя нет питомца) | ||
|- | |- | ||
|gv. | | gv.wantedMonster || идет бой с монстром дня | ||
|- | |- | ||
|gv. | | gv.petKnockedOut || питомец героя контужен | ||
|- | |- | ||
|gv. | | gv.lastNews || текст строки из Вестей | ||
|- | |- | ||
|gv. | | gv.lastDiary || текст последней строки из дневника | ||
|- | |- | ||
|gv. | | gv.lastDiaryVoice || текст последнего гласа другого бога из дневника (вернёт пустую строку, если в дневнике не видно ни одного чужого гласа) | ||
|- | |- | ||
|gv. | | gv.voiceCooldown || время отката в секундах после гласа, который был услышан героем (уменьшается до 0) | ||
|- | |- | ||
|gv.arenaAvailable || доступен поход на арену | | gv.arenaAvailable || доступен поход на арену | ||
|- | |- | ||
|gv.sparAvailable || доступен тренировочный бой | | gv.sparAvailable || доступен тренировочный бой | ||
|- | |- | ||
|gv.dungeonAvailable || доступен поход в подземелье | | gv.dungeonAvailable || доступен поход в подземелье | ||
|- | |- | ||
|gv.sailAvailable || доступен заплыв в море | | gv.sailAvailable || доступен заплыв в море | ||
|- | |- | ||
|gv. | | gv.miningAvailable || доступен поход на полигон | ||
|- | |- | ||
|gv. | | gv.arenaSendDelay || время до доступности похода на арену (в секундах, но округляется до минут (равно 0, когда недоступно)) | ||
|- | |- | ||
|gv. | | gv.sparSendDelay || время до доступности тренировочного боя (в секундах, но округляется до минут (равно 0, когда недоступно)) | ||
|- | |- | ||
|gv. | | gv.dungeonSendDelay || время до доступности похода в подземелье (в секундах, но округляется до минут (равно 0, когда недоступно)) | ||
|- | |- | ||
|gv. | | gv.sailSendDelay || время до доступности заплыва в море (в секундах, но округляется до минут (равно 0, когда недоступно)) | ||
|- | |- | ||
|gv. | | gv.miningSendDelay || время до доступности похода на полигон (в секундах, но округляется до минут (равно 0, когда недоступно)) | ||
|- | |- | ||
|gv. | | rowspan="16" valign="top" | Боевые переменные | ||
| gv.fightStep || номер шага в боевом режиме | |||
|- | |- | ||
|gv. | | gv.lowHealth || низкий уровень здоровья в боевых режимах | ||
|- | |- | ||
| gv.enemyHealth || суммарное здоровье противников в боевом режиме | |||
|- | |- | ||
|gv. | | gv.enemyHealthMax || максимальное суммарное здоровье противников в боевом режиме | ||
|- | |- | ||
|gv. | | gv.enemyHealthPrc || суммарное здоровье противников в процентах (имеет смысл для одиночных противников) | ||
|- | |- | ||
|gv. | | gv.enemyGold || количество золота у противника | ||
|- | |- | ||
|gv. | | gv.enemyCount || количество противников (имеет смысл для корованов) | ||
|- | |- | ||
|gv. | | gv.enemyAliveCount || количество живых противников (имеет смысл для корованов) | ||
|- | |- | ||
|gv. | | gv.enemyHasAbility("название способности") || проверяет, имеет ли противник указанную способность (имеет смысл для боссов) | ||
|- | |- | ||
|gv. | | gv.enemyAbilitiesCount || количество способностей у противника (имеет смысл для боссов) | ||
|- | |- | ||
|gv. | | gv.alliesHealth || суммарное здоровье союзников в боевом режиме | ||
|- | |- | ||
|gv. | | gv.alliesHealthMax || суммарный максимум здоровья союзников в боевом режиме | ||
|- | |- | ||
|gv. | | gv.alliesHealthPrc || суммарное здоровье союзников в процентах (фактически не имеет смысла) | ||
|- | |- | ||
|gv. | | gv.alliesCount || количество союзников | ||
|- | |- | ||
|gv. | | gv.alliesAliveCount || количество живых союзников | ||
|- | |- | ||
|gv. | | gv.alliesAliveHealthMax || суммарный максимум здоровья живых союзников | ||
|- | |- | ||
|gv. | | rowspan="6" valign="top" | Морские переменные | ||
| gv.supplies || количество припасов | |||
|- | |- | ||
|gv. | | gv.suppliesMax || максимальное количество припасов | ||
|- | |- | ||
|gv. | | gv.suppliesPrc || количество припасов в процентах | ||
|- | |- | ||
|gv. | | gv.cargo || содержимое трюма ковчега (строкой, включая квадратные скобки) | ||
|- | |- | ||
|gv. | | gv.portDistance || расстояние до порта | ||
|- | |- | ||
|gv. | | valign="top" | gv.sailConditions | ||
| показывает дополнительные условия карты (если условий несколько - они выводятся через запятую): | |||
{| class="standard" | |||
| beasties || во всех кладах только твари | |||
|- | |||
| double || все клады двойные | |||
|- | |||
| extrabooty || вместо ящиков здесь есть лишний клад | |||
|- | |||
| farsight || увеличена дальность обзора с ковчега, но нет подсказок | |||
|- | |||
| faststart || в начале заплыва уже есть несколько подсказок | |||
|- | |||
| fires || огромное количество маяков | |||
|- | |||
| kindness || в море нельзя напрямую атаковать других игроков | |||
|- | |||
| locked || закрытая граница, выплыть можно только через порт | |||
|- | |||
| migration || нет зависимости силы тварей от расстояния до порта | |||
|- | |||
| multipass || острова можно посещать неоднократно | |||
|- | |||
| noempty || все острова непустые, но загадочные | |||
|- | |||
| pois || все подсказки являются метками | |||
|- | |||
| reefs || в море множество рифов и практически отсутствуют морские твари | |||
|- | |||
| roaming || все рыбы в море бродячие | |||
|- | |||
| small || утыканное рыбами малое море и ограничение в 50 шагов на заплыв | |||
|- | |||
| winds || ветер раскидывает ковчеги от порта | |||
|} | |||
|- | |- | ||
|gv. | | rowspan="4" valign="top" | Полигонные переменные | ||
| gv.bits || число собранных боссом бит | |||
|- | |- | ||
|gv. | | gv.bytes || число собранных боссом байт | ||
|- | |- | ||
|gv. | | gv.bitsPerByte || количество бит в одном байте | ||
|- | |- | ||
|gv. | | gv.pushReadiness || уровень готовности божественного толкания | ||
|} | |} | ||
| Строка 330: | Строка 579: | ||
!style="background:#6599FF"|Здесь можно посмотреть примеры пользовательских информеров | !style="background:#6599FF"|Здесь можно посмотреть примеры пользовательских информеров | ||
|- | |- | ||
| '''Мониторинг удачного стечения обстоятельств''' | | '''Мониторинг удачного стечения обстоятельств''' | ||
|- | |- | ||
| Строка 353: | Строка 601: | ||
|- | |- | ||
|<pre> | |<pre> | ||
№ Примеры от Servelll | № Примеры от Servelll | ||
| Строка 374: | Строка 618: | ||
|- | |- | ||
|<pre> | |<pre> | ||
Нижние Котлы (37%±12%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=0 && gv.mileStones<=4 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | Нижние Котлы (37%±12%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=0 && gv.mileStones<=4 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
БольшиеБодуны (58%±18%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=23 && gv.mileStones<=31 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | БольшиеБодуны (58%±18%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=23 && gv.mileStones<=31 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
ЛосАдминос (49%±16%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=46 && gv.mileStones<=51 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ЛосАдминос (49%±16%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=46 && gv.mileStones<=51 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
Пивнотаун (69%±20%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=101 && gv.mileStones<=109 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | Пивнотаун (69%±20%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=101 && gv.mileStones<=109 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
МалыеСаппорт..(47%±15%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=110 && gv.mileStones<=120 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | МалыеСаппорт..(47%±15%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=110 && gv.mileStones<=120 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
Тризвездинск (51%±15%) | gv.gold>2000 && !gv.inTown && gv.mileStones>=152 && gv.mileStones<=160 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | Тризвездинск (51%±15%) | gv.godpower>4 && gv.gold>2000 && !gv.inTown && gv.mileStones>=152 && gv.mileStones<=160 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | ||
</pre> | |||
Либо общий: | |||
<pre> | |||
Может в Сбережения? | (["Нижние Котлы","Большие Бодуны","ЛосАдминос","Пивнотаун","Малые Саппортуны","Тризвездинск","Бугагота"]).includes(gv.nearestTown) && !gv.inTown && gv.godpower>4 && gv.gold>2000 && gv.currentMonster=="" && !gv.isGoingBack && !(gv.dailyForecast~"ведут в Годвилль") | |||
</pre> | </pre> | ||
|- | |- | ||
| Строка 397: | Строка 645: | ||
День Рыбалки |gv.dailyForecast ~* "садиться с удочкой почаще" | День Рыбалки |gv.dailyForecast ~* "садиться с удочкой почаще" | ||
Прогноз на день долгого задания |gv.dailyForecast ~* "советуют героям не спешить и просто рубить монстров в своё удовольствие" | Прогноз на день долгого задания |gv.dailyForecast ~* "советуют героям не спешить и просто рубить монстров в своё удовольствие" | ||
Прогноз на день невозложения | Прогноз на день невозложения |gv.dailyForecast ~* "Сконвертировать золото в опыт храмовладельцам сегодня не удастся" | ||
День без прокачки умений | День без прокачки умений |gv.dailyForecast ~* "тренеры ушли в астрал|прокачка умений не осуществляется" | ||
</pre> | |||
|- | |||
| Напоминание заполнить бинго | |||
|- | |||
|<pre> | |||
в бинго {gv.bingoItems}; попыток {gv.bingoTriesLeft} | (gv.isGoingBack || gv.isTrading ) && gv.bingoItems && gv.bingoTriesLeft | |||
</pre> | |||
|- | |||
| Напоминание забрать бинго | |||
|- | |||
| <pre> | |||
Забрать бинго срочно! | gv.getHours==23 && gv.bingoTriesLeft | |||
</pre> | |||
|- | |||
| Напоминание плюсануть глас в Дневнике для бесплатного 1% праны | |||
|- | |||
| <pre> | |||
+гласс | gv.lastDiaryVoice | |||
</pre> | |||
|- | |||
| Напоминание использовать былину-активашку в городе | |||
|- | |||
| <pre> | |||
@былина в городе! | gv.inTown && gv.inventoryHasType("coolstory-box") | |||
</pre> | |||
|- | |||
| Напоминание продлить полезную ауру ([https://godville.net/forums/show_topic/2611 темой на форуме] или erinome db) | |||
|- | |||
| <pre> | |||
продли ауру кроссвордом |gv.auraName=="непереносимости" | |||
</pre> | </pre> | ||
|} | |} | ||
== Пользовательский CSS == | |||
Дополнение позволяет добавлять на страницу игры дополнительные CSS-стили без необходимости заводить для этого дополнительный аддон вроде Stylish, Stylus и других подобных. Поле ввода CSS находится на странице настройки дополнения, каждое правило требуется вписывать на отдельной строке. Указываемые там правила применяются как к странице героя, так и к страницам хроник, форума и газете. После сохранения изменений страницу игры перезагружать не требуется и изменения будут активированы автоматически, а другие страницы понадобится переоткрыть для применения введенных правил. | |||
Базовое описание синтаксиса CSS можно легко найти в интернете ([http://htmlbook.ru/samcss например]), а с определением классов и идентификаторов компонентов HTML-кода страницы поможет инструмент "Исследовать элемент" (или "Просмотреть код"), доступный по клику правой кнопкой мыши по интересующему элементу на странице. | |||
==== Готовые примеры ==== | |||
{| class="wikitable collapsible collapsed" | |||
|- | |||
!style="background:#6599FF" colspan=2|Здесь можно посмотреть некоторые примеры CSS-правил | |||
|- | |||
| Подсвечивать подходящие для бинго трофеи синим цветом в инвентаре || <pre>#inventory .bingo_item { color: blue; }</pre> | |||
|- | |||
| Сделать контрастные черно-белые значки в морских заплывах || <pre>g.tile { font-family: Verdana, Helvetica, Arial, "Segoe UI Symbol", sans-serif; !important }</pre> | |||
|- | |||
| Сделать другие контрастные черно-белые значки в морских заплывах || <pre>g.tile { font-family: Verdana, Helvetica, Arial, Em, sans-serif; !important }</pre> | |||
|- | |||
| Помечать точками клетки, где точно нет стен в подземельях || <pre>.dmc.notAWall { | |||
color: transparent !important; | |||
} | |||
.dmc.notAWall::before { | |||
display: block; | |||
text-align: center; | |||
font-weight: bold; | |||
content: "•"; | |||
color: #7E7E7E; | |||
} | |||
.th_nightly .dmc.notAWall::before { | |||
color: #999999; | |||
} | |||
.dmc.notAWall.pointerMatched::before { | |||
color: red; | |||
} | |||
.dmc.notAWall.pointerMatchedThermo::before { | |||
color: darkorange; | |||
}</pre> | |||
|- | |||
| Спрятать кнопку отправки в дуэльный режим при нехватке праны || <pre>div.arena_link_wrap .e_low_gp { display: none !important; } /* для арены */ | |||
div.e_challenge_button .e_low_gp { display: none !important; } /* для тренировки */ | |||
div.e_dungeon_button .e_low_gp { display: none !important; } /* для подземелья */ | |||
div.e_sail_button .e_low_gp { display: none !important; } /* для плавания */ | |||
div.e_mining_button .e_low_gp { display: none !important; } /* для полигона */ | |||
.e_low_gp { display: none !important; } /* для всех режимов сразу */</pre> | |||
|- | |||
| Чуть отодвинуть кнопку отправки в плавание от кнопки отправки в подземелье || <pre>.e_sail_button { margin-top: 9px; }</pre> | |||
|- | |||
| Спрятать кнопку "Восстановить" распаковки зарядов || <pre>.dch_link { display: none !important; }</pre> | |||
|- | |||
| Покрасить жирное снаряжение в красный цвет || <pre>.eq_b { color: red; }</pre> | |||
|} | |||
------------- | ------------- | ||
<references/> | <references/> | ||
правки