368 файлов

  1. Бесплатно

    LibGS

    (Для разработчиков аддонов)
    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() --------------------------------------------------------------------------------

    15 392 скачивания

       (1 отзыв)

    Обновлено

  2. Бесплатно

    Программа для автообновления аддонов

    Возможности
    Установка, обновление и удаление аддонов (после авторизации через меню "Настройки"): в том числе и для платных аддонов. Отслеживание обновлений аддонов и уведомление о них. Автоматическая проверка обновлений аддонов каждые 10 минут. Самостоятельно обновит себя в случае выхода новой версии. По умолчанию аддоны, требующие обновления, уже отмечены, вам достаточно только нажать кнопку "Обновить".
    При первом запуске может потребоваться задать соответствия с некоторыми аддонами, которые программа не сможет распознать самостоятельно.
    Установка
    Windows требует подписи программ именными сертификатами. Поскольку такой сертификат стоит достаточно дорого, мы не захотели его покупать. Без сертификата установка со стороны Windows несколько осложняется, а именно:
    после запуска установщика жмем "Установить" - "Подробнее" - "Выполнить в любом случае"

     
    Требования
    Windows Vista и выше (WinXP не поддерживается). Microsoft .NET Framework 4.5 (если отсутствует - программа установит его самостоятельно).

    27 528 скачиваний

       (17 отзывов)

    Обновлено

  3. Бесплатно

    Определитель ключа для привязки аддонов

    Касается только игроков оф.серверов.
    Аддон необходим для получения ключа, используемого в привязке платных аддонов к аккаунту.
    Скачиваем и ставим аддон. Заходим в игру, включаем его, копируем ключ. Вставляем ключ в поле "ID игрового аккаунта" в настройках сайта. Готово! Теперь можно скачивать аддоны, и они будут работать на всех персонажах на привязанном аккаунте. Подробности, вопросы и ответы
    Only for players from official server.
    Addon needed for receiving special key of your game account, which uses in binding paid addons to game account.
    Download and install addon.
    Log in to game, enable addon, copy key.
    Paste it in the field "Game account ID" in profile settings.
    Done! Now you can download paid addons and they will work for all characters from binded game account.
    Details, questions and answers

    18 091 скачивание

       (17 отзывов)

    Обновлено

  4. Бесплатно

    LibDnD

    Официальная версия LibDnD для аддонов. Рекомендуется разработчикам аддонов использовать данную версию LibDnD в своих аддонах.
    В ближайшем будущем планируется добавления новых плюшек, в т.ч. перенос некоторых плюшек из других аддонов.
    Если требуется какой-то особенный дополнительный функционал, или кто-то готов поделиться своим, то можно об этом попросить на странице разработки LibDnD.
     
    HOW-TO: LibDnD.lua - Библиотека Drag&Drop
     
     
    Простейший пример использования LibDnD
     
    Файл LibDnD.lua нужно включить в AddonDesc.(UIAddon).xdb, в секции <ScriptFileRefs>:
    <ScriptFileRefs> <Item href="LibDnD.lua" /> ... </ScriptFileRefs> DnD.Init() - Инициализирует виджет для Drag&Drop. Это нужно только один раз, во время инициализации аддона, или позже, когда угодно. Повторные вызовы для того же самого виджета на данный момент нежелательны.
    Пример:
    DnD.Init( wtMainPanel ) Всё, Drag&Drop УЖЕ работает )
     
     
    Функция DnD.Init()
     
    Синтаксис:
    DnD.Init( wtMovable, wtReacting, fUseCfg, fLockedToScreenArea, Padding, KbFlag, Cursor )
    Обязательные параметры:
    1) wtMovable - ссылка на Widget.
    Виджет, КОТОРЫЙ нужно перемещать.
    НЕобязательные параметры (могут быть nil, или их можно вообще не писать):
     
    2) wtReacting - ссылка на Widget (nil = wtMovable).
    Виджет, на который привязывается реакция, т.е. виджет, ЗА КОТОРЫЙ будет перетаскиваться wtMovable. Это может быть сам wtMovable, то есть сама перетаскиваемая панель, но НЕ обязательно (!), это может быть что угодно, например, ЗАГОЛОВОК ОКНА, "дочерний" по отношению к ОКНУ wtMovable. Если не указан - виджет wtMovable перемещается сам за себя.
    3) fUseCfg - true/false (nil = false).
    Сохранять ли позицию виджета в конфиг-файл User.cfg. Если да, то сохранит в таблице с именем "DnD:<путь к виджету wtMovable в иерархии>", в секции, названной по имени аддона. Рекомендуется, чтобы все родительские виджеты wtMovable имели осмысленные, не динамические, уникальные имена.
    4) fLockedToParentArea - true/false (nil = true).
    Если true, то передвигаемый виджет нельзя даже частично утащить за края родительского окна (чаще всего ими являются края экрана). Таким образом он всегда будет находиться целиком на экране (если не переопределено в параметре Padding, см. ниже). А если false, то его можно утащить полностью, точно так же, как можно утаскивать окна в ОС Microsuxx Windows.
    5) Padding - число или таблица из 4 чисел {Верхний,Правый,Нижний,Левый} (nil = {0,0,0,0}).
    Если fLockedToParentArea=true, то действует Padding. Если хотите, чтобы за край окна всё-таки можно было частично утащить wtMovable на какую-то глубину, то можете заполнить таблицу. Например, это сделано в аддонах "PhanTime" и "HonorInfo", где по краям панели имеется "тень" толщиной 8 пикселей. Там эта таблица заполнена отрицательными числами, вот так: {-8,-8,-8,-8}. В случае передачи числа в качестве параметра, оно будет использовано в качестве глубины по всем направлениям.
     
    6) KbFlag - флаги управляющих клавиш KBF_*.
    Если надо, чтобы wtMovable двигался только при нажатии клавиш Shift, Ctrl или Alt, передаем здесь соответствующие флаги KBF_*:
    nil - нажатие любой из перечисленных клавиш не имеет никакого эффекта.
    KBF_NONE - Перетаскивание только при не нажатых клавишах
    KBF_SHIFT - Перетаскивание только при нажатой "Shift"
    KBF_ALT - Перетаскивание только при нажатой "Alt"
    KBF_CTRL - Перетаскивание только при нажатой "Ctrl"
    KBF_ANY - Перетаскивание только при любой нажатой клавиши из перечисленных
    7) Cursor - строка/false (nil = "drag").
    Стиль курсора, который будет устанавливаться при перетаскивании.
    nil/true - используется курсор по умолчанию: "drag".
    false - курсор не меняется при перетаскивании.
     
     
    Примеры использования DnD.Init()
     
    Виджет Окно (wtWindow), которое можно таскать за виджет Заголовок-окна (wtTitle), являющийся дочерним виджетом Окна:
    DnD.Init( wtWindow, wtTitle ) Виджет таскается сам по себе, И его позиция сохраняется между игровыми сессиями (создаёт секцию по названию аддона в файле User.cfg):
    DnD.Init( wtPanel, wtPanel, true ) или:
    DnD.Init( wtPanel, nil, true ) Виджет не сохраняет позицию между игровыми сессиями, и его можно утащить почти полностью за край экрана:
    DnD.Init( wtPanel, nil, false, true ) Позицию в конфиг не сохраняет, но за то, "тень" по краям текстуры фона окна аддона, имеющая
    толщину 8 пикселей со всех сторон, будет красиво задвигаться за край экрана (так сделано в аддонах "PhanTime" и "HonorInfo"):
    DnD.Init( wtMainPanel, nil, nil, nil, {-8,-8,-8,-8} ) или:
    DnD.Init( wtMainPanel, nil, nil, nil, -8 ) Делаем сразу три разных виджета передвигаемыми в одном аддоне:
    DnD.Init( wtTrayButton ) DnD.Init( wtMainWindow ) DnD.Init( wtConfigWindow ) Делаем передвигаемую wtMainPanel и все её дочерние виджеты в пределах родителя с учетом рамки в 4 пикселя при нажатой клавише Ctrl, с сохранением всех позиций в User.cfg:
    DnD.Init( wtMainPanel, nil, true ) for _,wtChild in pairs( wtMainPanel:GetNamedChildren() ) do DnD.Init( wtChild, nil, true, nil, 4, KBF_CTRL ) end Функция DnD.Enable()
    Синтаксис:
    DnD.Enable( wtWidget, fEnable )
     
    1) wtWidget - ссылка на Widget.
    Это может быть wtReacting или wtMovable, не важно, т.к. оба варианта работают.
    2) fEnable - true/false.
    Если true, то виджет будет реагировать на Drag&Drop, а если false, то Drag&Drop виджета будет запрещён (то есть, виджет будет "пристёгнут", и будет игнорировать все попытки перетаскивания).
    Этой функцией пользоваться НЕ обязательно, т.к. все виджеты, зарегистрированные в системе функцией DnD.Init(), по умолчанию, АКТИВНЫ. Но если возникнет необходимость "пристегнуть" такой виджет, то функция DnD.Enable() существует именно для этого. Она меняет статус виждета, перманентно разрешающий или запрещающий его Drag&Drop. "Пристегнуть" виджет можно командой DnD.Enable( ВашВиждет, false ), и он будет игнорировать все попытки перетаскивания. Если позже вам потребуется снова разблокировать его (снова сделать перетаскиваемым), то сделайте это командой DnD.Enable( ВашВиждет, true ).
    Функция DnD.Enable() может потребоваться вам, например, если вы захотите сделать в своём аддоне полноценную поддержку событий аддона AddonManager.
    Подробнее об этом написано здесь: Поддержка событий AddonManager в других аддонах
     
    Функция DnD.IsDragging()
    Синтаксис:
    DnD.IsDragging()
    Если в вашем аддоне есть перетаскиваемые кнопки (такие есть, например, в аддонах "DarkDPSMeter" и "GuildGui1b"), то вам пригодится функция DnD.IsDragging(). Чтобы при перетаскивании такой кнопки, ИЗБЕЖАТЬ нажатие на неё, вставьте такую строку в начало кода реакции на нажатие кнопки:
    if DnD.IsDragging() then return end Функция DnD.Remove()
    Синтаксис:
    DnD.Remove( wtWidget )
     
    1) wtWidget - ссылка на Widget.
    Виджет, который нужно разрегистрировать в системе DnD, чтобы его можно было безопасно уничтожить с помощью DestroyWidget. Передавать надо именно тот виджет, который собираетесь уничтожать.
    На данный момент не проверяет, зарегистрированы ли в системе дочерние по отношению к wtWidget виджеты, поэтому, если вы их регистрировали, то необходимо вызывать DnD.Remove и для них.
    Пример:
    for _,wtChild in pairs( wtMainPanel:GetNamedChildren() ) do DnD.Remove( wtChild ) end DnD.Remove( wtMainPanel ) wtMainPanel:DestroyWidget() Бонус: функции GetConfig() и SetConfig()
    Примеры:
    Получить весь конфиг аддона в виде ТАБЛИЦЫ (если он есть в User.cfg), или nil (если его там нет):
    Config = GetConfig() Получить из конфига значение переменной Name (если она есть) или nil (если её там нет).
    Имя переменной может быть строкой или числом, а значение - чем угодно, хоть таблицей.
    MyOption = GetConfig( Name ) Сохранить в конфиг-файл переменную Name со значением Value.
    Те же условия для имени и значения, что описаны в предыдущем примере.
    SetConfig( Name, Value ) Если передать только ОДИН параметр, но ТАБЛИЦУ, то все её переменные будут аккуратно добавлены (merged) в конфиг аддона. Именно добавлены. То есть, тупой перезаписи одной таблицы поверх другой эта функция НЕ делает.
    SetConfig( { ["A"] =5, [100] ={1,10,100}, ["Yes"] =true } ) Этим двум функциям НЕ нужно указывать название секции, т.к. они всегда пользуются секцией, названной именем аддона.

    4 330 скачиваний

       (2 отзыва)

    Обновлено

  5. Бесплатно

    SetLoot

    Аддон предоставляет удобный интерфейс для раздачи предметов, полученных в компасах, также позволяет автоматизировать некоторые действия лидера группы
    возможности:
    помнит количество предметов, полученных персонажами в группе позволяет автоматически раздавать предметы запоминает состав группы с последнего острова позволяет автоматически собирать группу после выхода с острова позволяет автоматически менять настройки дележа в группе ЛКМ по кнопке SL переключает видимость окна группы, ПКМ отключает/включает аддон
    Управление для панели раздачи:
     ЛКМ по кнопке рядом с ником персонажа выдаст ему предмет 
     ПКМ обнулит счетчик полученных предметов для персонажа
     флажок означает, что данный персонаж будет учитываться при автораздаче

    64 скачивания

       (0 отзывов)

    Опубликовано

  6. Бесплатно

    GraalAutoEquip

    Аддон автоматически экипирует Грааль пробуждения, в случае нахождении в сумке, при разговоре с торговцами эссенций и квестгиверами в Царстве Стихий. Также после окончания разговора возвращает предыдущий артефакт обратно, а Грааль в сумку.
    Открытый исходный код.
    P.S. только для старых склеротиков, забывающих его надеть перед сдачей квеста на цс или покупкой эссенций

    115 скачиваний

       (0 отзывов)

    Обновлено

  7. Бесплатно

    RBTracker

    Аддон уведомляет в чат о появлении босса, если этот босс сегодня не был убит и записывает время последнего появления.
    Запоминает время убийства босса и закрашивает первую букву имени зеленым цветом, если сегодня этот босс был убит и красным если нет.
    ПКМ по кнопке "АОС" позволяет поделиться в чате временем появления боссов. (Нажать Enter для открытия ввода в чате и ПКМ по кнопке "АОС")
    Сбрасывает убийства в 4:0:0.
    Информация о последнем появлении общая между персонажами, убийства - для каждого своя.

    735 скачиваний

       (2 отзыва)

    Обновлено

  8. Бесплатно

    AucTranslate

    Позволяет заменять набранный текст латиницей на кириллицу, если забыли переключить раскладку клавиатуры.
    Как пользоваться:
    1. Написать нужное слово в английской раскладке;
    2. Нажать кнопочку рядом с окном поиска;
    3. Радоваться сэкономленным 3 секундами жизни.

    13 скачиваний

       (0 отзывов)

    Опубликовано

  9. Бесплатно

    UserAddonsAutoReloader

    [31.01.2019] В обновлении 10.0.00.47 исправили ошибку, приводившую к нестабильной работе пользовательских дополнений. Рекомендую отключить или удалить этот аддон.
    Автоматически перезагружает пользовательские дополнения.

    1 424 скачивания

       (2 отзыва)

    Обновлено

  10. Бесплатно

    ArtefactCalc

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

    220 скачиваний

       (1 отзыв)

    Обновлено

  11. Бесплатно

    AcceptMerc

    Автоматически нанимает наемников при начале диалога с Властемиром Наймитовым или Александрой Сольдиной.
    На Таинственных землях автоматически начинает диалог с НПС для найма
    Включение/отключение работы аддона по кнопке М

    164 скачивания

       (0 отзывов)

    Опубликовано

  12. Бесплатно

    AmalgamMerge

    Автоматически объединяет капли амальгамы в амальгаму (одного срока жизни).
    Аддон реагирует на изменение состояния сумки. Если часть капель не объединилась, то достаточно перетащить любой предмет в сумке в другую ячейку и аддон снова запустится, объединив оставшиеся капли.

    580 скачиваний

       (0 отзывов)

    Обновлено

  13. Бесплатно

    ChatTrans

    Заменяет "аброкадабру" из английских букв на русские в строке ввода чата. Работает для клавиатуры "Русская"
    Пример: "Ghbdtn" -> "Привет"
    Имеется два режима: 1 - по нажатию кнопки ("TS"); 2 - автоматически
    Переключение между режимами: shift+левая кнопка мыши по кнопки "TS"

    77 скачиваний

       (0 отзывов)

    Опубликовано

  14. Бесплатно

    PetsSearch

    Собери их всех!
    Аддон выводит уведомление о том, если рядом находится один из питомцев коллекции. 
    Если нажать на цель на уведомлении, то можно либо выбрать питомца своей целью, либо выбрать целью и сразу начать каст Усмирителя.
    Так же отображает, каких питомцев в текущей зоне можно поймать. Если такой уже есть в наличии, то он будет подписан зеленым цветом. Передвинуть это окно можно мышкой, зажав клавишу Shift.
    Отображает точки респавна питомцев на карте и мини-карте. 
    Настройки открываются при нажатии на кнопку:
    Автокаст усмирителя -  Брать питомца в цель и сразу начинать кастовать усмиритель либо же просто брать в цель;
    Метки на большой карте - Показывает точки респавна питомцев на большой карте;
    Метки на мини-карте - Показывает точки респавна питомцев на мини-карте;
    Инфо о петах в зоне - Показывет, можно ли поймать каких-то питомцев на текущей локации и каких.

    5 481 скачивание

       (4 отзыва)

    Обновлено

  15. Бесплатно

    Wildhunt - Ловля диких питомцев

    Аддон информирует о присутствии рядом питомца, пишет его имя по центру экрана и рисует стрелочку над ним.
    Больше нет необходимости использовать "Сенсор жизни" и ждать откат 15 секунд

    3 215 скачиваний

       (0 отзывов)

    Обновлено

  16. Бесплатно

    AucSearch

    Позволяет писать в окне поиска уровня трехзначные числа.

    39 скачиваний

       (0 отзывов)

    Опубликовано

  17. Бесплатно

    UIBuffsAutoReloader

    Лагает после одной бг? Лагает после боя на мчд? Вот у меня да.
    У меня слабое железо, но на нем вполне можно играть на около максимальных настройках графики, вот только в локациях с большим количеством игроков, фреймрейт оставляет желать лучшего. Минимальные настройки графики дают малый прирост в производительности игры (сейчас играю на минималках). После хотфикса с правками в системном интерфейсе бафов, играть стало невозможно, но спустя несколько патчей, стало играбельно. Я тогда набросал аддон, который перезапускает системный интерфейс бафов каждые 5 минут, это тот еще костыль для игры мирового уровня, зато с ним мне не надо так часто перезапускать игру. Наблюдал похожую картину на стримах мчд Амёбки. Видимо проблема с бафами осталась, но проявляет себя спустя какое-то время, поэтому решил выложить этот костыль сюда. Жду фидбек.
    Внимание! В AOPanelMod могут некорректно отображаться кнопки.

    914 скачиваний

       (2 отзыва)

    Обновлено

  18. Бесплатно

    ChatHistory

    Аддон сохраняет все переписки чатов (вселенная, мир, гильд-чат, ПМ, зона) с возможностью их просмотра.

    Кнопка - удалить историю чата.
    Флажок - включить/выключить запись чата в аддон.
    Архив с переписками является общим для всех персонажей.

    221 скачивание

       (0 отзывов)

    Обновлено

  19. Бесплатно

    MapSize

    Дает возможность сделать размер карты меньше. За правый нижний угол можно менять размер окна.

    318 скачиваний

       (0 отзывов)

    Опубликовано

  20. Бесплатно

    HolyWeapon

    Мини дополнение для запоминания облика святого оружия и автоматического надевания при входе в игру.
    Полезно,  если есть необходимость  носить разное СО на перерождениях. При входе в игру (или при запуске аддона) автоматически наденется тот облик, который был на персонаже до выхода из игры.

    120 скачиваний

       (1 отзыв)

    Опубликовано

  21. Бесплатно

    PuzzlehuntCheat

    Показывает надпись на экране, если поблизости есть записка. Надпись исчезнет, если записка пропала. Это немного облегчает поиск, ведь теперь можно быть уверенным в том, что записка действительно где-то рядом. К сожалению, метку прикрепить нельзя.

    1 136 скачиваний

       (0 отзывов)

    Обновлено

  22. Бесплатно

    UniverseMeter

    Измеритель дпс и хпс.
       
    Отличительные особенности:
    Имеет настройки, позволяющие оставить только нужные режимы. График урона с информацией за каждый период. Описание умений, присутствующих в статистике. Корректная работа с предыдущими боями и покинувшими рейд игроками. Имеет четыре режима:
    ДПС - нанесенный урон. ХПС - кто и сколько сотворил лечения. ДЕФ - полученный урон. IHPS - кого насколько лечили (по умолчанию отключено). Показывает данные за текущий бой, два предыдущих боя, а также общий в какой-либо активности.
    Корректно переносит данные последнего боя в предыдущие, при выходе игрока из вашей группы не теряет данные о нем.
    В статистике отображает:
    График нанесения урона во времени, с возможностью посмотреть данные за каждый промежуток времени. Уровень решимости. Использованные умения с детализацией: стихия урона; тип урона; доля урона под мощью/доблестью/коварством/слабостью/уязвимостью; различные промахи; различные поглощения урона; описание умения.

    6 355 скачиваний

       (2 отзыва)

    Обновлено

  23. Бесплатно

    AutoSkipCutscenes

    Аддон делает авто-пропуск всех катсцен в Обсерватории. Особенно полезно тем, кто часами фармит её в лёгком режиме.

    2 024 скачивания

       (3 отзыва)

    Обновлено

  24. Бесплатно

    SmartCast

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

    211 скачиваний

       (0 отзывов)

    Обновлено

  25. Бесплатно

    RemindEnslavement

    Показывает напоминание, когда откатывается умение Порабощение.
    Сделан на базе AspectAlarm.

    168 скачиваний

       (0 отзывов)

    Опубликовано