В игре существует много предметов, которые имеют время существования.
И при всем их "обилии" очень сложно уследить, когда сгорит та или иная плюшка.
Данный аддон поможет не упустить сгорание очередного шопа, рыбки, и т.д. Достаточно заглянуть в панель аддона.
Также можно использовать некоторые предметы, нажав на соответствующую иконку.
(Для разработчиков аддонов)
LibGS (LibGearScore) - библиотека инспектирования персонажей игроков.
Рекомендуется использовать в аддонах, которые показывают гирскор, руны, и прочие характеристики экипировки персонажей игроков.
Библиотека берет на себя всё общение с API игрового клиента (avatar.StartInspect, avatar.EndInspect, EVENT_INSPECT_STARTED, EVENT_INSPECT_FINISHED), скрывая от аддона особенности их работы, самостоятельно решая возможные конфликты между аддонами, и выдает в аддон результат инспектирования в удобном виде.
Прошу разработчиков принять участие в тестировании
Если кто-то увидит или наткнется на какой-либо баг, огромная просьба писать сюда.
Если есть предложения по работе аддона, фичам и содержанию таблицы, то тоже пишите сюда.
Библиотека позаимствовала многие идеи из аддона TPI и немного из LibreGS, так что их авторам look_at_you_ и vitaliy75 огромное спасибо за вклад.
По умолчанию библиотека автоматически считает гирскор текущей цели и присылает в аддон через эвент или callback-функцию.
Во избежании самопроизвольно открывающегося окна инспектирования рекомендуется пользоваться данной библиотекой (в особенности это касается аддона NewTarget3DPvP, с которым наблюдаются кофликты).
Поддерживает функцию unit.GetGearScore, добавленную в хотфиксе 6.0.00.36.
На данный момент отсутствует подсчет гирскора для версий Аллодов 1.1-4.x. Если кто может, пожалуйста, поделитесь формулой или исходником.
Как пользоваться:
Опускаю подробности о добавлении скрипта в AddonDesc.(UIAddon).xdb...
Существует несколько вариантов использования библиотеки:
Если ваш аддон только для инспектировния текущей цели аватара, то необходимо выполнить следующие действия:
I. Инициализировать библиотеку любым из следующих способов:
Вызвать функцию GS.Init:
if GS.Init then GS.Init() end
Вызвать функцию GS.EnableTargetInspection:
GS.EnableTargetInspection( true )
Платным аддонам рекомендуется это делать после прохождения проверки системы привязки к нику персонажа.
II. Обеспечить прием данных любым из следующих способов:
Подписаться на сообщение LIBGS_GEARSCORE_AVAILABLE
common.RegisterEventHandler( ShowGearScore, "LIBGS_GEARSCORE_AVAILABLE" )
Установить функцию обратного вызова
GS.Callback = ShowGearScore
ShowGearScore - функция вашего аддона, которая будет отображать гирскор в нужное окно.
Имя функции может быть любое.
В этой функции необходимо проверять, что сообщение пришло для вашего юнита.
ShowGearScore должна быть уже объявлена на момент попытки её использования.
Например:
function ShowGearScore( params )
if params.unitId == avatar.GetTarget() then
if params.gearscore then
MyWidget:SetClassVal("style", params.gearscoreStyle)
MyWidget:SetVal("gs", tostring(params.gearscore))
MyWidget:Show(true)
else
MyWidget:SetClassVal("style", "tip_white")
MyWidget:SetVal("gs", "N/A")
MyWidget:Show(true)
end
end
end
Аддону следует позаботиться о том, чтобы скрывать интерфейс в случае переключения таргета на НПС или сброса таргета, т.к. LibGS не присылает в этих случаях никаких сообщений.
function onTargetChaged(params)
local unitId = avatar.GetTarget()
if not unitId or not object.IsUnit( unitId ) or not unit.IsPlayer( unitId ) or unit.IsPet( unitId ) then
MyWidget:Show(false)
end
end
Если ваш аддон для инспектировния любых юнитов (без выделения юнита в таргет), то для получения гирскора вышеуказанным способом необходимо вызвать функцию GS.RequestInfo:
GS.RequestInfo ( unitIdToInspect )
И в ShowGearScore, соответственно, сделать:
if params.unitId == unitIdToInspect then ...
В данном случае инициализировать библиотеку не обязательно, но желательно, несмотря на то, что она может инициализировать себя сама.
На данный момент существует проблема особенность: если пользователь открыл встренное в клиент окно инспектирования, то инспектирование любого юнита не будет произведено, пока окно не будет закрыто.
Стоит подождать следующих версий, в которых эта проблема будет решена.
Если ваш аддон не предназначен для инспектировния текущей цели аватара, то рекомендуется отключить функцию автоматического инспектирования:
GS.EnableTargetInspection( false )
Описание функций:
GS.Init ( EnableTargetAutoInspection, SkipInitialTargetInspection )
Инициализирует библиотеку.
Параметры функции аналогичны параметрам функции GS.EnableTargetInspection.
GS.EnableTargetInspection ( Enable, SkipInitial )
Включает/отключает автоматическое инспектирование при смене цели аватара.
Параметры:
1. Enable: boolean
true/nil - Включить авто-испектирование
false - Выключить авто-испектирование
2. SkipInitial: boolean
Имеет смысл только при Enable=true/nil.
По умолчанию, при перезагрузке аддона через меню дополнений LibGS автоматически проинспектирует текущую цель аватара.
SkipInitial позволяет пропустить инспектирование, например, если библиотека инциализируется не с начала работы аддона.
true - Пропустить инспектирование
false/nil - Инспектировать текущую цель
Следует помнить, что при перезагрузке всех аддонов, другие аддоны могут запрашивать инспектирование цели при инициализации, что приведет к приходу соообщения LIBGS_GEARSCORE_AVAILABLE раньше, чем может ожидаться.
Функция аддона, получающая результат инспектирования (ShowGearScore) должна учитывать это.
GS.RequestInfo ( unitId )
Запрашивает инспектирование юнита
Параметры:
unitId: ObjectId
Id юнита, которого надо происпектировать.
LIBGS_GEARSCORE_AVAILABLE ( params )
Глобальное сообщение с результатами инспектирования, посылаемое из ведущей LibGS после завершения инспектирования.
Следует помнить, что если аддон подписывается на сообщение LIBGS_GEARSCORE_AVAILABLE, то сообщение может приходить даже если аддон не запрашивал инспектирование какого-либо юнита.
Также следует помнить, что при перезагрузке всех аддонов, другие аддоны могут запрашивать инспектирование цели при инициализации, что приведет к приходу дополнительных сообщений LIBGS_GEARSCORE_AVAILABLE.
Функция аддона, получающая результат инспектирования (ShowGearScore) должна учитывать это.
GS.Callback ( params )
Функция аддона, которая будет вызвана из локального экземпляра LibGS при получении сообщения LIBGS_GEARSCORE_AVAILABLE.
Аддон устанавливает это поле при необходимости, если не желает получать результат инспектирования через сообщение LIBGS_GEARSCORE_AVAILABLE.
В качестве параметра в обработчик LIBGS_GEARSCORE_AVAILABLE (и в GS.Callback, если задана) передается таблица со следующими полями:
unitId - ObjectId - Id юнита для которого подсчитан гирскор
rank - number - ранг умения аватара Пристальный взгляд (0..6)
inspected - boolean - можно ли происпектировать юнит частично или полностью (ранг достаточно высок) (false, true)
reliable - boolean - полностью ли происпектирован юнит (ранг достаточно высок) (false, true)
Поля gearscore* могут отсутствовать, если у аватара недостаточный ранг умения (inspected==false).
gearscore - number - гирскор юнита
gearscoreLevel - number - средний уровень экипировки юнита, кроме драконьего облика (1..66)
gearscoreQuality - number - "актуальность" экипировки юнита - среднее качество, скорректированное с учетом разницы уровня игрока и экипировки, кроме драконьего облика (1..8 соответствует значениям между ITEM_QUALITY_JUNK..ITEM_QUALITY_RELIC)
gearscoreStyle - string - рекомендуемый стиль для отображения значения гирскора ('Junk'..'Relic')
Поля equipment* могут отсутствовать, если у аватара недостаточный ранг умения (inspected==false).
equipmentLevel - number - средний уровень экипировки юнита, кроме драконьего облика (1..66)
equipmentQuality - number - среднее качество экипировки юнита, кроме драконьего облика (1..8 соответствует значениям между ITEM_QUALITY_JUNK..ITEM_QUALITY_RELIC)
equipmentStyle - string - рекомендуемый стиль для отображения среднего качества экипировки ('Junk'..'Relic')
Поля runes* могут отсутствовать, если у аватара недостаточный ранг умения (inspected==false), или находимся на Pay-To-Play сервере.
runes - таблица, индексированная по [DRESS_SLOT_*RUNE*], элемент - таблица с полями:
runeScore - number - бонус к урону или лечению, даруемый данной руной в данный момент, в зависимости от того, куда она вставлена (0..??
runeQuality - number - ступень руны (0..13)
runeStyle - string - рекомендуемый стиль для отображения ступени ('Junk', 'Common'..'Legendary')
runesQuality - number - средняя ступень всех рун (0..13)
runesQualityOffensive - number - средняя ступень всех рун в атакующих слотах (0..13)
runesQualityDefensive - number - средняя ступень всех рун в защитных слотах (0..13)
runesScoreOffensive - number - общий бонус всех рун в атакующих слотах (0..??
runesScoreDefensive - number - общий бонус всех рун в защитных слотах (0..??
runesStyle - string - рекомендуемый стиль для отображения runesQuality ('Junk', 'Common'..'Legendary')
runesStyleOffensive - string - рекомендуемый стиль для отображения runesQualityOffensive ('Junk', 'Common'..'Legendary')
runesStyleDefensive - string - рекомендуемый стиль для отображения runesQualityDefensive ('Junk', 'Common'..'Legendary')
Некоторые поля fairy* могут отсутствовать в зависимости от версии игрового клиента.
fairy - string - ступень покровителя для отображения ('-', 'I'..'V')
fairyLevel - number - уровень покровителя (1..65)
fairyQuality - number - ступень покровителя (0..5)
fairyScore - number - [AO 3-4] бонус характиристики, даруемый покровителем (0..???)
fairyScoreStat - number - [AO 3-4] тип характиристики (INNATE_STAT_*)
fairyScorePower - number - [AO 5-6] бонус могущества (0..???)
fairyScoreDamage - number - бонус к урону (0..250%)
fairyScoreHeal - number - бонус к лечению (0..250%)
fairyStyle - string - рекомендуемый стиль для отображения ступени покровителя ('Junk', 'Goods'..'Epic')
Поля *Style можно напрямую передавать в функцию MyTextView:SetClassVal().
Пример аддона LibreGS, переделанного под использование LibGS. Можно также обратить внимание на onTargetChaged, скрывающий интерфейс аддона:
--------------------------------------------------------------------------------
-- GLOBALS
--------------------------------------------------------------------------------
local ouText=nil
local vtHello=nil
--------------------------------------------------------------------------------
-- EVENT HANDLERS
--------------------------------------------------------------------------------
function onSize(params)
local pco=widgetsSystem:GetPosConverterParams()
local plc=mainForm:GetPlacementPlain()
plc.alignY=WIDGET_ALIGN_LOW
plc.highPosY=0
plc.posY=0
plc.sizeY=157
plc.alignX=WIDGET_ALIGN_LOW
plc.posX=380
plc.sizeX=400
mainForm:SetPlacementPlain(plc)
end
function onTargetChaged(params)
local tid=avatar.GetTarget()
if not tid or not unit.IsPlayer(tid) then
mainForm:Show(false)
end
end
function ShowGearScore(params)
if params.unitId == avatar.GetTarget() then
ouText:SetVal("ttt",userMods.ToWString(tostring(math.floor(params.gearscore+0.5))))
mainForm:Show(true)
end
end
--------------------------------------------------------------------------------
-- INITIALIZATION
--------------------------------------------------------------------------------
function Init()
if GS.Init then GS.Init() end
onSize(nil)
mainForm:SetPriority(7000)
mainForm:SetTransparentInput(true)
mainForm:Show(true)
ouText=mainForm:GetChildChecked("ouText",false)
vtHello=common.CreateValuedText()
vtHello:SetFormat(userMods.ToWString([[<html><log fontsize="20"><r name="ttt"/></log></html>]]))
ouText:SetValuedText(vtHello)
ouText:Show(true)
local plc=ouText:GetPlacementPlain()
plc.posX=0
plc.posY=0
ouText:SetPlacementPlain(plc)
ouText:SetBackgroundColor( { r = 0.1; g = 0.1; b = 0.05; a = 0.9 } )
common.RegisterEventHandler( onTargetChaged, "EVENT_AVATAR_TARGET_CHANGED")
common.RegisterEventHandler( ShowGearScore, "LIBGS_GEARSCORE_AVAILABLE")
common.RegisterEventHandler( onSize, "EVENT_POS_CONVERTER_CHANGED")
end
--------------------------------------------------------------------------------
Init()
--------------------------------------------------------------------------------
Где бы это было видано, что храброго воина обращали в курочку? А ежели кто да увидит, так засмеют!
Аддон автоматически снимает с персонажа бафф "Курочка".
Основано на DelBV
Аддон для отображения более подробной информации о барьерах паладина.
Плюс отображает здоровье, энергию-ману Аватара. (Работает для всех классов)
Урон в барьере %, время до раскола. Добавлена цветовая шкала для отражения уровня урона в каждом барьере от текущего(оставшегося) значения жизни персонажа.
Шкала имеет три цветовые градации:
зеленая (низкий урон до 20% от уровня текущего здоровья)
синяя (средний урон до 45% от уровня текущего здоровья)
красная (опасный урон свыше 45% от уровня текущего здоровья)
Также выводит общий урон во всех барьерах %
Отображение ХП персонажа (Раны) (Выводит шкалу +ХП в процентах)
Вся информация выводится в %
Отображение Энергии персонажа
Для других классов будет полезна полноценная полоска ХП, Маны-Энергии с режимом DnD (панель с барьерами не отображается).
При нажатии на панель ХП: "Левый клик Аватар берется в таргет", "Правый клик закрывает панель барьеров"
Аддон поддерживает локализации RUS, ENG, GER, FRA, PL
Addon supports RUS, ENG, GER, FRA, PL localizations.
В аддоне реализована поддержка Drag&Drop.
Аддон поддерживает AOandLocker.
https://alloder.pro/files/file/43-aoandlocker/
Настройки:
Все настройки выполняются в игровом чате посредством слеш-команд.
/ONshields Включение-выключение стандартного аддона барьеров "PaladinShields".
Примечание:
Установка аддона.
BarrierDamageHelper.pak Чтобы его установить в игру, нужно этот файл положить по адресу ...[папка установки Аллодов]\data\Mods\Addons\.
Ни каких манипуляций с файлом не надо делать кроме как скопировать в папку установки аддонов.
Следует удалить старую версию аддона перед установкой новой версии.
Поддержка:
Аддон поддерживает следующие версии клиентов АО | 4.0+ | 5.0.1 | 5.0.2 | 6.0 | 8.0.1 |
RU:
Отображение кол-ва свободного места в рюкзаке на панельке AOPanelMod. Вещи/Ремесла/Редкости.
FR:
affiche le nombre d'espace libre dans le sac sur un AOPanelMod
you must have
AOPanelMod r3
https://alloder.pro/files/file/44-aopanelmod/
or
AOPanel 6
https://alloder.pro/files/file/247-aopanel/
RU:
Отображение кол-ва ваших средств на панельке AOPanelMod
FR:
Affiche votre argent sur les panneaux AOPanel.
you must have
AOPanelMod r3
https://alloder.pro/files/file/44-aopanelmod/
or
AOPanel 6
https://alloder.pro/files/file/247-aopanel/
Плагин для AOPanel. Показывает курс кри в обменнике. Для обновления курса необходимо кликнуть левой кнопкой мышки по курсу.
Для работы плагина необходим установленный аддон AOPanel.
Плагин для AOPanel. Выводит количество Мирры персонажа.
Plugin for AOPanel. Displays the amount of Myrrh.
Предыстория:
Меня сильно раздражало, что в таргет постоянно лезли лишние цели в таргет.
Описание:
Аддон сбрасывает таргет, если в него попал чей-либо пет, тем самым не давая выделить его в таргет.
Внимание! Аддон сбрасывает с таргета всё, что в игре считаются питомцами (дружественные\враждебные питомцы язычников\некромантов, фантомы мистиков, наёмников и т.д.).
Файл настройки - Settings.lua
Прерывает каст умения некроманта "Кровавый пир", если активен "Аспект Поддержки" и аватар находится бою.
Прерывает каст умения барда "Танцующий клинок", если активен "Аспект Поддержки" и аватар находится бою.
Аддон, предупреждающий про все купола на Киросе. Надпись появляется во время купола и пропадает когда можно выбегать из него.
Теперь показывает все купола на Киросе.
Специально для моих золотых рыбок.
Аддон для ласт босса Тайных Троп. Отображает количество стаков "Чистая мирра" на Служителе Света.
Да не нужен вам этот аддон. Чистите баф или скачайте пророк и впишите туда.
Еще один аддон для страдающих буратинизмом немного упрощающий бой со вторым боссом Тайных Троп - Симарглом в сложном режиме. На третьей фазе, когда Симаргл разделяется на несколько своих копий и необходимо найти 2 настоящих с бафами "Унисон", отмечает необходимые копии большим черным черепом и отображает 2 иконки бафа "Унисон" при нажатии на которые выбираются в цель копии на которых висит этот баф.
Показывает критический урон и отхил (всем, кроме бафов). Очень долго это творение пылилось на полке. Я немного отреставрировал и решил им поделиться. Сейчас оно уже не так актуально, но пусть будет. В давние времена оно не попало сюда. Изначальное авторство мне не известно.
Поможет отследить негодяев, которые так и подтягивают всех, когда вы носите ядра к Локусу.
Negotiants Calculator
Напротив различных видов сырья выводит цену пыльцы, которая получится при разбивании этого сырья разными видами молотков:
1-е число - цена при разбивании молотком от вендора
2-е число - молотком из ЛР / крафтовым
3-е число - молотком с доминиона.
Аддон помогает отслеживать переименовавшихся игроков в списке друзей и в гильдии. Для тех кому лень самому прописывать комментарии.
Аддон слеш-командой копирует ник персонажа и вставляет его в комментарий, действует для всех игроков гильдии (слеш-команда "/setG") или для всех игроков френд листа (слеш-команда "/setF") .
Если у какого-либо игрока уже был комментарий он и останется, новые комментарии добавятся только для тех у кого комментария не было.
LibTimer is a library that allows the use of a timer function. This is intended for developers, not general players.
The Allods API does not provide a way to call a function after a certain time, at least not without freezing the thread. So I've used something that the API does provide: animation of a widget. To be more exact, when we animate a widget, we can specify the duration of the animation. My library uses that.
Usage is simple. First, include the file in AddonDesc.(UIAddon).xdb, in the <Scripts> section, but before your main script file.
You can use the timer function like so:
StartTimer(functionName,duration,arguments[...])
functionName is the name of the function that you want to execute.
duration is the duration in milliseconds after wich the function will execute
arguments is a list of the arguments that you want to pass to your function. You can pass any number of arguments
This is an example that will run the function TestTimer 2 seconds after writing "Test Start".
function TestTimer(param1, param2, param3)
common.LogInfo("",param1.." "..param2.." "..param3)
end
common.LogInfo("","Test Start")
StartTimer(TestTimer,2000,"First String","Second String","Third String")
common.LogInfo("","Test End??")
The result will be the following
Test Start
Test End??
First String Second String Third String
AGpro - помогает скинуть громобой, контроль или применить умение/предмет при появлении на вас какого либо бафа.
Внимание! После порезки API в патче 7.0.1 аддон не работает на официальных серверах на ПвП локациях (Доминион, БГ, Арена Смерти).
Описание:
При применении на вас громобоя, модернизированного громобоя, контроля или ослабления отображается панель, нажав на которую вы используете контроль в "автора" бафа, применяете предмет из сумки (например противоядие) или же просто берете "автора" бафа в таргет.
Бафы при появлении которых необходимо отображать панель и реакцию на клик возможно редактировать.
Не работает на капкан инженера
Установка:
Распаковать папку AGpro в папку с аддонами \папка игры\data\Mods\Addons
Настройка:
При вводе наименования бафа/умения/предмета важен регистр букв.
Меню настроек открывается при нажатии на кнопку с надписью "AG".
Для добавления нового бафа необходимо нажать на кнопку "Новый". Затем в первом столбце вводится название бафа. Во втором нажатием на соответствующий "флажок" выбирается реакция (умение/предмет/таргет) на левый клик и вводится название умения/предмета. В третьем - аналогично выбирается реакция на правый клик.
Удаление бафа - нажатие на корзину.
Включение/выключение режима перетаскивания - слеш-команда в игровой чат "/dndagpro" или аддон AOandLocker.
Сброс настроек - слеш-команда в игровой чат "/AGclear"
Простой аддон для страдающих буратинизмом немного упрощающий бой со вторым боссом Зимнего Дворца - Пророком в сложном режиме. При появлении на вас бафа "Гибельные сомнения" очищает все панели умений (ничего не нажмёте - никого не убьёте), после спадения бафа - возвращает все умения, предметы и т.д. на прежние места.
При открытии сумки выделяет вещи у которых ГС больше (или равен) чем у вещей надетых на аватаре.
Аддон отображает сколько миры, крупиц, слёз у Вашего Аватара.
Цветовая гамма выводится:
Мира - ( до 2000 - красным, от 2000 до 10К - зеленым, с выше 10К белым )
Крупицы - ( до 100 - красным, от 100 до 500 - зеленым, с выше 1000 белым)
Слёзы - ( до 100 - красным, от 100 до 500 - зеленым, с выше 1000 белым )
Цветовая гамма актуальна для 55 лвл.
В аддоне реализована поддержка Drag&Drop.
Аддон поддерживает AOPanelMod, AOPanel, AOandLocker.
Поддержку аддона осуществляет:
Примечание:
Аддон не рекомендуется использовать с аддонами MyrrhMyrrh, AOPanelMyyrha.
Выбор каким пользоваться за Вами.
Аддон имеет настройки
Настройки аддона производится блокнотом в файле config.txt
Пример:
-- Тут настройка для тех у ко го установлена AOPanel, AOPanelMod
-- Если не хотим дублирование ифы ставим (true)
keyWt = false
Данный аддон при наличии рядом гоблина отображает панель умений от ваших переродков и панель билдов. При нажатии на иконку умения или билда меняется соответственно умелка от переродка или переливается билд.
В аддоне используются билды из BuildManager
Правое нажатие на кнопку с надписью "GM" включает режим перетаскивания.
В файле Settings.txt для не русскоязычных серверов можно прописать имя Гоблина и выбираемые реплики для смены умений и билдов.
После изменения умений от перодка (прокачали нового переродка/удалили старого) аддону необходимо "показать" умения от переродков, поговорив со специалистом по необъяснимому или выбрав соответствующий пункт у гоблина.
Наглядно показывает баффы на выбранной цели и Вашем персонаже. Отдельно, очень заметно, показывает сработавшую Несгибаемую Волю и каст Громобоя на Вашего персонажа. При клике ЛКМ по баффу на аватаре можно выбрать в таргет кастера этого баффа. При клике ПКМ по баффу он скликивается с Вашего персонажа (полезно например для сбрасывания зарядов здоровья у друида).
Для ознакомления предлагаю посмотреть демонстрационный ролик внизу страницы.
Версия "из коробки" настроена на помощь бардам ( показывает баффы, которые можно отдиспелить ).
Описание настроек.
Файл настроек аддона находится по адресу:
".../WillNotif/settings.lua"
Открывается стандартным Блокнотом. (пкм -> открыть с помощью -> блокнот).
*В параметре "RUSbuffsList" прописываются баффы, которые нужно отслеживать на Вашей жертве. Кстати, все бафы должны быть прописаны в кавычках ("Благословение") и через запятую.
On the European and Brazilian server buffs need to register in paragraph "ENGbuffsList" !
---
*В параметре "timeTOshow" прописывается граничное время для появления таймеров на бафах. Например, когда вы установите значение 10, таймеры будут отображаться только на бафах, время до окончания которых не превышает 10 секунд. Если вы хотите совсем отключить таймеры можно прописать значение 0.
---
*В параметре "willSwitcher" можно включить/выключить отдельный показ баффа Несгибаемой Воли на цели. Чтобы отключить показ, нужно вместо слова "true" прописать слово "false" ("Global("willSwitcher", false)" - без кавычек).
---
*В параметре "gromSwitcher" можно включить/выключить показ каста Громобоя (отдельно, так же как воля) на Вашего персонажа.
---
*В параметре "friendlyFire" можно выключить/выключить показ баффов на дружественных персонажах. true - баффы на союзниках показываются, false - баффы на союзниках не показываются.
---
*В параметре "avatarBuffsPanel" можно включить/выключить показ панельки с баффами на Вашем персонаже. true - включить панельку, false - выключить.
---
*В параметре "avatarBuffsList" баффы, которые нужно отслеживать на Вашем персонаже, так же, как и бафы на Жертве, нужно прописывать в кавычках и через запятую ({"Печать боли", "Аура страданий"})
---
*В параметре "buffsSize" прописывается размер иконок баффов. 100 - огромный, 10 - микроскопический. Оптимально в диапазоне 40-60.
---
*В параметре "buffsFade" прописывается прозрачность иконок баффов. 1.0 - полностью непрозрачны, 0.1 - невидимы.
--
*В параметре "killBuff" прописывается возможность скликнуть бафф с вашего персонажа кликом по иконке баффа на панельке. Например, снять заряды здоровья друида, баффик Миража и прочее. true - бафф снимается ПКМ, false - бафф не снимается.
--
Поддерживается DnD.
Включается командой в чат игры "/wnDNDon". После перемещения виджетов, обязательно нужно прописать в чат команду "/wnDNDoff".
Демонстрационный ролик (версия 1.5 (без таймеров, баффов на аватаре))
Простой аддон, который упрощает запуск нового испытания в пещере Тка-рика, а также берёт баф для испытания "Сферы жадности".
- Откройте диалог с Вероникой (контекстной клавишей или правым кликом по НПС) и аддон сам выберет нужные пункты в нём.
- Пункты для взятия бафа для "Сфер жадности" появляются у Вероники не сразу, поэтому после начала этого испытания поговорите с Вероникой ещё раз, чтобы аддон взял баф.
Настроек нет. Если надо выключить аддон, то используйте меню "Дополнения" в игре.
После обновления 5.0.2 тактика сбрасывания квеста и повторного его взятия для "выдаивания" выгодных боссов уже не даёт результата (список испытаний, которые выходят первыми, теперь сильно ограничен), поэтому аддон также работает как бесплатная замена SetMyTkarik.
+ Существует аддон для автоматической экипировки кристаллического шлема: https://alloder.pro/files/file/216-crystalhelmetautoequip/
- Версия 2.1: багфиксы by Vitus
Аддон собирает статистику о средневзвешенном значении решимости у персонажа.
Аддон в минималистском стиле. Для запуска нужно ввести чат-команду "/rs" или "/кы" (без кавычек). После этого на экране появятся 2 значения: "ХХ : УУ", нулевые по началу. ХХ - это средневзвешенная решимость за текущий или (если персонаж вне боя) за предыдущий бой. УУ - средневзвешенная решимость за всё время работы аддона. Повторный ввод этой команды выключит аддон.
Вторая чат-команда, принимаемая аддоном: "/rr" или "/кк". Данная команда обнуляет счетчики решимости.
А теперь немного ответов на вероятные вопросы:
В: А зачем это нужно?
О: Если вы не понимаете, зачем оно нужно, то этот аддон вам точно не нужен. Если понимаете - вопрос не должен возникнуть.
В: Что такое "средневзвешенная"?
О: Аддон учитывает нанесенный урон под текущей решимостью. Чем больше этот урон, тем сильнее он повлияет на вычисленные значения. Считаете, что это неправильно? Пишите - обсудим.
В: Решимость же влияет на нанесенный урон! Получается она влияет на результат и своей величиной, и нанесенным уроном.
О: Учитывается нормализованный урон - без влияния решимости, критов и прочих поглощений.
В: Аддон расположен в неудобном месте, как его подвинуть?
О: Есть мысль заставить себя доделать интерфейс, но пока она не реализована. Пока можно поиграться ключами <X> и <Y> в файле RageStat\Announce.(WidgetTextView).xdb
В: Цвет вырвиглазный!
О: Ваш вариант в теге color в файле RageStat\Announce.txt
В: А можно ли сделать как-то шрифт поменьше? Размер цифр не радует меня совсем.
О: Уменьшите число в теге fontsize в файле RageStat\Announce.txt
Аддон, который выводит "ГирСкор" цели.
Не перетаскивается. Зато простой и с открытым исходником.
Кому не нравится расположение - позиция задаётся в функции onSize, а именно в строке 49 и в строке 52.
This "super" add-on is an assistant to add-on function. Similar to AddonManager. However, instead of being able to turn on/off or hide add-ons; it is capable of allowing add-on developers to quickly and simply create buttons or user input abilities for their add-ons. This allows the user and the developer to reduce the amount of memory their add-on uses if they want to allow people to customize certain aspects of the add-on.
Этот "супер" аддон - помощник для для других аддонов. Наподобие AddonManager. Однако, вместо того, чтобы включить/выключить или скрывать аддоны, этот аддон позволяет разработчикам, быстро и просто создавать окно с настройками, или пользовательский ввод для своего аддона. Это позволяет уменьшить объем памяти, используемый аддоном, когда хочется сделать, чтобы люди могли настраивать некоторые аспекты аддона.
--Developer Advice--
Response to "CONFIG_INIT_EVENT" -
Code:
userMods.SendEvent("CONFIG_INIT_EVENT_RESPONSE", { sender = common.GetAddonName() })
Response to "CONFIG_EVENT_"..common.GetAddonName() -
Required -NoB - This is the number of the button to be created.
name - This is for the name of the button.
btnType - This is the type of button;"Simple" - For simple buttons.
"T/F" - For true and false buttons.
"EditLine" - For user input lines.
"Color" - For a customizable color button.
"Slider" - For a sliding button.
"Tabled" - For a forward/backward table button.
Optional -state - This is for the "T/F" button, true or false.
value - This is mainly for the button types "Tabled" and "EditLine" to update the value.
steps - This is for the number of steps for the "Slider" button.
pos - This is for the position the "Slider" button should start at.
color - This is the RGBA current value of the color button.
texture - This is the textureId of a texture.
sizeX - Size for X value of "Tabled" texture.
sizeY - Size for Y value of "Tabled" texture.
text - Text for "Tabled" text.
scale - Scale for "Tabled" text.
Example -
Code:
userMods.SendEvent("CONFIG_EVENT_RESPONSE", {NoB = 0, name = "Dance", btnType = "T/F", state = true})
Response to "CONFIG_CHANGE_BUTTON_RESPONSE" -
Required -NoB - Number of the button to change text.
Optional -
name - Name of the button. "EditLine" or "Tabled" buttons.
value - The new value for the button. "EditLine" or "Tabled" buttons.
texture - The new texture. "Tabled" buttons only.
sizeX - Size for X value of "Tabled" texture.
text - Text for "Tabled" text.
scale - Scale for "Tabled" text.
Example -
Code:
userMods.SendEvent("CONFIG_CHANGE_BUTTON_RESPONSE", {NoB = 0, name = "Dance2", value = "Tango"})
Response from "CONFIG_SIMPLE_"..common.GetAddonName() -
Values Sent - {name}
Response from "CONFIG_BUTTON_"..common.GetAddonName() -
Values Sent - {name, state}
Response from "CONFIG_EDIT_LINE_"..common.GetAddonName() -
Values Sent - {name, text}
Response from "CONFIG_COLOR_"..common.GetAddonName() -
Values Sent - {name, color}
Response from "CONFIG_SLIDER_"..common.GetAddonName() -
Values Sent - {name, pos}
Response from "CONFIG_TABLED_"..common.GetAddonName() -
Values Sent - {name, dir} (dir is "+" or "-")
Example code for True/False buttons:
Code:
--CONFIG WINDOW COOPERATION
function ConfigInitEvent()
userMods.SendEvent("CONFIG_INIT_EVENT_RESPONSE", { sender = common.GetAddonName() })
end
function ConfigEvent()
local num = 0
for i, v in NPB do
userMods.SendEvent("CONFIG_EVENT_RESPONSE", {NoB = num, name = L [GetGameLocalization()] , btnType = "T/F", state = v})
num = num + 1
end
end
function ConfigButtonResponse(p)
local s
for i, v in L [GetGameLocalization()] do
if v == p.name then
s = i
end
end
if NPB ~= nil then
NPB = not NPB
end
userMods.SetGlobalConfigSection("NPB", NPB)
common.StateUnloadManagedAddon( "UserAddon/"..common.GetAddonName() )
common.StateLoadManagedAddon( "UserAddon/"..common.GetAddonName() )
end
Code:
function Init()
-- CONFIG WINDOW EVENTS (INIT, RESPONSE, BUTTON)
common.RegisterEventHandler( ConfigInitEvent, "CONFIG_INIT_EVENT" )
common.RegisterEventHandler( ConfigEvent, "CONFIG_EVENT_"..common.GetAddonName())
common.RegisterEventHandler( ConfigButtonResponse, "CONFIG_BUTTON_"..common.GetAddonName())
end
Рассчитывает и отображает здоровье цели в хит-поинтах, а не в процентах.
Для того, чтобы аддон смог определить здоровье цели - ее необходимо атаковать и на нести минимум 2 удара. Чем больше урона будет нанесено цели - тем точнее будет определено здоровье.
Информация о текущем и максимальном здоровье корректируется и обновляется на протяжении всего боя.
Показывает чат поверх карты и визора в астрале.
Вы можете добавить "окна-карты" и "окна-чаты", То есть окна "над которыми поднимать" и окна "которые поднимать".
Show the Chat and other windows over the Map, Astral, Navigator's Visor
Your may add new "map widget" and new "chat widget".
Меню настроек
Удалить виджет типа "окно-чат" - правая мышка по пункту меню.
Добавить - там просто.
После добавления можно выставить положение виджету при открывании "окна-карты"
ВНИМАНИЕ!!! - лучше всего делать настройки для данного "окна-карта" если оно поднято!
"map-widget" - "окно-карта" такой тип окна, за которым будет следить аддон. Если это окно открыто то аддон поднимет над ним все "окна-чаты" ("chat-widget") настроенные на это "окно-карту"
"chat-widget" - "окно-чат" - такое окно, которое будет аддоном подниматься над "окном-картой" ("map-widget").
Теперь все настройки окон, которые были сделаны при открытом окне карты сохраняются в момент закрытия карты!
И не забудьте сохранить настройки потом через АдонсТулз:
То есть:
1 Открываем карту, появляются окна над ней.
2.Тем что мы хотим задать новое место при открытой карте - либо таскаем их по DnD либо используем другие аддоны для их смещения - например InterfaceManager
3. закрываем карту, все настройки сохранятся на этот сеанс игры
4. Открываем AddonsMenu (двойной клик по часам) и там на пункте мнею с PopUpChat жмем правую мышку
5. появляется контекстное меню в котором жмем - save
Для сброса настроек аддона (убиения секции в User.cfg) до настроек записанных в config.txt:
1. выгружаем аддон PopUpChat с помощью AddonsMenu
2. там же жмем правую кнопку и выбираем Очистить настройки аддона
3. загружаем PopUpChat
можно настраивать что и как поднимать над картой, задав в config.txt значения для главных окон аддонов:
place =
nil - not up - не поднимать окно
{} - up but not move - поднимать, но не передвигать
{ new parameters for placement } - up and move - поднимать и изменять положение окна
место можно задавать как для главного окна в параметре
place = { ... }
так и для вложенных в него окошек:
places = { ["pathofwidget1"] = {...}, ["pathofwidget2"] = {...}, }
путь до виджета можно посмотреть через аддон:
InterfaceManager - им же можно двигать окна так чтобы аддон запомнил положение окон, когда они находятся над картой
теперь для каждого "окна-карты" свои настройки, поэтому config.txt выглядит по другому:
if not dsc then return end
--- ***********************************************************
--- create "config_local.txt" and write your own setting into it
--- ***********************************************************
--- initial config
--- processed maps names (addons mainForms) :
--- PS.mainMap --- common map
--- PS.astralMap --- astral map
--- PS.astralVisor --- astral visor
--- Values:
--- = nil - not up
--- = {} - up but not move
--- = { new parameters for placement } - up and move
--- names of MaimForm - for pop up under map
--- форма записи следующая:
--- PS.processed_maps_name.mainForm_name = parameters
--- например панель вашего аватара для поднятия её когда вы используете визор будет так записана:
--PS.astralVisor.Plates = { place = { alignX = 3, alignY = 3 }, places = { ["Avatar"] = {}, } }
--- а так для обычной карты
--PS.mainMap.Plates = { place = { alignX = 3, alignY = 3 }, places = { ["Avatar"] = { alignX=2,alignY=2 }, } }
--- чтобы строку сделать рабочей а не коментарием - удалите все черточки в начале строки
-- example as describe a forms for POPUP:
PS.mainMap.ChatLog = { --- name of mainForm --- ChatLog - это чат
place = nil, --- положение самой главной формы - её тоже можно изменить - расширить на весь экран например
places = { --- это указание куда переместить отдельные формы внутри этой главной формы - путь пишется через двоеточие
["Area:Panel02"] = { alignX=1, sizeX=400, highPosX=170, alignY=2, sizeY=600 },
["Area:Panel07"] = { alignX=1, sizeX=200, highPosX=170, alignY=2, sizeY=400 },
}
}
PS.mainMap.Buffs = { ---- Buffs - это бафы
-- это форма бафов - тут и аватара и транспорта
places = { --- это указание куда переместить отдельные формы внутри этой главной формы - путь пишется через двоеточие
["Avatar"] = { alignX=2, posX = 0, highPosX=0, alignY=1, highPosY = 200 },
["Transport"] = {},
}
}
PS.mainMap.ChatInput = { --- это строка ввода в чат
}
PS.astralMap = Clone( PS.mainMap ) --- clone settings from mainMap
PS.astralVisor = Clone( PS.mainMap )
для того чтобы стандартный config.txt не затирал ваши настройки при обновлении аддона - создайте файл config_local.txt - из него настройки булут браться уже после загрузки аддоном config.txt.
как видно, теперь у каждого "окна-карты" - свои настройки. всего в аддоне пока 3 "окна-карты" - хотя можно и больше сделать, если есть пожелание -пишите.
"map-widgets" (окна-карты):
mainMap --- common map
astralMap --- astral map
astralVisor --- astral visor