Классы
Статы, идеальное соотношение · Умения и вехи, как получить · Души · Сравнение классов
Воин · Жрец · Некр · Лучник · Шаман · Мист · Бард · Инж · Демон
Игровой процесс
Как одеваться · Драконий облик · Наследие Богов · Фарм золота
Прохождения локаций
Мониторинг серверов и редактор аддонов
Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.
Подсказки из игры на вашем сайте
Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.
-
Постов
72 -
Зарегистрирован
-
Посещение
Посетители профиля
Блок последних пользователей отключён и не показывается другим пользователям.
Достижения GooDByE
Энтузиаст (6/14)
-
Редкий
-
Редкий
-
-
Редкий
-
Последние значки
-
Вроде как работает На 3х3 гляну, если что отпишу
-
Это невозможно исправить?
-
@Slashuur Привет. Петля времени, которую использует противник по союзнику откатывает ему умения, хотя это так работать не должно Может что-то сломалось? Или так всегда было?
-
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
-
@SlashuurПривет, да, аддон умер, сейчас гляну пишет что в логи или нет, но просто не реагирует на кнопку
-
@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"]
-
Думаю может надо разделить на две кнопки и переключение реализовывать не через перезагрузку аддона а через show
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
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")
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
В общем перепробовал разное но первичную иницализацию пофиксить не смог
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Да, я как раз хотел написать что нашёл, проверяю common.RegisterEventHandler(initTalentsWindow, "EVENT_AVATAR_CREATED")
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Со старым работает, с новым нет потому что проверка в функции initTalentsWindow на oldTalentsWindow идёт второй и форма туда привязывается
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Я пробовал просто внутри скрипта делать автоинициализацию В конце запуская 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 И из-за этого у меня кнопка пытаясь привязаться к старому окну слетает
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Заметил что при первичной инициализации игры загружены оба системных аддона В зависимости от настройки нового окна талантов, после полной инициализации выгружается второй системный аддон: Если у нас новое окно талантов включено 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") Но оно даже не срабатывает
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Всё верно, кнопка была встроена в системный аддон изначально в старом окне талантов Да, я уже разобрался с логикой и понял ваши мысли Спасибо
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
-
Мысль понял
- 111 ответов
-
- классовое
- квесты и прокачка
-
(и ещё 1 )
C тегом:
