LEM

Addons Developer
  • Content Count

    603
  • Joined

  • Last visited

  • Days Won

    30

6 Followers

Recent Profile Visitors

11698 profile views
  1. LEM

    UniverseMeter

    Есть проблема с сортировкой умений.
  2. Не смотрел событие, инсижки можно применять, но статы не изменяются. Из-за этого аддон уходит в бесконечную прокрутку до срабатывания защиты.
  3. Правка для вещей 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
  4. LEM

    SidekickAlarm

    if string.find(name, 'Помощник:') then -- end Почему бы не детектить помощников таким образом? Не придется все названия вписывать.
  5. Могу предложить два варианта: Первый вариант для всех юнитов 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()
  6. LEM

    AlRihatChestsDetector

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

    UniStatBonusChecker

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

    AlRihatChestsDetector

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

    TrinketCooldown

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

    TooltipExpirationTime

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

    TooltipExpirationTime

    Version 1.0

    76 downloads

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

    Free

  13. LEM

    TrinketCooldown

    Version 1.1

    634 downloads

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

    Free

  14. LEM

    AlRihatChestsDetector

    Version 1.0

    766 downloads

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

    Free

  15. LEM

    UniStatBonusChecker

    Version 1.0

    431 downloads

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

    Free