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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

Zeno

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

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

  • Посещение

Сообщения, опубликованные Zeno

  1. В импорт.

    1. В чат набрать "/cdb".
    2. Нажать кнопку "Импорт объектов".
    3. Скопировать в поле "Список объектов" содержимое файла.
    4. Нажать кнопку "Импортировать".

    Импортированные объекты появятся в списке "Мои метки".

    • Спасибо 1
  2. Попробуйте оставлять хотя бы одну галочку. Дополнение считает, что если нет никаких выбранных событий, то вы вообще ничего не выбирали, и устанавливает значение по умолчанию (все события выбраны).

    Если дело не в этом, проверьте, что ваш выбор в принципе сохраняется игрой и у вас есть на это права (Аллоды Онлайн\data\Mods\Configs\CalendarTrackerZ\user.cfg).

    • Нравится 1
  3. Обновлено (v.3). Код частично переписан, виджеты немного изменены. Лишнее удалено. Размер архива: 60КБ (было 348КБ).

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

     

    • Нравится 1
    • Спасибо 1
  4.  

    local classVars = avatar.GetVariables() or {}
    for i,v in pairs(classVars) do
    	common.LogInfo("common",tostring(i),"(",type(v),") = ",tostring(v))
    	local info = avatar.GetVariableInfo(v) or {}
    	for i1,v1 in pairs(info) do
    		common.LogInfo("common",tostring(i1),"(",type(v1),") = ",common.IsWString(v1) and userMods.FromWString(v1) or tostring(v1))
    	end
    end

    Информация о классовых ресурсах. В т.ч. и канонах.

    VariableId - Идентификатор ресурса геймдизайнерской переменной (например, количество Сил Льда у мага). Недокументирован. Метод GetInfo возвращает таблицу с полями: name: (WString) - название; sysName: (string) - системное имя

    см. Пользовательские дополнения - Lua API - CategoryVariable (alloder.pro)

  5. CalendarTrackerZ

    Просмотр файла

    CalendarTrackerZ_1.png.af6def2e98c27b4a874e7b1313c75193.png

    Выводит на экран оповещения о грядущих/начавшихся событиях календаря.

    Обрабатываются события от ежедневных до ежемесячных (ежегодные и однократные и т.д. игнорируются) всех типов.

    Возможности:

    • Выбор языка (авто (по языку игры), английский, французский (машинный перевод), немецкий (машинный перевод), турецкий (машинный перевод), русский).
    • Вывод оповещений при каждом обновлении, если времени до события осталось меньше указанного.
    • Дополнительные оповещения при начале события.
    • Оповещения только о событиях в зоне нахождения аватара.
    • Указание собственного времени предварительного оповещения.
    • Изменение частоты проверок состояния событий.
    • Задание длительности отображения оповещений.
    • Выбор цвета оповещений.
    • Выбор размера шрифта оповещений.
    • Выбор необходимых событий из сортированного по алфавиту списка всех возможных событий (определяется при запуске).
    • Включение или отключение отображения кнопки дополнения, которая позволяет быстро включать/выключать функционал оповещений.
    • Вывод оповещения по нажатию правой кнопкой мыши на кнопке дополнения.
    • Выбор звукового сопровождения оповещений.

    Настраивается через меню настроек в игре. Вход в настройки осуществляется через кнопку на плашке дополнения в меню дополнений главного меню игры.

    Дополнение является развитием CalendarTracker за авторством Artdos.


    • Добавил
    • Добавлено
      29.08.2023
    • Категория

     

  6. Задать конкретный окрас раз и навсегда нельзя. При надевании брони используется последний запомненный окрас. Если же с момента запуска дополнения броня никогда не была надета и её необходимо надеть, то берётся первый попавшийся окрас из имеющихся. То есть, чтобы надевался нужный окрас, нужно его надеть.

  7. 11 часов назад, IAmGooDByE сказал:

    А что если мы говорим про доминион/6х6/3х3

    Можно сделать сложный или не очень алгоритм предположения. Пример бы, ради которого стоило бы вообще париться с этим. Все случаи кидания противником положительных эффектов не на себя покрываются {"Некий положительный эффект ", "!enemy", "!another"}. Если мы предполагаем, что команд только две, положительные касты нельзя кидать на противника, и команды обязательно состоят в группах, то это всё будет идентично киданию любых эффектов противником на свою группу.

    Технически можно определять локации или матчи, в которых принудительно выдаётся группа. Далее можно определять принадлежности к группам по принадлежности к командам, например. Беда в том, что наличие персонажа в поединке или сражении Доминиона не гарантирует его наличия в группе хотя бы одой из команд. Вот так бывает, потому что возможны наблюдатели и нередки ошибки игры. То есть это надо будет как-то предусмотреть.

    11 часов назад, IAmGooDByE сказал:

    По первому не до конца понял с !self, !another
    Я правильно понял, Какой-то положительный эффект, противник, не на себя?

    Да. То есть, допустим, мы хотим, чтобы писалось, когда противник накладывает Гарду на союзника - {"Гарда ", "!enemy", "!another"}. У нас записан некий положительный эффект Гарда, накладывает его наш противник, цель наложения эффекта не он сам. Хотя я не понимаю почему нам не интересно, когда он накладывает его сам на себя.

    Для массовых эффектов в том же 6х6 всё равно будет спам. Если использовать, как пример, эффект Защита, то накладываться он будет на 5 персонажей, а это 5 надписей. Ведь наложение эффекта считается не по факту завершения использования заклинания, а по факту появления эффекта на персонаже. Появилось 5 проходящих по фильтру эффектов - 5 раз написали.

    • Нравится 1
    • Плюсую 1
  8. Нет.

    Нельзя узнать является ли противник в группе с другим противником, можно только узнать что он не в группе/отряде с аватаром (персонажем, которым вы играете).

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

    Вообще можно сделать маски "!self" и обратную "!another". Тогда для конкретного эффекта можно было бы написать
    {"Некий положительный эффект ", "!enemy", "!another"}
    просто потому, что некий положительный эффект не получится наложить на противника.

    Кроме того, можно добавить замену имени на !positive или !negative по аналогии с !all, тогда можно будет написать что-то вроде
    {"!positive ", "!enemy", "!another"}
    и получать сообщения обо всех положительных эффектах наложенных противниками не на себя. Но эффектов в игре очень много и скорее всего это будет просто спам сообщениями.

  9. А можно ещё исправить ошибку с неверной нумерацией элементов списка с пользовательскими метками идущими после удалённого элемента?

    Для повторения:

    1. Создать не менее 2 пользовательских меток.
    2. Удалить не последнюю метку.
    3. Попытаться выделить метку, шедшую после удалённой.

    Ошибка при попытке выделения последней метки:

    Error while running the chunk
      /Mods/Addons/Cartographer/Scripts/Cartographer.luac:0: attempt to index a nil value
      func: __index, metamethod, line: -1, defined: C, line: -1, [C]
        func: ToggleSelectItems, global, line: 0, defined: Lua, line: 0, /Mods/Addons/Cartographer/Scripts/Cartographer.luac
          func: SelectOneItem, global, line: 0, defined: Lua, line: 0, /Mods/Addons/Cartographer/Scripts/Cartographer.luac
            func: ?, ?, line: 0, defined: Lua, line: 0, /Mods/Addons/Cartographer/Scripts/Cartographer.luac

     

    Временное решение: после каждого удаления пользовательских перед дальнейшей работой с ними сохранять список и перезагружать дополнение.

  10. Скорее всего, при обездвиживании агрессия монстра не изменяется никак, он просто ищет доступную цель для атаки по убыванию агрессии, т.к. преследование невозможно. То есть, если танк танкует, а не отошёл в кустики, то монстры продолжат его бить, и плевать они хотели, кто там мимо проходил и что их кто-то обездвиживал.

  11. Если нет никакого события (не встречается в описаниях и категории), можно вставить таймаут и спросить список диалогов по его истечении снова. Таймаутом может быть таймер написанный самостоятельно (можно сделать любую длительность) или секундный EVENT_SECOND_TIMER.

  12. InformerZ

    Просмотр файла

    informerz_2023-06-14_223002.png.80d4d7e159e1391980722cf273d9719c.png

    Выводит сообщения:

    • О кол-ве атакующих аватара;
    • О появлении эффектов на любых видимых персонажах и аватаре;
    • О сообщениях в чат от персонажей игроков или монстров/NPC;
    • О начале выполнения действий монстрами (если действие применяется не мгновенно);
    • О появлении объектов в зоне видимости.

    Фильтрация нужных вам сообщений/действий/эффектов возможна как по их содержимому, так и по маскам. Для всех сообщений, кроме ассиста и объектов, можно задавать свои сообщения, а их содержимое может включать подстановочные значения и цветовое оформление.

    Настройка фильтров через файл Settings.txt в корневой папке дополнения или в игре через настроечные таблицы.


    • Добавил
    • Добавлено
      14.06.2023
    • Категория

     

    • Спасибо 2
  13. Скриншот создаётся силами клиента в определённой папке с определённым именем, которыми нельзя управлять. И хотя при создании скриншота данные о созданном файле можно получить для последующего управления файлом, управление файлами заблокировано.

  14. Event EVENT_ACTION_PROGRESS_START is invoked twice per action pretty much always. So it's ok to receive twice the amount of log messages.

    You should not try to register the same handler for the same event more than once. And you should not try to unregister something you does not registered earlier. Keep track of what you are registering for what event yourself. There is no method to check events registrations.

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

  16. 2 часа назад, Lufou1 сказал:

    Я имею в виду, когда версия 14.1 выйдет на серверах ЕU)
    Или аддону полностью нужны параметры локализации?

    Если запустится, то будет частично работать. Определение конкретных матчей происходит по их названиям. Будет различать Доминион, а всё остальное будет сражением по умолчанию.

    Для EU серверов можно скачать версию 2.4, она под 14.0.

  17. 6 часов назад, Lufou1 сказал:

    Работает ли этот аддон для EU игрового клиента?

    Частично. Не будет работать определение матча по его названию (то есть будет определять Доминион, а всё остальное считать за БГ по умолчанию). Просто потому что названия определены на русском. Версия клиента должна поддерживать актуальную редакцию LUA API для русских серверов, иначе даже запустить не получится по понятным причинам.

×
×
  • Создать...

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

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