Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

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

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

LEM

Разработчик аддонов
  • Постов

    716
  • Зарегистрирован

  • Посещение

Весь контент LEM

  1. LEM

    CooldownInfo

    Надо в настройках включить "Показывать все откаты умений" и скорее всего проблема решится.
  2. LEM

    CooldownInfo

    Может какие-то ошибки есть в \Personal\Logs\mods.txt? А если попробовать в чат написать /cooldowninfo?
  3. Надпись появляется только для следующей записки. Например, если в сумке лежит двенадцатая записка, то аддон оповестит только о тринадцатой. Все остальные будут проигнорированы, чтобы не сбивать с толку при поиске.
  4. Не знаю. Как и чем замерить? Кататься по локации с открытым списком аддонов?
  5. Error: addon QuestMapProgress(0): Widgets::LuaGetChildChecked: can't find a child: MapTextPanel, details: int __cdecl Widgets::LuaGetChildChecked(struct lua_State *) func: GetChildChecked, method, line: -1, defined: C, line: -1, [C] func: ?, ?, line: 12, defined: main, line: 0, [string "Mods/Addons/QuestMapProgress/Scripts/mainscri..."] Error while running the chunk [string "Mods/Addons/QuestMapProgress/Scripts/mainscri..."]:191: attempt to call method 'GetNamedChildren' (a nil value) func: GetNamedChildren, method, line: -1, defined: C, line: -1, [C] func: CurrentMap, global, line: 191, defined: Lua, line: 190, [string "Mods/Addons/QuestMapProgress/Scripts/mainscri..."] func: ?, ?, line: 217, defined: Lua, line: 202, [string "Mods/Addons/QuestMapProgress/Scripts/mainscri..."] Теперь на карте можно посмотреть прогресс квестов на всех зонах, не заходя в них.
  6. LEM

    PhantasmalKillerCD

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

    PhantasmalKillerCD

    Версия 1.2

    291 раз скачали

    Самопальный таймер для отслеживания перезарядки вех "Трёхгранный клинок" и "Смертоносная тень". Команды: /pkcd - активирует/деактивирует перемещение /pkcd size 42 - размер /pkcd fade 1 - прозрачность (от 0 до 1) /pkcd reset - сбрасывает настройки После прочтения фикса возникает мысль про дебаф на цели с временем перезарядки, но ничего подобного. В скрытых бафах ничего похожего нет. Быть может он есть, просто не на клиенте. Ничего не напоминает? Для господства лучника и некроманта хотя бы был скрытый баф, от которого можно было отталкиваться. В текущем же исполнении нет даже этого. Спасибо хоть описание скорректировали.
    Бесплатный
  8. Его нельзя найти в 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 "запротектили". Всё.
  9. Есть проблема с сортировкой умений.
  10. Не смотрел событие, инсижки можно применять, но статы не изменяются. Из-за этого аддон уходит в бесконечную прокрутку до срабатывания защиты.
  11. Правка для вещей 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
  12. if string.find(name, 'Помощник:') then -- end Почему бы не детектить помощников таким образом? Не придется все названия вписывать.
  13. Могу предложить два варианта: Первый вариант для всех юнитов 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()
  14. LEM

    UniStatBonusChecker

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

    AlRihatChestsDetector

    AlRihatChestsDetector Просмотр файла Помощник в поиске сундуков Ал-Риата, а также: Сундук (Иса) Экю, Пыльца фей (Айрин) Старинный сундук (Тающий остров) Сокровище, Большое сокровище (Суслангер) Перемещать полоски можно с зажатым шифтом. /arcd reset - сбрасывает позицию Отдельная благодарность: ЛилиГраймз - идеи, тестирование ЛюблюДиму - идеи, автор меток Добавил LEM Добавлено 07.11.2020 Категория Аддоны  
  16. LEM

    TrinketCooldown

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

    TooltipExpirationTime

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

    TooltipExpirationTime

    Версия 2.1

    1 250 раз скачали

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

    TrinketCooldown

    Версия 2.2

    12 456 раз скачали

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

    AlRihatChestsDetector

    Версия 2.3

    19 025 раз скачали

    Помощник в поиске сундуков Ал-Риата, а также: Сундук (Иса) Экю, Пыльца фей (Айрин) Старинный сундук (Тающий остров) Сокровище, Большое сокровище (Суслангер) Перемещать полоски можно с зажатым шифтом. /arcd reset - сбрасывает позицию Отдельная благодарность: ЛилиГраймз - идеи, тестирование ЛюблюДиму - идеи, автор меток
    Бесплатный
  21. LEM

    UniStatBonusChecker

    Версия 1.3

    5 166 раз скачали

    Показывает, когда господство не дает бонус. Команды: /usbc dnd - активирует/деактивирует перемещение /usbc reset - сбрасывает позицию Некромантам советую взглянуть на аддон GospodstvoNekromanta.
    Бесплатный
  22. Есть три способа решить эту проблему: 1. Экранируем кавычки "\"Злая девка\" пошла ко дну! Меня Вонючий Жо прислал!" 2. Оборачиваем реплику в одинарные кавычки '"Злая девка" пошла ко дну! Меня Вонючий Жо прислал!' 3. Используем синтаксис многострочного текста [["Злая девка" пошла ко дну! Меня Вонючий Жо прислал!]]
×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования