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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

hal.dll

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

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

  • Посещение

Весь контент hal.dll

  1. На корабле или на астральных островах?
  2. Хорошие отладочные сообщения и пользователю будут приятны Но в целом понимаю твою позицию. Препроцессор - понятие достаточно абстрактное, чтобы не зацикливаться на lua модуле интегрированном в систему/компилятор/прочее. Подойдет любая внешняя программа, если ее можно вклинить между IDE и LuaJIT. Кстати, LuaJIT сам по себе содержит какие-то внешние модули (bc.lua, bcsave.lua...). Может там есть что-то похожее на препроцессинг?
  3. Буду выглядеть глупо в контексте моего же комментария, что не надо гоняться за мифической оптимизацией в 10 наносекунд, но скажу, что вызов пустой функции с кучей инфы для печати отнимает несколько больше времени, чем проверка глобальной переменной и переход в другой кусок кода. Что в принципе очевидно. Вот, когда-то тестировал: Global("Config", {}) ... -- Test LogDebug local TestDebug1 = function(x, y, z) if Config.DebugVerbose then LogInfo(x, y, z) end end local TestDebug2 = Config.DebugVerbose and function(x, y, z) LogInfo(x, y, z) end or function(x, y, z) end local time1 = common.GetMsFromDateTime(common.GetLocalDateTime()) while a < 1000000 do a = a + 1; -- case 1: --if Config.DebugVerbose then LogInfo(1, 2, 3) end -- 53 ms -- case 2: --TestDebug1(1, 2, 3) -- 154 ms -- case 3: --TestDebug2(1, 2, 3) -- 95 ms b = b + 1; end local time2 = common.GetMsFromDateTime(common.GetLocalDateTime()) ...
  4. В общем случае - да. У меня токен как правило - вызов функции печати отладочной информации. Так что выглядит совершенно безобидно. Кстати, для любителей батников, в винде есть консольная прога findstr, работает по принципу линуксовского grep (если это кому-то о чем-то говорит...). http://habrahabr.ru/post/71568/ http://admin-gu.ru/windows/windows-grep Собственно, вызов findstr /V DEBUG_TOKEN MyScript.lua на выходе выдает почищенный от ненужных строк код. Это можно прописать в IDE в команде компиляции в пайп перед передачей в luajit, либо в команде препроцессора, если таковая имеется.
  5. Тут тебя препроцессор вряд ли бы спас. ___ В некоторых аддонах спецом оставляю отладочный код, чтобы при случае пользователи могли отладочную инфу предоставить. (по умолчанию спам отключен, разумеется). При этом все строки касающиеся дебага имеют определенный токен (ключ), который в обычном коде не используется. Делаю так для того, чтобы можно было удалить все строки, содержащие этот токен. По идее в Notepad++ должна быть где-то зарыта эта вполне себе стандартная функция. Или может плагин есть какой. Лично я часто именно так и делаю. Можно поинтересоваться, о каких циклах идет речь? Какая сложность (O(n))? Какого порядка само n? Если это в обработчике дамага, или бафов, или других часто приходящих сообщений, то, конечно, if DEBUG then нельзя использовать. Если же это что-то вроде 2-3 отладочных сообщения при клике на кнопку раз в полгода, то проверка условия перед их печатью - вообще ничто по сравнению с остальными действиями. В общем всё познается в сравнении, и сильно заморачиваться над тем, что особо оптимизации и не требует - вообще дурной тон. Когда алгоритм вместо 1 секунды начал выполняться 0.1 секунду - это оптимизация. Когда алгоритм вместо 1 секунды начал выполняться 0.9998 секунд - это маразм и впустую потраченное на правку скрипта время.
  6. Прикольно Попробуй прикрепленный, если не сложно. У меня сейчас нету возможности попробовать. Если норм, то залью в хранилище. Обновил аддон в хранилище, но потестить его так и не получилось
  7. Аддон более не актуален, баф теперь снимается после выполнения сюжетной линии. Спасибо всем, кто пользовался этим аддоном. Надеюсь, вы получили огромное удовольствие от его использования
  8. Аддон более не актуален в связи с переделанным рейдовым интерфейсом. Спасибо всем, кто пользовался этим аддоном. Надеюсь, вы получили огромное удовольствие от его использования
  9. На данный момент нет, но в некотором будущем появится
  10. В данном случае аддон не словил коронку, похоже, потому что сообщение EVENT_UNITS_CHANGED (с которым коронка и прилетела) опередило EVENT_AVATAR_CLIENT_ZONE_CHANGED. На диких землях детект корон отключен (не совсем, но это уже детали), и аддон, грубо говоря, еще не успел сменить текущую карту, чтобы этот детект включить. Спасибо за репорт. Весьма интересные баги.
  11. так, стоп, вот об этом поподробнее не с Диких земель ли вернулись случаем, через дыру в стенке?
  12. а полный текст ошибки не сохранился случаем? или скриншот? В 2.2 эта ошибка спамит при снятии скриншота, был такой баг.
  13. Осталось понять, почему аддон не показал коронку. Не менее странный баг
  14. Всё, понял в чем дело. Дважды нажимаешь на "Отменить измененное", получаешь спам. Или один раз, но не меняя "Аддон включен". А ну-ка признавайся! )) Поправлю к релизу.
  15. Вообще вот эта строчка смущает: она говорит, что ApplyAllSettings была вызвана из обработчика на реакцию. А это: Может случайно всё-таки выбрал пункт настроек "Аддон включен"? Хотел отключить кристалы, отключил аддон? Иначе не получается. Вообще никак Разве что порча памяти, но тут уже memtest86+ в помощь) Больше никаких сообщений не было? Я имею в виду "Game::LuaCommonRegisterEventHandler: Fail register LuaEvent handler" в одном экземпляре было или несколько?
  16. ок, вроде убедил посмотрю, что там происходит...
  17. А как же: Или это было задолго до этого момента? mods.txt до этого давно проверяли? Может ли быть такое, что эти сообщения еще из предыдущей версии?
  18. Странно. Такое он мог выдать только если щелкали на "Аддон включен" или на "Отменить измененное". Было такое? Если у моба-короны был уровень на 5 (и более) ниже, чем у аватара, то это нормально. Да, это уже поправил, скоро выйдет в релиз.
  19. Еще был QuestTracker, тоже альтернативный журнал заданий. Но сейчас в виду ситуации с автоперемещением, лучше встроенный журнал заданий не заменять, а дополнять... что, собственно, и требуется. Если, собственно, никто не хочет браться за создание такого аддона, возможно, через пару недель я за такой возьмусь.
  20. hal.dll

    DnD

    Вся необходимая информация здесь: HOW-TO: LibDnD.lua (Библиотека Drag&Drop)
  21. очень интересная идея, но, как уже сказали, весьма трудозатратная. помню, как я только начинал играть и первым делом побежал в ХАЭС Отследить не сложно по соответствующим событиям. Как понять, какие квесты игрок уже выполнил на момент установки аддона - вопрос посерьезней.
  22. Вряд ли такая версия аддона вообще существовала. C ui9: AddonsTools Проект начат: 2011-03-28 11:23:04 что примерно соответствует хотфиксу 2.0.04.21
  23. Можно конкретный пример, для чего такое нужно?
  24. function InitAvatar() if not avatar.IsExist() then return false end playerId = avatar.GetId(); if not playerId then return false; end
×
×
  • Создать...

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

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