Реклама
  • Объявления

    • Fye D. Flowright

      Проблема с отображением баффов, хп, маны и урона в аддонах   20.04.2017

      После хотфикса 8.0.1.21 от 19 апреля в аддонах перестала отображаться информация о баффах, дебаффах, уроне, здоровье, входящем отхиле и изменении маны. Связано это с изменениями, внесенными разработчиками в API аддонов в данном хотфиксе. Восстановление работоспособности тех аддонов, которых затронуло это изменение, требует некоторого времени, поскольку не является легко поправимым. Авторам платных аддонов необходимо как можно быстрее, в срок до конца апреля, исправить проблемы. В случае невозможности исправить проблему и фактической бесполезности и неработоспособности аддона в отсутствие этих исправлений такой аддон будет снят с продажи. В случае снятия аддона с продажи покупателям будут проведены возвраты. По аддонам, работоспособность которых будет возобновлена, будут продлены сроки подписки. В случае, если окажется, что ситуация сложнее, чем представляется, в приведенные выше условия могут быть внесены изменения, о чем я обязательно сообщу. Подробности об изменении авторам аддонов: common.RegisterEventHandler(eventFunction, sysEventName, params) Для следующих событий params является обязательным параметром, в котором должен быть указан идентификатор интересующего объекта ObjectId: EVENT_HEALING_RECEIVED EVENT_UNIT_HEALTH_CHANGED EVENT_UNIT_MANA_PERCENTAGE_CHANGED EVENT_UNIT_DAMAGE_RECEIVED EVENT_DEVICE_DAMAGE_RECEIVED EVENT_OBJECT_BUFFS_CHANGED EVENT_OBJECT_BUFF_ADDED EVENT_OBJECT_BUFF_REMOVED Пример: local onEventObjectBuffsChanged = function(p)     -- событие придет для аватара end local params = {objectId = avatar.GetId()} -- Подписываем обработчик: common.RegisterEventHandler(onEventObjectBuffsChanged, 'EVENT_OBJECT_BUFFS_CHANGED', params) -- Отписываем обработчик: common.UnRegisterEventHandler(onEventObjectBuffsChanged, 'EVENT_OBJECT_BUFFS_CHANGED', params) Обращаем внимание на одну маленькую деталь в этом примере: -- Подписываем обработчик: common.RegisterEventHandler(onEventObjectBuffsChanged, 'EVENT_OBJECT_BUFFS_CHANGED', {objectId = avatar.GetId()}) -- Отписываем обработчик: common.UnRegisterEventHandler(onEventObjectBuffsChanged, 'EVENT_OBJECT_BUFFS_CHANGED', {objectId = avatar.GetId()}) -- здесь будет ошибка, поскольку params не равен тому, который использовали при регистрации. Оставить комментарий

