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

Дайджест за октябрь-декабрь

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

Декабрь Ноябрь Октябрь

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

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

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

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

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

Подробнее

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

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

Подробнее

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

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

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

GooDByE

Премиум-подписчик
  • Постов

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

  • Посещение

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

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

Достижения GooDByE

  1. Привет, выше есть временное решение Но нужно учитывать что после переустановки (когда подписку продлеваете или новую версию устанавливаете) надо заново "сломать" названия умений
  2. Вроде как работает На 3х3 гляну, если что отпишу
  3. @Slashuur Привет. Петля времени, которую использует противник по союзнику откатывает ему умения, хотя это так работать не должно Может что-то сломалось? Или так всегда было?
  4. Error while running the chunk /Mods/Addons/ClassAddonPro/Scripts/mainscript.lua:0: attempt to call field 'GetMana' (a nil value) func: GetMana, field, line: -1, defined: C, line: -1, [C] func: , upvalue, line: 0, defined: Lua, line: 0, /Mods/Addons/ClassAddonPro/Scripts/mainscript.lua func: Init, field, line: 0, defined: Lua, line: 0, /Mods/Addons/ClassAddonPro/Scripts/mainscript.lua func: ?, ?, line: 0, defined: Lua, line: 0, /Mods/Addons/ClassAddonPro/Scripts/mainscript.lua [21:18:01][UserAddon/ClassAddonPro: 1.0.3 (build 1753457289)]Error: Addon [UserAddon/ClassAddonPro]: Event [EVENT_AVATAR_CREATED] (handler [7]) execution failed
  5. @SlashuurПривет, да, аддон умер, сейчас гляну пишет что в логи или нет, но просто не реагирует на кнопку
  6. @LEM Не работает прерывание [UserAddon/AdvancedStopCasting: 1.6 (build 1745526525)]Error: Reaction [aspect_pressed] (handler [62] from [[37662][WidgetButton]: (UserAddon/AdvancedStopCasting)->mainForm.wtEditor.wtContainer.wt__Border.wt__Content.wtEditorContainerItem.wtStopInAspectHeal, Resource: Mods/Addons/AdvancedStopCasting/Widgets/af9bb18b]) execution failed Error while running the chunk [string "loadstring"]:0: attempt to index field 'wtStopInAspectControl' (a nil value) func: __index, metamethod, line: -1, defined: C, line: -1, [C] func: ?, ?, line: 0, defined: Lua, line: 0, [string "loadstring"]
  7. Думаю может надо разделить на две кнопки и переключение реализовывать не через перезагрузку аддона а через show
  8. 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")
  9. В общем перепробовал разное но первичную иницализацию пофиксить не смог
  10. Да, я как раз хотел написать что нашёл, проверяю common.RegisterEventHandler(initTalentsWindow, "EVENT_AVATAR_CREATED")
  11. Со старым работает, с новым нет потому что проверка в функции initTalentsWindow на oldTalentsWindow идёт второй и форма туда привязывается
  12. Я пробовал просто внутри скрипта делать автоинициализацию В конце запуская initBuildManagerEx() --- Старт куска старого кода 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 initTalentsWindow() local newTalentsWindow = common.GetAddonMainForm("TalentBuilder") if newTalentsWindow ~= false and newTalentsWindow ~= nil then common.LogInfo("common", "newTalentsWindow") newTalentsWindow:GetChildChecked("TalentsBuilder", false):GetChildChecked("Controls", false):AddChild(mainForm) end local oldTalentsWindow = common.GetAddonMainForm("ContextTalents") if oldTalentsWindow ~= false and oldTalentsWindow ~= nil then common.LogInfo("common", "oldTalentsWindow") 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 addButtonText() local buildManagerExButton = mainForm:GetChildChecked("ButtonShow", false) buildManagerExButton:SetVal("button_label", userMods.ToWString("Билд менеджер")) end function reloadButtonOnTalentWindowChange(params) local name = params.name or "" local state = params.state or "" common.LogInfo("common", name) common.LogInfo("common", common.FormatNumber(state)) 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() addButtonText() common.RegisterReactionHandler(showBMClick, "bild_show_click") common.RegisterEventHandler(reloadButtonOnTalentWindowChange, "EVENT_ADDON_LOAD_STATE_CHANGED") end initBuildManagerEx() И вот что в логах выходит [14:32:28][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: newTalentWindow [14:32:28][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: oldTalentWindow [14:32:29][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: ContextTalents [14:32:29][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: 4 [14:32:29][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: ContextTalents [14:32:29][UserAddon/BuildManagerExButton: 8 (build 1764431203)]Info: 1 То есть у нас если опция включена нового окна, выгружается ContextTalents А из-за проверки в initTalentWindow срабатывает инициализация oldTalentWindow И из-за этого у меня кнопка пытаясь привязаться к старому окну слетает
  13. Заметил что при первичной инициализации игры загружены оба системных аддона В зависимости от настройки нового окна талантов, после полной инициализации выгружается второй системный аддон: Если у нас новое окно талантов включено ContextTalents выгружается Если у нас наоборот TalentBuilder выгружается В таком случае такая инициализация вот так срабатывает одновременно function initTalentWindow() local newTalentWindow = common.GetAddonMainForm("TalentBuilder") if newTalentWindow ~= false and newTalentWindow ~= nil then common.LogInfo("common", "newTalentWindow") end local oldTalentWindow = common.GetAddonMainForm("ContextTalents") if oldTalentWindow ~= false and oldTalentWindow ~= nil then common.LogInfo("common", "oldTalentWindow") end end Как бы пофиксить можно просто так if name == "TalentBuilder" then if state == 3 or state == 4 then common.StateReloadManagedAddon("UserAddon/BuildManagerExButton") end end if name == "ContextTalents" then if state == 3 or state == 4 then common.StateReloadManagedAddon("UserAddon/BuildManagerExButton") end end Но тогда это приводит к двойной перезагрузке UserAddon/BuildManagerExButton при изменении опции нового окна талантов Я попробовал сделать как у вас запустить инициализацию аддона через common.RegisterEventHandler(initTalentWindow, "EVENT_MISSION_INITIALIZED") Но оно даже не срабатывает
×
×
  • Создать...

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

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