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

Дайджест за июль-сентябрь

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

Сентябрь Август Июль

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

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

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

Бот статистики для Telegram

Удобная аналитика в телефоне.

Подробнее

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

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

Подробнее

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

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

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


DiSlord

Рекомендуемые сообщения

[14:22:01][UserAddon/TalentBuilderReForm:  (build 0)]Info: key=wtMainForm1

 

---------------------------------------------------------------------------------------------------
-- Функция по принятию определенных диалогов у NPC
function funTal.BuilderCheckStart( params )

    -- local initiator = params.initiator -- WString - имя игрока, активировавшего опрос


    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    local wtMainForm = common.GetAddonMainForm( "TalentBuilder" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm1" )
        funTal.BtnAdd()
        
        -- return
    end
    
    -- LogInfo( "key=", typeQuest )
    
    
    
    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    wtMainForm = common.GetAddonMainForm( "ContextTalents" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm" )
        funTal.BtnAdd_01()
    end

end

 

---------------------------------------------------------------------------------------------------
-- Функция запускающаяся с момента создания юзера в игре (после его захода)
function AvatarCreated()

    funTal.BuilderCheckStart()
    
    -- Событие, информирующее о инициализации загрузки миссии (все аддоны готовы к использованию). После этого события приходят ещё и EVENT_ADDON_LOAD_STATE_CHANGED.
    common.RegisterEventHandler( funTal.BuilderCheckStart, "EVENT_MISSION_INITIALIZED" )
    
    
    -- Уведомление об изменении состояния аддона. Список возможных состояний смотри в AddonState
    common.RegisterEventHandler( funTal.BuilderCheckStart_01, "EVENT_ADDON_LOAD_STATE_CHANGED" )

end


--------------------------------------------------------------------------------
-- INITIALIZATION        Инициализация функций
--------------------------------------------------------------------------------
function Init()


    
    -- Вызываем функцию при создании юзера (при входе в игру)
    common.RegisterEventHandler( AvatarCreated, "EVENT_AVATAR_CREATED" )
    -- Вызываем функцию если юзер уже создан
    if avatar.IsExist() then
        AvatarCreated()
    end

end
--------------------------------------------------------------------------------
-- Запускаем инициализацию
Init()
--------------------------------------------------------------------------------

 

Попробуйте после инициализации аватара. Все ок будет.

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, worm сказал:

[14:22:01][UserAddon/TalentBuilderReForm:  (build 0)]Info: key=wtMainForm1

 

---------------------------------------------------------------------------------------------------
-- Функция по принятию определенных диалогов у NPC
function funTal.BuilderCheckStart( params )

    -- local initiator = params.initiator -- WString - имя игрока, активировавшего опрос


    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    local wtMainForm = common.GetAddonMainForm( "TalentBuilder" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm1" )
        funTal.BtnAdd()
        
        -- return
    end
    
    -- LogInfo( "key=", typeQuest )
    
    
    
    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    wtMainForm = common.GetAddonMainForm( "ContextTalents" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm" )
        funTal.BtnAdd_01()
    end

end

 

---------------------------------------------------------------------------------------------------
-- Функция запускающаяся с момента создания юзера в игре (после его захода)
function AvatarCreated()

    funTal.BuilderCheckStart()
    
    -- Событие, информирующее о инициализации загрузки миссии (все аддоны готовы к использованию). После этого события приходят ещё и EVENT_ADDON_LOAD_STATE_CHANGED.
    common.RegisterEventHandler( funTal.BuilderCheckStart, "EVENT_MISSION_INITIALIZED" )
    
    
    -- Уведомление об изменении состояния аддона. Список возможных состояний смотри в AddonState
    common.RegisterEventHandler( funTal.BuilderCheckStart_01, "EVENT_ADDON_LOAD_STATE_CHANGED" )

end


--------------------------------------------------------------------------------
-- INITIALIZATION        Инициализация функций
--------------------------------------------------------------------------------
function Init()


    
    -- Вызываем функцию при создании юзера (при входе в игру)
    common.RegisterEventHandler( AvatarCreated, "EVENT_AVATAR_CREATED" )
    -- Вызываем функцию если юзер уже создан
    if avatar.IsExist() then
        AvatarCreated()
    end

end
--------------------------------------------------------------------------------
-- Запускаем инициализацию
Init()
--------------------------------------------------------------------------------

 

Попробуйте после инициализации аватара. Все ок будет.

Да, я как раз хотел написать что нашёл, проверяю

common.RegisterEventHandler(initTalentsWindow, "EVENT_AVATAR_CREATED")

 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, worm сказал:

[14:22:01][UserAddon/TalentBuilderReForm:  (build 0)]Info: key=wtMainForm1

 

---------------------------------------------------------------------------------------------------
-- Функция по принятию определенных диалогов у NPC
function funTal.BuilderCheckStart( params )

    -- local initiator = params.initiator -- WString - имя игрока, активировавшего опрос


    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    local wtMainForm = common.GetAddonMainForm( "TalentBuilder" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm1" )
        funTal.BtnAdd()
        
        -- return
    end
    
    -- LogInfo( "key=", typeQuest )
    
    
    
    -- Возвращает главную форму аддона. (FormSafe - главная форма аддона; false - не удалось получить форму аддона (вызов из пользовательского аддона и форма защищена, аддон выгружен, у аддона нет формы); nil - аддона с указанным именем не существует
    wtMainForm = common.GetAddonMainForm( "ContextTalents" )
    
    -- if wtMainForm == nil then
    if wtMainForm ~= false and wtMainForm ~= nil then
        LogInfo( "key=", "wtMainForm" )
        funTal.BtnAdd_01()
    end

end

 

---------------------------------------------------------------------------------------------------
-- Функция запускающаяся с момента создания юзера в игре (после его захода)
function AvatarCreated()

    funTal.BuilderCheckStart()
    
    -- Событие, информирующее о инициализации загрузки миссии (все аддоны готовы к использованию). После этого события приходят ещё и EVENT_ADDON_LOAD_STATE_CHANGED.
    common.RegisterEventHandler( funTal.BuilderCheckStart, "EVENT_MISSION_INITIALIZED" )
    
    
    -- Уведомление об изменении состояния аддона. Список возможных состояний смотри в AddonState
    common.RegisterEventHandler( funTal.BuilderCheckStart_01, "EVENT_ADDON_LOAD_STATE_CHANGED" )

end


--------------------------------------------------------------------------------
-- INITIALIZATION        Инициализация функций
--------------------------------------------------------------------------------
function Init()


    
    -- Вызываем функцию при создании юзера (при входе в игру)
    common.RegisterEventHandler( AvatarCreated, "EVENT_AVATAR_CREATED" )
    -- Вызываем функцию если юзер уже создан
    if avatar.IsExist() then
        AvatarCreated()
    end

end
--------------------------------------------------------------------------------
-- Запускаем инициализацию
Init()
--------------------------------------------------------------------------------

 

Попробуйте после инициализации аватара. Все ок будет.

В общем перепробовал разное но первичную иницализацию пофиксить не смог

Ссылка на комментарий
Поделиться на другие сайты

BuildManagerExButton.lua

function showBMClick()
  userMods.SendEvent( "SCRIPT_EVENT_SHOW_BM", {})
end

--- заменяет некоторые значения
function setPlacement(widget, place)
  local p = widget:GetPlacementPlain()

  for k, v in pairs(place) do
    p[k] = place[k] or v
  end

  widget:SetPlacementPlain(p)
end

function initOldTalentsWindow()
  local oldTalentsWindow = common.GetAddonMainForm("ContextTalents")

  if oldTalentsWindow ~= false and oldTalentsWindow ~= nil then
    local oldTalentsWindow = common.GetAddonMainForm("ContextTalents")
    oldTalentsWindow:GetChildChecked("Parent", false):AddChild(mainForm)

    local s = oldTalentsWindow:GetChildChecked("BaseWindow", true):GetPlacementPlain()
    setPlacement(mainForm, {posX = (s.sizeX - 200)/2, posY = s.sizeY - 65, sizeX = 200, sizeY = 22})
  end
end

function initNewTalentsWindow()
  local newTalentsWindow = common.GetAddonMainForm("TalentBuilder")

  if newTalentsWindow ~= false and newTalentsWindow ~= nil then
    newTalentsWindow:GetChildChecked("TalentsBuilder", false):GetChildChecked("Controls", false):AddChild(mainForm)
  end
end

function initTalentsWindow()
  initOldTalentsWindow()
  initNewTalentsWindow()
end

function initButton()
  local buildManagerExButton = mainForm:GetChildChecked("ButtonShow", false)
  buildManagerExButton:SetVal("button_label", userMods.ToWString("Билд менеджер"))
  buildManagerExButton:Show(true)
end

function reloadButtonOnTalentWindowChange(params)
  local name = params.name or ""
  local state = params.state or ""

  if name == "TalentBuilder" then
    if state == 3 then
        common.StateReloadManagedAddon("UserAddon/BuildManagerExButton")
    end
  end

  if name == "ContextTalents" then
      if state == 3 then
        common.StateReloadManagedAddon("UserAddon/BuildManagerExButton")
      end
  end
end

function initBuildManagerEx()
  initTalentsWindow()
  initButton()

  common.RegisterReactionHandler(showBMClick, "bild_show_click")
end

common.RegisterEventHandler(initTalentsWindow, "EVENT_AVATAR_CREATED")

initBuildManagerEx()

common.RegisterEventHandler(reloadButtonOnTalentWindowChange, "EVENT_ADDON_LOAD_STATE_CHANGED")

 

Изменено пользователем GooDByE
Ссылка на комментарий
Поделиться на другие сайты

Думаю может надо разделить на две кнопки и переключение реализовывать не через перезагрузку аддона а через show

Ссылка на комментарий
Поделиться на другие сайты

Ребята, я так и не понял, - вы нашли решение восстановить кнопку вызова аддона?

Ссылка на комментарий
Поделиться на другие сайты

В 03.05.2026 в 15:57, Сердитый сказал:

Ребята, я так и не понял, - вы нашли решение восстановить кнопку вызова аддона?

Если переключить режим отображения дерева талантов на старый вид то работает.

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, Dim сказал:

Если переключить режим отображения дерева талантов на старый вид то работает.

Я так и сделал.

Вообще непонятно, зачем автор изщначально эту кнопку к окну привязал.

Ссылка на комментарий
Поделиться на другие сайты

Ну так и не встраивайте тогда.) скачал там кнопка вообще самостоятельным аддоном идет

Ссылка на комментарий
Поделиться на другие сайты

 

Кнопка и в том и в том окне талантов
Аддон как состоял так и состоит из двух аддонов (основной - билд менеджер , второй - на кнопку).

Основной аддон не трогал

Аддон на кнопку переписал так как проще было (использовал рыбу) поэтому надо не просто копировать-вставить а найти и удалить старую версию на кнопку. Иначе будет несколько

Дополнительно в основном аддоне есть ряд Чат-команд (в описании к аддону они отсутствую). Что они дают хз, но одна также вызывает окно
   "/basave" - ?? (storeActionPanel)
   "/baload" - ?? (loadActionPanel)
   "/badelete" - ?? (deleteActionPanel)
    "/bsave" - ?? (storeBuild)
    "/bload" - ?? ( loadBuild)
    "/bdelete" - ?? (deleteBuild)
    "/buildlog" - ?? ( logTalentsList)
    "/bm" - Показать окно аддона (showBuildManager)

Проверяйте если работает гуд

Изменено пользователем Lafayette
Спасибо, обновил дистрибутив
Ссылка на комментарий
Поделиться на другие сайты

ВНИМАНИЕ!
Обязательна информация из \Personal\Logs\mods.txt для диагностики ошибки.
Иначе вам не помочь.
В игре включите в Меню → Интерфейс → Общие настройки → Запись ошибок пользовательских дополнений. Затем запустите аддон в игре.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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

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