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

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

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

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

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

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

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

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

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

Подробнее

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

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

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

Shavadre

Пользователь
  • Постов

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

  • Посещение

Профиль

  • Пол
    Мужской
  • Город
    Нижевартовск

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Shavadre

  1. Привет! А что происходит при отключении аддона? Я так понимаю, что обратно кнопка не возвращается? Прикреплю свою наработку по этой теме, может поможет чем. -------------------------------------------------------------------------------- -- GLOBALS -------------------------------------------------------------------------------- Global( "HBSB_sortBtn", nil ) Global( "HBSB_dropdownBtn", nil ) -------------------------------------------------------------------------------- -- EVENT HANDLERS -------------------------------------------------------------------------------- -- "EVENT_ADDON_LOAD_STATE_CHANGED" function OnEventHandler( params ) if (params.loading) then --hide buttons by loading addon HBSB_sortBtn:Show(false) HBSB_dropdownBtn:Show(false) else --show button by unloading addon HBSB_sortBtn:Show(true) HBSB_dropdownBtn:Show(true) end end -------------------------------------------------------------------------------- -- INITIALIZATION -------------------------------------------------------------------------------- function Init() HBSB_isAvailable = true; local contextBag = stateMainForm:GetChildChecked( "ContextBag", false ) local bag = contextBag:GetChildChecked( "Bag", false ) local buttons = bag:GetChildChecked( "Buttons", false ) HBSB_sortBtn = buttons:GetChildChecked( "Sort", false ) HBSB_dropdownBtn = buttons:GetChildChecked( "DropDown", false ) common.RegisterEventHandler( OnEventHandler, "EVENT_ADDON_LOAD_STATE_CHANGED" ) --run when addon has been dropped rawset(_G, 'HBSB_disposeObject', newproxy(true)) getmetatable(HBSB_disposeObject).__gc = Dispose end -------------------------------------------------------------------------------- -- DISPOSE -------------------------------------------------------------------------------- function Dispose() HBSB_sortBtn:Show(true) HBSB_dropdownBtn:Show(true) HBSB_sortBtn = nil HBSB_dropdownBtn = nil common.UnRegisterEvent( "EVENT_ADDON_LOAD_STATE_CHANGED" ) end -------------------------------------------------------------------------------- if (avatar.IsExist()) then Init() else common.RegisterEventHandler(Init, "EVENT_AVATAR_CREATED") end --------------------------------------------------------------------------------
  2. Все работает в точности как нужно, спасибо! Можете сказать как тут срабатывает сборщик мусора? При выключении lua-машины со скриптом? Если переменная _finalizerProxy не используется нигде в коде программы - не сработает ли сборщик мусора на нее раньше требуемого?
  3. создавать еще один аддон ради управления мелким аддоном - это такое себе) ладно, спасибо за информацию, подумаю как выйти из этого положения.
  4. У меня проблема в том, что я скрываю кнопку сортировки в инвентаре пользователя. При отключении аддона (через галочку в Меню->Дополнения) аддон просто отключается, я так понимаю, что просто Lua-машина с запущенным аддоном выключается. И я не успеваю показать скрытые кнопки, т.е. вернуть все как было до включения аддона. Есть тут какой-то механизм, который запускается ПЕРЕД остановкой аддона? Аналог деструктора или финализатора...
  5. Добрый день! Пишу свой маленький аддон для сокрытия некоторых кнопок в стандартных игровых виджетах. С этим проблем нет, но вот как вернуть все обратно? Для скрытия использую событие "EVENT_ADDON_LOAD_STATE_CHANGED". У него есть два параметра loading и unloading, которые должны отвечать за то, что произошло (loading = true and unloading = false - произошло включение аддона, loading = true and unloading = true - произошла перезагрузка аддона, loading = false and unloading = true - произошла выгрузка аддона). Вот только последнее не работает. Я поставил логирование на хендлер "EVENT_ADDON_LOAD_STATE_CHANGED" и он вообще не срабатывает, если пользователь выключает аддон через галочку "выключить дополнение". А еще каких-то событий, подходящих под это, я в API не нашел.
×
×
  • Создать...

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

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