436 files

  1. Free

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

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

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

    33303 downloads

       (21 reviews)

    Updated

  2. Free

    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() --------------------------------------------------------------------------------

    16159 downloads

       (1 review)

    Updated

  3. Free

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

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

    22012 downloads

       (15 reviews)

    Updated

  4. Free

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

    4556 downloads

       (2 reviews)

    Updated

  5. Free

    MBRStatHelper

    Аддон для тех кто хочет посчитать оптимальное соотношение мастерства решимости, беспощадности и удачи в ПВЕ контенте.
    Показывает разницу с текущими статами.
    Можно при подсчете учесть бонус от ордена +100 решимости. Также можно учесть бонус от алхима и шопа +150 статов, еды +25решимости и вех гильдии +40 к удаче. Учитывает бонусы к мастерству от надетого амулета(примерно). Учитывает бонус от доблести саппорта. Также можно задать ваш уровень решимости
     
    При подсчете за общее кол-во статов берутся текущие значения мастерства, решимости, беспощадности, удачи и для них ищутся оптимальные значения.
    Учитывается дишинг удачи после 750 очков.

    Подбор господства, стремительности лежит на вас самих(они для каждого класса индивидуальны).
     
     Есть два метода подсчета
     1) Беспощадность взята равной мастерству для простоты расчетов. Результаты почти идентичны методу2
     2) Занимает гораздо больше времени. Имитируется реальный бой для обеспечения работы беспощадности. Значения беспощадности соответсвуют игровым (растут с ускорением)
     
     
    Распространение и модификация аддона разрешена мной как автором аддона.

    8452 downloads

       (4 reviews)

    Updated

  6. From 12.50 RUB

    Менеджер бафов (buffManadger)

    Возможности: отслеживание бафов (счищаемых, важных), контролей (диминишинга), каста мобов
    Аддон позволяет в удобном виде отслеживать нужные баффы на своем игроке, окружающих игроках или мобах по нужным критериям (на своем игроке, на врагах, на друзьях, если автор баффа сам игрок, только на выбранной цели, на игроках группы или рейда).
    С помощью панели баффов можем отслеживать выбранные баффы на выбранных игроках или монстрах (например, следить за контролем на выбранном мобе, или ожидать появление баффа, или ожидать окончания баффа).
     
     
    Варианты отображения
      
    Бафы на аватаре и панели цели
     Бафы аватара отображаются на самом аватаре и бафы цели отображаются в определенной панели цели, остальные все бафы отображаются на самих объектах
     
     
      
    Бафы на объектах
    Бафы аватара отображаются на самом аватаре и бафы цели отображаются на самом объекте цели, остальные все бафы отображаются на самих объектах
     
     
    Бафы на панелях цели и аватара
    Бафы аватара отображаются в определенной панели аватара и а бафы цели также отображаются в определенной панели цели, остальные все бафы отображаются на самих объектах
     
       
    Настройка бафов, примеры:
     
    На всех объектах
    Настроим баф контроля «Оцепенение». Устанавливаем флажки всегда, и отображать на объектах игроков и мобов. Баф будет отображаться всегда при любых условиях.
     
     
    Только на аватаре
    Настроим баф боевой поддержки «Доблесть», для этого необходимо настроить два бафа «Доблесть» и «Тактика: Доблесть»
     
     
    Бафы на петах
    Настроим баф «Генератор силового поля» и «Портативный лучемёт» - бафы будут отображаться только на дружественных целях, тем самым игрок будет видеть куда нужно бежать чтобы получить защиту данных устройств инженера. На устройствах врагах данный баф не отображается.
     
     
    Контроли
    Отображение бафав контролей и диминишинга (от 0 до 3, где 0 - полное отсутствие диминишинга, 3 - полное сопротивление контролям из данной группы)
     
    Отслеживание длительного контроля
    Возможность слежения своего длительного контроля для выбранной цели
    Отслеживание каста мобов
    Отслеживание кастов мобов
     
     
    Инструкция по сохранению и выгрузке настроек
    а) Сохранение настроек в файл
    а.1) В контекстном меню аддона нажать кнопку "Очистить бафы" 
    а.2) В контекстном меню аддона нажать кнопку "Сохранить файл"
    а.3) В папке аддона запустить файл  ExportMods.vbs (должен создаться файл MaInitLoadUser.lua) - в данном файле хранятся все настройки бафов
     
    б) Загрузка настроек из файла
    б.1) В папке аддона должен быть файл "MaInitLoadUser.lua"
    б.2) В контекстном меню аддона нажать кнопку "Загрузить из файла"
     

    рис 1. Контекстно меню аддона

    рис 2. Файл "ExportMods.vbs" - экспорт настроек из файла mods
    После сохранения необходимо корректно завершать аллоды (если со сбоем скорее все ничего не сохранится)
     
     

    4261 downloads

       (9 reviews)

    Updated

  7. Free

    ViewIfrits

    Отображает на экране сколько Искр, Душ и Пламени ифрита в сумке во время Бури.

    220 downloads

       (0 reviews)

    Updated

  8. Free

    InspectEquipRating3

    Показывает рейтинг экипировки персонажа, а также руны и покров.
    Отличается от InspectEquipRating2 тем что показывает также максимальное кол-во ХП маунта/брони и уровни артефактов.
    Сделан на основе LibGS. Имеет открытые исходники.
     
    Распространение и модификация аддона разрешена мной как автором аддона.

    8344 downloads

       (1 review)

    Updated

  9. Free

    GuildHallTeleport

    Телепортируйтесь в столицу (щелкните левой кнопкой мыши) через крепость гильдии или просто в крепость (щелкните правой кнопкой мыши) одним нажатием кнопки!
     
    Teleport to capital (left click) through guild stronghold or just to stronghold (right click) with single button click!

    268 downloads

       (1 review)

    Updated

  10. Free

    AutoAccept

    Аддон принимает инвайты в группу\рейд, проходит проверку готовности, запросы очереди.
    Вы можете использовать чат для передачи лидера группы\рейда, кика или приглашения в группу.
    Аддон поддерживает графический интерфейс и команды чата для редактирования настроек.
    GUI для аддона можно получить, взаимодействуя с кнопкой AA. Список команд чата можно получить, введя /aa в чате, а  посмотреть текущую конфигурацию -  /aa conf
    Addon that accepts group and raid invites, queue requests, chat commands, ready check.
    You can use chat to  pass group or raid lead, making people leave, inviting to group.
    Addon supports GUI and chat commands to edit settings.
    GUI for addon can be accessed by interacting with AA button. List of chat commands can be accesed by typing "/aa" in the chat and current configuration by typing "/aa conf".

    1244 downloads

       (1 review)

    Updated

  11. Free

    PasiFastSell

    Аддон упрощает продажу ненужных предметов. Он двигает в первую ячейку сумки вещи мусорного качества, а также те, которые вписали в конфиг NpcableStuff.lua
    Настройки:
    /pfs equip on / off - перемещать экипированные предметы (только предметы, которые равны или слабее экипированных - аддон проверяет уровень предметов)
    /pfs weaponoffhand on / off - перемещать оружие и вне руки
    /pfs defaults - настройки по умолчанию (перемещение экипированных предметов - включено, перемещать оружие и не в руке - выключено)
     
    Addon simplifies selling junk items with option to add any item of your choice. Sell item and addon will move next into same slot for you. Config additional items in NpcableStuff.lua
    Settings:
    /pfs equip on / off - move equippable items (only items that are equal or weaker than equipped - addon checks item level)
    /pfs weaponoffhand on / off - move weapon and off-hand
    /pfs defaults - default settings (move equippable items - on, move weapon and off-hand - off)

    488 downloads

       (0 reviews)

    Updated

  12. Free

    AmalgamMerge

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

    2267 downloads

       (1 review)

    Updated

  13. Free

    PicCastbar

    Замена стандартного каст бара.
    Удобный перетаскиваемый кастбар, см. скриншот.
    Показывает лаг\пинг в виде красного столбика (время которое события идут от вас до сервера или обратно).
    Мини-фича: расчет количества данных кастов до того момента, когда у вас кончится мана.

    15401 downloads

       (5 reviews)

    Updated

  14. Free

    LabMap

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

    9016 downloads

       (5 reviews)

    Updated

  15. Free

    UseCoinsAmalgam

    Автоматически объединяет капли амальгамы, реалгар,  монеты, полученные с полей сражений и другие предметы. Он будет работать только тогда, когда в вашей сумке произошли изменения, и объединит все возможные элементы.
    Automatically combines amalgam, realgar, battlegrounds coins, and other items. It will only work when there has been a change in your bag and will combine all possible items.

    1076 downloads

       (0 reviews)

    Updated

  16. Free

    ItemTimeInfo

    В сумку добавляется ярлык с информацией об оставшемся времени товара, а также список времени истечения предмета и уровни компаса.
    In bag adds a label informing of item remaining time and lists items expiration time and compass levels.

    1136 downloads

       (3 reviews)

    Updated

  17. From 50.00 RUB

    Помощник торговца (Auction)

    Дополнение практически полностью автоматизирует процесс торговли на аукционе.
    Функциональные возможности аддона:
    Автовыставление предметов из сумки на аукционе Выборочное выставление предметов из сумки на аукцион Автопокупка предметов у торговца Отбор дешевых товаров на аукционе Поиск предметов на почте Вывод списка товаров Сохранение / Выгрузка цен 1. Авто-выставление предметов из сумки на аукционе
    1.1. Настройка параметров для автоматического выставления
    Для каждого предмета, который мы хотим продать, нужно настроить цену и количество, для этого необходимо: а) открыть форму "Настройка выставления", б) в сумке выбрать нужный предмет, например, "Метеоритная руда" и переместить в любую пустую ячейку, при перемещении у нас заполниться форма "Настройка выставления", после заполнения мы можем изменять параметры выбранного предмета с сохранением. Обязательные параметры для заполнения "Мин" - это самая низкая цена за 1 шт на аукционе на которую планируем выставить, "макс" - это самая максимальная цена за 1 шт на которую планируем выставить, т.е. выкуп на аукционе будет в интервале ["мин","макс"] в зависимости от цен конкурентов, "Количество" - это максимальное количество предметов за один лот.

    1.1.1. Установка интервала цен выкупа в голдах за 1шт (тип цены равен 1)
    Используется для выставления в голдах на аукционе, но на ~1-5% дешевле конкурента. Здесь нужно установить 2 параметра - это "Мин" и "Макс", т.е. мы устанавливаем интервал [мин;макс] цен. Выкуп будет принадлежать диапазону цен [мин;макс] и будет определяться в зависимости от стоимости конкурента для аналогичного предмета. Аналогично выставляются 2 и 3 тип цен.

    1.1.2. Установка интервал цен выкупа в кристаллах за 1шт (тип цены равен 2)
    Аналогично пункту 1.1.1 только стоимость зависит от курса кристалла.

    1.1.3. Цены в зависимости от базовой стоимости предметов за 1шт (тип цены равен 3) 
    Это почти аналог выставления в голдах, разница лишь в том что мы задаем стоимость в коэффициенте, который умножается на базовую стоимость предмета, базовая стоимость у каждого предмета своя и устанавливается разработчиками АО. Применимо в основном для товаров экипировки персонажа.

    1.1.4. Постоянная цена в голдах за 1шт (тип цены равен 4)
    Постоянная цена в голдах устанавливается  для ставки и выкупа, где ставка соответствует "мин", а выкуп соответствует "макс" (словно мы в ручную выставляем на аукционе в голдах)

    1.1.5. Постоянная цена в кристаллах за 1шт (тип цены равен 5)
    Аналогично пункту 1.1.4 только стоимость устанавливается в кристаллах и зависит от курса кристалла.

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

    1.3. Обновление цен конкурентов
    Используется для расчета минимальных цен конкурентов, которая необходима для выставления товаров по самой низкой цене, т.е. чтобы выставить товар дешевле, чем у конкурента, необходимо аддону знать самую низкую цену конкурента.
    Для обновления цен конкурентов используются кнопки: "Все", "Редкости и костюмы", "Из сумки". Для того что бы кнопка "Все" отрабатывала, предварительно необходимо подсчитать остатки на почте и аукционе, в этот момент происходит заполнение фильтров перебора нужных товаров на аукционе. 
    При обновлении фактически происходит обнуление минимальных цен конкурентов в аддоне и просмотр нужных товаров на аукционе для расчета минимальной цены конкурента.
    Минимальная стоимость конкурента рассчитывается всегда при любом просмотре аукциона, или когда аддон перебирает нужные страницы или вручную просматриваем аукцион.

    1.4. Отмена наших лотов на аукционе
    Наши конкуренты тоже не спят и хотят продать товар по быстрее, поэтому могут выставлять товар дешевле, чем наш лот, это может случиться через 5 мин или через час. Для отмены наших лотов, по которым у конкурентов есть более дешевый предмет, используется кнопка "снять перебитые аукционы" - предварительно должно быть выполнено обновление цен конкурентов.

    Отменить также можно наши аукционы нажатием кнопки "Снять" вводом оставшихся часов до завершения аукциона.
    1.5 Сбор с почты  
    Почту мы можем использовать как временное хранилище наших товаров. С почты мы можем собирать абсолютно весь товар или только нужное количество.
    1.5.1 Собираем нужное количество с учетом цен конкурентов. Обязательные параметры: а) цена конкурента (заполняется при обновлении цен), б) интервал наших цен, т.е. параметры "Мин", "Макс" в) "Огр по сб" расшифровывается как "ограничение по сбору" - это параметр определяет до какого количества нам нужно собрать с почты. Предметы будут собираться только которые мы сможем выставить на аукционе и по более низкой цене и не более суммарного количества в сумке и на аукционе. Перед сбором желательно считать остатки на аукционе и почте и выполнять обновление цен.

    1.5.2. Собираем нужное количество без учета цены конкурента, для сбора конкретного предмета в параметр "Огр по сб" должно быть установлено положительное значение, т.е. больше нуля. Например, собирать до 100 шт с учетом имеющего количества на аукционе и почте, параметр "Огр по сб" должен быть равен значению "100" или все "Огр по сб"= "9999999", при нажатии кнопки "Собрать" будет выполнен сбор предметов  
    1.6. Способы заполнения формы "Настройки выставления"
    Перемещение в сумке в пустую ячейку На аукционе кликанием левой кнопкой мыши на квадратик в колонке уровень В чате кликаем левой кнопкой мыши на нужный предмет с зажатой клавишей "ctrl" Через форму "Список товаров" 1.7. Порядок автоматического выставления предметов на аукционе
    Разобрав пункты с 1.1-1.5 описанные дальнейшие действия должны уже быть понятны:        
    Посчитать остатки на аукционе и почте. Можно пропустить пункт подсчета остатков в случае. Обновляем все цены. Снять перебитые аукционы. Посчитать остатки на аукционе. Забираем предметы с почты и выставляем, повторяем 5 пункт до тех пор пока все не выставим. 2. Выборочное выставление предметов из сумки на аукцион
    В форме "Создание аукционов" мы можем создавать по введенному выкупу, открыв сумку переместив нужный предмет в пустую ячейку выполниться заполнение формы, автоматически запуститься перебор аналогичных предметов на аукционе для расчета минимальной и средней цены конкурентов. На основе этих данных можно проанализировать цены и определиться по какой цене выставлять. Для запуска выставления по минимальной и средней цене конкурентов обязательно нужно дождаться расчета данной стоимости. Для запуска по постоянной цене можно запускать процесс выставления сразу, не дожидаясь обновления цен минимальной и средней цены. 

    Поле "Количество" - это максимальное количество предметов за один лот.
    3. Авто-покупка предметов у торговца
    Для продажи на аукционе нам нужен товар, некоторые виды товаров продаются у торговцев в разделе перепродажа, из данного раздела можно настроить нужные предметы для автоматической покупки в неограниченных размерах или до определенного количества. Чтобы покупать до определенно количества необходимо предварительно один раз посчитать остатки на аукционе и почте.

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

    5. Поиск предметов на почте
    Рядом с открытой почты есть маленькая кнопочка, по которой открывается форма поиска предметов на почте.

    6. Список товаров
    Используется для просмотра общей картины о списках товаров с интервалом наших цен, текущей ценой выкупа, минимальной ценой конкурентов, остатков товаров. По необходимости можем открыть форму "Настройка выставления" из списка товаров и откорректировать цены.


    7. Сохранение настроек аддона (рекомендуемое сохранение)
    В случае изменения настроек аддона желательно сохранять все настройки в файл "InitializationLoadUser.lua" расположенный в папке аддона, сохранение можно выполнять перед завершением клиента АО или по окончательному редактированию настроек аддона, для сохранения необходимо выполнить следующее: 1) в настройках нажимаем кнопку "Выгрузить цены", 2) открываем папку аддона и запускаем скрипт "ExportMods.vbs". Скрипт выполнит сохранение цен в файл "InitializationLoadUser.lua" - именно из этого файла выполняется загрузка сохраненных настроек аддона.

    Теперь запись ошибок игровых дополнений в файл mods.txt отключена по умолчанию. Для её включения необходимо отредактировать параметр user_mods_log_enable в файле /Personal/global.cfg.

    8. Настройки

    9. Выгрузка в Excel

    5927 downloads

       (25 reviews)

    Updated

  18. Free

    NoDubina

    Аддон, который снимает баф от дубины Миротворец
    Основано на DelBV

    17 downloads

       (0 reviews)

    Updated

  19. From 12.50 RUB

    Изменение характеристик инсигниями (Менеджер статов, StatManager)

    Позволяет быстро менять набор характеристик (включая сброшенные КЖВ и покровителя), используя постоянные или временные инсигнии (расходует только нужное количество разовых инсигний). 
     
    Например, один набор может использоваться для PvE, а другой для PvP.
    Список используемых инсигний:
    1) Пылающая Инсигния Атаки
    2) Пылающая Инсигния Защиты
    3) Инсигния Атаки
    4) Инсигния Защиты
     
    Выбор варианта сохранения
    Обработка команд чата:
    1) "/EnchantInsNew GetSave" - вывести текущий метод сохранения ( Avatar - сохраняет только для текущего игрока, Global - сохраняет для всех игроков )
    2) "/EnchantInsNew Save Avatar" - сохранять данные для текущего аватар (необходимо перезапустить аддон)
    3) "/EnchantInsNew Save Global" - сохранять данные для всех игроков (необходимо перезапустить аддон)
    4) "/TypeSave" - Вывести параметры ввода
    5) "/msclear" - сброс настроек 

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

    11483 downloads

       (10 reviews)

    Updated

  20. Free

    Заведующий добычей (LootManager)

    Позволяет равномерно распределять любой лут между выбранными участниками группы/рейда
     
    Требование:
    1) Быть участником группы
    2) Быть заведующим добычи
    3) Добытый предмет должен быть предназначен для одного игрока из группы

    скриншот 1. Кнопка открытия аддона
     

    Скриншот 2. Настройки

    Инструкция по использованию:
    1) Сделать себя заведующим добычи
    2) распределять полученный лут
     

    Способы использования аддона в 7.0.1:
    1) Распределять монеты на астральной охоте
    2) распределять инсигнии героя
    3) фарм на цс в группе
     
    Дополнительные аддоны:
    SaveParty - при  создании группы автоматически устанавливает нужный разрол лута
     
     

    2737 downloads

       (0 reviews)

    Updated

  21. Free

    SidekickAlarm

    Элементарная напоминалка об отключенном помощнике (сорока, собака, джинн, т.п.) для тех, кто не хочет отвлекаться на состояние иконки.
    При старте ищет в книге заклинаний активного персонажа доступных помощников, сравнивая их имена с собственным списком. Если находит, успокаивается, и начинает мониторить состояние активности помощника. При этом, активного помощника можно менять, во время "переключения" аддон будет подавать соответствующий варнинг.
    Редактируемый список имён помощников находится в текстовом файле SidekickAlarm\Scripts\SidekickNames.txt
    Код строки сообщения находится в текстовом файле SidekickAlarm\Texts\SidekickAlarmFormat.txt
    Список имён помощников можно исправлять "на лету", после чего реактивировать аддон в системной панели клиента (checkbox).

    Абсолютно не нагружает клиента, максимально лаконичен. При добавлении в каталог аддонов включается автоматически.
    Тестировалось на версии обновления 12.000.21.

    95 downloads

       (0 reviews)

    Updated

  22. Free

    AutoButtonDuelist_OK

    Авто-Кнопочный Дуэлянт против моба на Айрине.
    Т.е. дуэлиться против моба можно с помощью одной кнопки! 🤣
    При вступлении в дуэль появляется авто-кнопка, при нажатии которой аддон сам выбирает, что использовать в дуэли.
    Чем чаще кликать на кнопку, тем точнее производятся действия. Можно легко получить титул "Первый клинок Айрина" Авто-кнопку можно свернуть и развернуть на весь экран правой кнопкой мыши (в развёрнутом режиме визуально кнопка останется почти прежнего размера, изменится её вид) Реализованные локализации:
    rus - Русская eng_eu - English (European servers) by @Repentence  
    Так же вы можете помочь с локализацией, выложив архив рабочей папки "Locales" с вашей локализацией в поддержку.
    ENG:
    You can also help with localization by dropping an archive of the "Locales" working folder with your localization to support.

    3226 downloads

       (6 reviews)

    Updated

  23. Free

    AllodsTranslateLore

    Addon that will translate parts of game interface related to Lore (quests, npc talks and anything related) into English or English / Russian. If you want any other language simply translate texts in translationlist.lua.
    To make it work on russian client your windows needs to understand cyrylic. Simply follow this video :
    Windows 10 might also have option to use UTF-8 instead, make sure it's unchecked!
    You can find more in Readme.txt

    94 downloads

       (0 reviews)

    Updated

  24. Free

    AllodsConversion

    Addon that will translate parts of game interface into English or English/Russian. If you want any other language simply translate texts in translationlist.lua.
    To make it work on russian client your windows needs to understand cyrylic. Simply follow this video:
    Windows 10 might also have option to use UTF-8 instead, make sure it's unchecked!
    List of commands for settings
    /stats eng            translate stats to english
    /stats both           translate stats to russian/english
    /stats rus            translate stats to russian - turns off translation
    You can find more in Readme.txt

    90 downloads

       (0 reviews)

    Updated

  25. Free

    [Устарел] LoverTalk

    [Устарел и более не работает]
    Простенький аддон упрощает ускоренное прохождение квеста  "Побег Любовника" - помогает "успеть" поговорить с Джакомо ди Вевр до того, как он начинает сбегать.
    * при наличие маски вольной птицы (или иных предметов, что добавляют кнопку быстрого действия) возможно прохождения двух стадий разговора за один подход
     
    ***
    Суть ускоренного прохождения:
    1. Чтобы быстро найти Джакомо ди Вевр достаточно  перемещаться между мостиком и первым местом возможного появления НПС, пересекая туда и обратно границу области "появления" обозначенную началом моста.
    2. После появления НПС нужно подбежать к нему и успеть в диалоге сказать две фразы, чтобы засчитало часть выполнения.
    3. Когда НПС начнет сбегать нужно вернуться на мост (при этом отменится часть выполненных этапов квеста)
    4. Повторить п.1-3, чтобы засчитало вторую часть выполнения (снова достаточно успеть сказать две реплики).
    5. Повторить п.1 и спугнуть НПС, не вступая с ним в диалог - после чего квест будет считаться выполненным, и при пересечении границы моста таковым и останется.
    6. Сдать квест (из-за дебафа придется добираться пешком), после чего покинуть Айрин, чтобы снять дебаф (например отправится на БГ или в Искажение).
    При большой сноровке, или при использовании аддона, на этапе 2 можно успеть поговорить дважды, в таком случае п.4 (повторный разговор) можно пропустить.
    Пример  прохождения квеста (без аддона) 
     
     
     
     
     
     
     

    238 downloads

       (0 reviews)

    Updated