LEM

Addons Developer
  • Content Count

    606
  • Joined

  • Last visited

  • Days Won

    32

6 Followers

Recent Profile Visitors

12368 profile views
  1. LEM

    PhantasmalKillerCD

    PhantasmalKillerCD Просмотреть файл Самопальный таймер для отслеживания перезарядки вех "Трёхгранный клинок" и "Смертоносная тень". Команды: /pkcd - активирует/деактивирует перемещение /pkcd size 42 - размер /pkcd fade 1 - прозрачность (от 0 до 1) /pkcd reset - сбрасывает настройки После прочтения фикса возникает мысль про дебаф на цели с временем перезарядки, но ничего подобного. В скрытых бафах ничего похожего нет. Быть может он есть, просто не на клиенте. Ничего не напоминает? Для господства лучника и некроманта хотя бы был скрытый баф, от которого можно было отталкиваться. В текущем же исполнении нет даже этого. Спасибо хоть описание скорректировали. Автор LEM Добавлен 24.09.2021 Категория Аддоны  
  2. LEM

    PhantasmalKillerCD

    Version 1.2

    28 downloads

    Самопальный таймер для отслеживания перезарядки вех "Трёхгранный клинок" и "Смертоносная тень". Команды: /pkcd - активирует/деактивирует перемещение /pkcd size 42 - размер /pkcd fade 1 - прозрачность (от 0 до 1) /pkcd reset - сбрасывает настройки После прочтения фикса возникает мысль про дебаф на цели с временем перезарядки, но ничего подобного. В скрытых бафах ничего похожего нет. Быть может он есть, просто не на клиенте. Ничего не напоминает? Для господства лучника и некроманта хотя бы был скрытый баф, от которого можно было отталкиваться. В текущем же исполнении нет даже этого. Спасибо хоть описание скорректировали.

    Free

  3. LEM

    ActionsMod

    Его нельзя найти в stateMainForm, но есть и другой способ: local widgetTypes = { [ENUM_ADDON_TYPE_NONE] = 'ENUM_ADDON_TYPE_NONE', -- нет типа, тип не известен [ENUM_ADDON_TYPE_USER] = 'ENUM_ADDON_TYPE_USER', -- пользовательский аддон [ENUM_ADDON_TYPE_PROTECTED] = 'ENUM_ADDON_TYPE_PROTECTED', -- аддон разработчика (обычный интерфейсный аддон) } local wtContextActionbar = common.GetAddonMainForm('ContextActionbar') print(wtContextActionbar:GetName()) print(widgetTypes[wtContextActionbar:GetAddonType()]) print(wtContextActionbar:GetNamedChildren()) В логах такой вот печальный результат: [22:51:45]Info: addon Test(0): [22:51:45.492]: ContextActionbar [22:51:45]Info: addon Test(0): [22:51:45.493]: ENUM_ADDON_TYPE_PROTECTED [22:51:45]Error: addon Test(0): Widgets::LuaGetNamedChildren: can't get protected widget's children, details: int __cdecl Widgets::LuaGetNamedChildren(struct lua_State *) func: GetNamedChildren, method, line: -1, defined: C, line: -1, [C] func: Init, local, line: 866, defined: Lua, line: 846, [string "Mods/Addons/Test/Scripts/ScriptMai..."] func: ?, ?, line: 1134, defined: main, line: 0, [string "Mods/Addons/Test/Scripts/ScriptMai..."] [22:51:45]Info: addon Test(0): [22:51:45.494]: {} Главную форму ContextActionbar "запротектили". Всё.
  4. LEM

    UniverseMeter

    Есть проблема с сортировкой умений.
  5. Не смотрел событие, инсижки можно применять, но статы не изменяются. Из-за этого аддон уходит в бесконечную прокрутку до срабатывания защиты.
  6. Правка для вещей 3 тира. Изначально я надеялся, что подойдет itemLib.CanUseOnItem(sourceId, targerId) или itemLib.GetBlockingPredicateCause(itemId), но увы. А еще нет готовой функции для получения тира, поэтому пришлось сделать свою. local function getItemTier(itemId) local category = itemLib.GetCategory(itemId) local categoryInfo = category and itemLib.GetCategoryInfo(category) local tier = categoryInfo and categoryInfo.sysName and string.match(categoryInfo.sysName, 'Tier(%d+)') -- sysName = 'Tier03' return tier and tonumber(tier) or -1 end Также случайно обнаружил, что третий тир не максимальный. P.S. Кстати, в бою GetBlockingPredicateCause выдаст {isInNotPredicate = true, sysCause = "ENUM_ActionFailCause_NotInCombat"}. Можешь потом как-нибудь задействовать ее, чтобы не проверять состояние боя самому. StatManager.zip
  7. LEM

    SidekickAlarm

    if string.find(name, 'Помощник:') then -- end Почему бы не детектить помощников таким образом? Не придется все названия вписывать.
  8. Могу предложить два варианта: Первый вариант для всех юнитов do -- советую положить себе куда-то эти две полезные функции function table.normalize(t) if t[0] ~= nil then table.insert(t, 0, nil) end return t end --[[ function table.denormalize(t) if t[0] == nil and t[1] ~= nil then t[0] = table.remove(t, 1) end return t end --]] end local units = {} common.RegisterEventHandler(function(p) if not units[p.unitId] then -- необязательная проверка для параноиков units[p.unitId] = { name = object.GetName(p.unitId) } -- chat(units[p.unitId].name, p.unitId, 'spawned') end end, 'EVENT_UNIT_SPAWNED') common.RegisterEventHandler(function(p) if units[p.unitId] then -- chat(units[p.unitId].name, p.unitId, 'despawned') units[p.unitId] = nil end end, 'EVENT_UNIT_DESPAWNED') local function InitAvatar(avatarId) for _, unitId in ipairs(table.normalize(avatar.GetUnitList())) do units[unitId] = { name = object.GetName(unitId) } end end local function Init() if avatar.IsExist() then InitAvatar(avatar.GetId()) else local function onAvatarCreated(p) common.UnRegisterEventHandler(onAvatarCreated, 'EVENT_AVATAR_CREATED') InitAvatar(p.id) end common.RegisterEventHandler(onAvatarCreated, 'EVENT_AVATAR_CREATED') end end Init() Второй вариант с фильтрацией по имени do -- советую положить себе куда-то эти две полезные функции function table.normalize(t) if t[0] ~= nil then table.insert(t, 0, nil) end return t end --[[ function table.denormalize(t) if t[0] == nil and t[1] ~= nil then t[0] = table.remove(t, 1) end return t end --]] end local units = {} local names = { ['Клыкастый кабан'] = true, } local function filter(name) -- можно воспользоваться common.CompareWString(text1, text2) return names[userMods.FromWString(name)] end common.RegisterEventHandler(function(p) if not units[p.unitId] then -- необязательная проверка для параноиков local name = object.GetName(p.unitId) if filter(name) then units[p.unitId] = { name = name } -- chat(units[p.unitId].name, p.unitId, 'spawned') end end end, 'EVENT_UNIT_SPAWNED') common.RegisterEventHandler(function(p) if units[p.unitId] then -- chat(units[p.unitId].name, p.unitId, 'despawned') units[p.unitId] = nil end end, 'EVENT_UNIT_DESPAWNED') local function InitAvatar(avatarId) for _, unitId in ipairs(table.normalize(avatar.GetUnitList())) do local name = object.GetName(unitId) if filter(name) then units[unitId] = { name = name } end end end local function Init() if avatar.IsExist() then InitAvatar(avatar.GetId()) else local function onAvatarCreated(p) common.UnRegisterEventHandler(onAvatarCreated, 'EVENT_AVATAR_CREATED') InitAvatar(p.id) end common.RegisterEventHandler(onAvatarCreated, 'EVENT_AVATAR_CREATED') end end Init()
  9. LEM

    AlRihatChestsDetector

    Пока не планируется.
  10. Исправлено (Script.lua 145 строка доп. проверка виджета) StatManager.zip
  11. LEM

    UniStatBonusChecker

    UniStatBonusChecker Просмотреть файл Показывает, когда господство не дает бонус. Команды: /usbc dnd - активирует/деактивирует перемещение /usbc reset - сбрасывает позицию Некромантам советую взглянуть на аддон GospodstvoNekromanta. Автор LEM Добавлен 07.11.2020 Категория Аддоны  
  12. LEM

    AlRihatChestsDetector

    AlRihatChestsDetector Просмотреть файл Помощник в поиске сундуков Ал-Риата. Умеет вешать метки сразу на несколько сундуков. Перемещать полоски можно с зажатым шифтом. Команды: /arcd reset - сбрасывает позицию Если вам хочется больше разнообразия меток, либо метки над Экю на Айрине, гляньте на SundukTarget. Автор LEM Добавлен 07.11.2020 Категория Аддоны  
  13. LEM

    TrinketCooldown

    TrinketCooldown Просмотреть файл Показывает время восстановления бонусов от амулета и аугментаций брони. Команды: /tc dnd - активирует/деактивирует перемещение /tc reset - сбрасывает позицию Если вам требуется оповещение о срабатывании бонусов амулета, то взгляните на NotifyTrink2. Автор LEM Добавлен 07.11.2020 Категория Аддоны  
  14. LEM

    TooltipExpirationTime

    TooltipExpirationTime Просмотреть файл Показывает дату и время сгорания предметов в их описании. Бонус. Работает и для бафов. Автор LEM Добавлен 07.11.2020 Категория Аддоны  
  15. LEM

    TooltipExpirationTime

    Version 1.0

    101 downloads

    Показывает дату и время сгорания предметов в их описании. Бонус. Работает и для бафов.

    Free