303 файла

  1. Бесплатно

    Касается только игроков оф.серверов.
    Аддон необходим для получения ключа, используемого в привязке платных аддонов к аккаунту.
    Скачиваем и ставим аддон. Заходим в игру, включаем его, копируем ключ. Вставляем ключ в поле "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

    11 853 скачивания

       (12 отзывов)

    Обновлено

  2. Бесплатно

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

    16 740 скачиваний

       (11 отзывов)

    Обновлено

  3. Бесплатно

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

    13 464 скачивания

       (1 отзыв)

    Обновлено

  4. Бесплатно

    Официальная версия 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 } ) Этим двум функциям НЕ нужно указывать название секции, т.к. они всегда пользуются секцией, названной именем аддона.

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

       (2 отзыва)

    Обновлено

  5. Бесплатно

    Управление встроенными аддонами игры для повышения фпс.
    Использование
    Левый клик на кнопку - открыть окно настроек Правый клик на кнопку - переключение режима, выгружает-загружает обратно аддоны согласно настройкам Особенности
    Кнопка "Оптимизировать настройки" меняет настройки игры следующим образом (неуказанные оставляет текущими): выкл    Сглаживание вкл      Низкая детализация поверхности выкл    Тени под персонажами выкл    Процедурные текстуры выкл    Атмосферные эффекты выкл    Пост-эффекты выкл    Эффект свечения выкл    Мягкие частицы вкл      Всегда использовать интерфейс отряда
    *Интерфейс отряда в формате 6*6 даёт выигрыш, тк следит/отрисовывает за меньшим числом бафов. Три базовых набора аддонов на отключение. Галочкой помечены аддоны на выгрузку. Только встроенный баф менеджер (иконки бафов под плашкой игрока и на плашках рейда). Может быть интересно для тех кто использует кастомные бафменеджеры. Рекомендуемое - отключается часть аддонов (бафменеджер, миникарта, рейд, и часть других) Максимальное - большая часть аддонов, за исключением чата, карты(кнопка M), друзей (кнопка O), сумки (кнопка B), плашек игроков и ряда других для возможности воскрешаться и минимально ориентироваться. Можно самому выбрать аддоны на выгрузку, после выбора нужных нужно сохранить его Аддон хранит сохранённый список аддонов для выгрузки и загружает его при запуске игры. Поддерживет AOPanel С AddonReloader лучше не использовать (он временное откл аддонов в моём аддоне запоминает у себя как постоянное) Для желающих отключить голосование за исключение на БГ - "Голосование" 5 снизу в последнем столбце, Для желающих отключить значок-часы "Снижении производительности" , это "Дополнения" 6 снизу в последнем столбце (но отключится всё окно управления скачанными дополнениями) P.S.: Буду благодарен за скрины ваших настроек, которые вы подобрали под себя. Также отписываемся, какие аддоны не стоит выгружать (ломается что-либо). С радостью исправлю дефолтные сеты/уберу опасные аддоны из списка.

    98 скачиваний

       (0 отзывов)

    Обновлено

    • Можно покупать для старых версий игры 6.0.1
  6. Бесплатно

    Прерывает каст умения барда "Танцующий клинок", если активен "Аспект Поддержки" и аватар находится бою.

    128 скачиваний

       (0 отзывов)

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

  7. Бесплатно

    Аддон отображает порезку контроля (диминишинг) у выбранной цели.
    Сверху секунды до отката, снизу информация о порезке контроля данной группы. 
    1 - нет порезки, иконка не отображается
    1/2 - порезка на 50%
    1/4 - порезка на 75%
    0 - порезка на 100% полный иммунитет, иконка серая.
    Команда /dimdnd включает/выключает режим перетаскивания за полупрозрачную черную панельку
    Команда /dimreset сбрасывает положение панельки на стандартное.
     
    В файле config.lua можно настроить размер иконок (по умолчанию 40)
    Global("Size",40) -- размер иконок И виды отображаемого типа контроля ShowType
    При значение false иконка данного типа не отображается.
    Global("ShowType",{     ["Slow"]=true, -- Замедление     ["Stun"]=true, -- Оглушение, Отталкивание     ["Fear"]=true, -- Страх     ["Silence"]=true, -- Немота, Обезоруживание     ["Blind"]=true, -- Ослепление, Дезориентация     ["Disable"]=true, -- Длительное обездвиживание, Заморозка, Усыпление, Очарование, Гипноз, Астрал })

    600 скачиваний

       (1 отзыв)

    Обновлено

  8. Бесплатно

    Аддон, предупреждающий про все купола на Киросе. Надпись появляется во время купола и пропадает когда можно выбегать из него.
    Теперь показывает все купола на Киросе.
    Специально для моих золотых рыбок.

    564 скачивания

       (0 отзывов)

    Обновлено

  9. 25.00 руб

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

    23 покупки   60 скачиваний

       (0 отзывов)

    Обновлено

  10. Бесплатно

    Аддон автоматически (для этого надо "пообщаться" с Рогом) записывает производство ресурсов в Рогах Изобилия на Личном аллоде по всем персонажам.
    Также аддон автоматически увеличивает время производства ресурсов в Рогах Изобилия в случае грабежа (тоже надо "пообщаться" с ограбленным Рогом)
     
    Известный баг:
    при первом запуске аддона, уже работающие Роги c одинаковым видом ресурсов и количеством дней добавляюися в список лишь один раз, остальные Роги добавятся только при новом запуске производства.

    507 скачиваний

       (2 отзыва)

    Обновлено

  11. Бесплатно

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

    733 скачивания

       (2 отзыва)

    Обновлено

  12. Бесплатно

    Снимает баф "Безумие войны" при появлении на игроке (полезно для танков)

    461 скачивание

       (0 отзывов)

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

  13. Бесплатно

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

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

       (2 отзыва)

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

  14. Бесплатно

    Добавляет отсчет времени для визуализатора проков.

    639 скачиваний

       (0 отзывов)

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

  15. Бесплатно

    Да не нужен вам этот аддон. Чистите баф или скачайте пророк и впишите туда.

    853 скачивания

       (0 отзывов)

    Обновлено

  16. Бесплатно

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

    737 скачиваний

       (0 отзывов)

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

  17. Бесплатно

    Прерывает каст умения некроманта "Кровавый пир", если активен "Аспект Поддержки" и аватар находится бою.

    348 скачиваний

       (1 отзыв)

    Обновлено

  18. Бесплатно

    Поможет отследить негодяев, которые так и подтягивают всех, когда вы носите ядра к Локусу.

    313 скачивания

       (0 отзывов)

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

  19. Бесплатно

    Позволяет быстро менять набор характеристик, используя инсигнии.
    Выглядит и работает наподобии BuildManager, те
    а) Характеристики меняются в один клик - выбрали билд, подождали появления сообщения в чате "Статы установлены" (Это занимает некоторое время, тк нужно ожидать ответа клиетна на каждое изменение)
    б) Есть группировка по классам
    в) Исходники открыты
    Список поддерживаемых инсигний:
    1) Пылающая Инсигния Атаки
    2) Пылающая Инсигния Защиты
    3) Инсигния Атаки
    4) Инсигния Защиты
    5) Премиальная Инсигния Атаки
    6) Премиальная Инсигния Защиты

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

       (3 отзыва)

    Обновлено

    • Можно покупать для старых версий игры 6.0.1
  20. Бесплатно

    Аддон для ласт босса Тайных Троп. Отображает количество стаков "Чистая мирра" на Служителе Света. 

    2 397 скачиваний

       (0 отзывов)

    Обновлено

  21. Бесплатно

    При падении уровня здоровья персонажа в группе или рейде, этот персонаж говорит фразу "не хватает здоровья". Персонажи разных рас говорят фразу по-своему. Это помогает хилу быстрее увидеть, кто нуждается в отхиле.
    По умолчанию персонажи произносят фразу на 40% здоровья. Процент можно изменить написав в чат "/порог хп хх" где хх - цифра хп в процентах.
    Прайдены и аэды, по техническим причинам, произносят "не хватает энергии".

    711 скачивание

       (0 отзывов)

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

  22. Бесплатно

    Еще один аддон для страдающих буратинизмом немного упрощающий бой со вторым боссом Тайных Троп - Симарглом в сложном режиме. На третьей фазе, когда Симаргл разделяется на несколько своих копий и необходимо найти 2 настоящих с бафами "Унисон", отмечает необходимые копии большим черным черепом и отображает 2 иконки бафа "Унисон" при нажатии на которые выбираются в цель копии на которых висит этот баф.

    2 791 скачивание

       (0 отзывов)

    Обновлено

  23. Бесплатно

    В аддоне 3 функции:
    1. Спидометр (см. скрин). Плашку можно перетаскивать с зажатым Ctrl. Спрятать/отобразить - /ызв или /spd в чат. При скрытии плашки все накопленные данные обнуляются. Первое число - скорость, [второе] - пройденное расстояние, (третье) - длина последнего блинка.
    2. Автокормежка активного маунта.
    3. Автоэкипировка брони. Автоэкипироваться будет последняя использованная персонажем броня.
    В папке Scripts лежит Config.lua, в нем можно настроить некоторые параметры (описание есть в самом файле). 

    606 скачиваний

       (1 отзыв)

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

  24. Бесплатно

    Данный аддон помогает составлять карту лабиринтов на личных аллодах, дабы не заблудиться, если лабиринт длинный и запутанный. Возможности:
    Показать/скрыть аддон - щелчок правой кнопкой мыши по названию аддона; Масштаб карты; Изменение цвета проложенных путей; 6 маркеров для отметки координат; Сохранение/загрузка/удаление карт; Изменение размера видимой части карты

    2 307 скачиваний

       (3 отзыва)

    Обновлено

  25. Бесплатно

    Аддон запоминает дату, когда "Рог изобилия" произведет ресурс и заносит в табличку.
    Для внесения данных достаточно взаимодействия с "Рогом изобилия".
    Запоминает у всех воплощений.
    Таблица; Ник - Дата производства (дней до производства) - Тип ресурса
    Время производства рогов в 0:00 по мск.
    Кнопка "Очистить" стирает всю табличку безвозвратно.
     
    Отображается / скрывается кнопочкой "LA".

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

       (5 отзывов)

    Обновлено