Marazota wrote:errors on PTSuser:/AddOns/SpentSkillPoints/SpentSkillPointsUI.lua:41: function expected instead of nil stack traceback: user:/AddOns/SpentSkillPoints/SpentSkillPointsUI.lua:41: in function 'TreeEntrySetup' |caaaaaa<Locals> node = [table:1]{childrenHeight = 0, selected = F, childrenCurrentHeight = 0, enabled = T, childSpacing = -10, open = F, childIndent = 74, openPercentage = 0}, control = ud, data = [table:2]{isSubclassingNode = T}, open = F </Locals>|r /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:893: in function 'ZO_TreeNode:RefreshControl' |caaaaaa<Locals> self = [table:1] </Locals>|r /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:563: in function 'ZO_TreeNode:New' |caaaaaa<Locals> self = [table:3]{__isAbstractClass = F}, tree = [table:4]{width = 300, exclusive = T, defaultIndent = 74, enabled = T, autoSelectChildOnNodeOpen = F, suspendAnimations = T, defaultSpacing = -10}, templateInfo = [table:5]{template = "SSP_NavigationEntry"}, parentNode = [table:6]{childSpacing = 0, childrenCurrentHeight = 0, childIndent = 74, selectSound = "Click_TreeHeader", open = F, selected = F, childrenHeight = 68.826049804688, enabled = T, openPercentage = 0}, data = [table:2], childIndent = 74, childSpacing = -10, open = F, node = [table:1] </Locals>|r /EsoUI/Libraries/ZO_Tree/ZO_Tree.lua:184: in function 'ZO_Tree:AddNode' |caaaaaa<Locals> self = [table:4], template = "SSP_NavigationEntry", data = [table:2], parentNode = [table:6], templateInfo = [table:5] </Locals>|r (tail call): ? /EsoUI/Ingame/Skills/Keyboard/ZO_Skills.lua:1346: in function 'ZO_SkillsManager:RebuildSkillLineList' |caaaaaa<Locals> self = [table:7]{showAdvisorInAdvancedMode = F}, _ = 1, skillTypeData = [table:8]{skillType = 1, keyboardNormalIcon = "EsoUI/Art/Progression/progress...", name = "Class", keyboardPressedIcon = "EsoUI/Art/Progression/progress...", announceIcon = "EsoUI/Art/Progression/skills_a...", keyboardMousedOverIcon = "EsoUI/Art/Progression/progress..."}, parent = [table:6], subclassingData = [table:2] </Locals>|r /EsoUI/Ingame/Skills/Keyboard/ZO_Skills.lua:626: in function 'cleanFunction' /EsoUI/Libraries/Refresh/Refresh.lua:200: in function 'ZO_OrderedRefreshGroup:TryClean' |caaaaaa<Locals> self = [table:9]{autoCleanMode = "perFrame"} </Locals>|r /EsoUI/Ingame/Skills/Keyboard/ZO_Skills.lua:1377: in function 'ZO_SkillsManager:OnShown' |caaaaaa<Locals> self = [table:7] </Locals>|r /EsoUI/Ingame/Skills/Keyboard/ZO_Skills.lua:1432: in function 'ZO_Skills_OnEffectivelyShown' |caaaaaa<Locals> self = ud </Locals>|r (tail call): ? ZO_Skills_EffectivelyShown:3: in function '(main chunk)' |caaaaaa<Locals> self = ud, hidden = F </Locals>|r [C]: in function 'SetHidden' /EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:122: in function 'ZO_AnimatedSceneFragment:Show' |caaaaaa<Locals> self = [table:10]{animationKey = 91, duration = 200, state = "showing", allowShowHideTimeUpdates = F, animationTemplate = "FadeSceneAnimation"}, currentScene = [table:11]{restoresHUDSceneToggleUIMode = F, restoresHUDSceneToggleGameMenu = F, wasShownInGamepadPreferredMode = F, name = "skills", state = "showing", fireCallbackDepth = 0, wasRequestedToShowInGamepadPreferredMode = F, disallowEvaluateTransitionCompleteCount = 1}, animation = ud </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:163: in function 'ZO_SceneFragment:ShouldBeShown' |caaaaaa<Locals> self = [table:10] </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:233: in function 'ZO_SceneFragment:Refresh' |caaaaaa<Locals> self = [table:10], asAResultOfSceneStateChange = T, refreshedForScene = [table:11], oldState = "hidden" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:181: in function 'ZO_Scene:RefreshFragmentsHelper' |caaaaaa<Locals> self = [table:11], asAResultOfSceneStateChange = T, i = 14, fragment = [table:10] </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:189: in function 'ZO_Scene:RefreshFragments' |caaaaaa<Locals> self = [table:11], asAResultOfSceneStateChange = T </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:158: in function 'ZO_Scene:SetState' |caaaaaa<Locals> self = [table:11], newState = "showing", oldState = "hidden", name = "skills", AS_A_RESULT_OF_SCENE_STATE_CHANGE = T </Locals>|r /EsoUI/Ingame/Scenes/InteractScene.lua:106: in function 'ZO_InteractScene:SetState' |caaaaaa<Locals> self = [table:11], newState = "showing" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:207: in function 'ZO_SceneManager_Base:ShowScene' |caaaaaa<Locals> self = [table:12]{hudUISceneName = "hudui", remoteSceneSequenceNumber = 17, exitUIModeOnChatFocusLost = F, fireCallbackDepth = 0, isLoadingScreenShown = F, initialized = F, numTopLevelShown = 0, hudUISceneHidesAutomatically = T, numRemoteTopLevelShown = 0, hudSceneName = "hud"}, scene = [table:11], sequenceNumber = 17 </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Leader.lua:299: in function 'ZO_SceneManager_Leader:ShowScene' |caaaaaa<Locals> self = [table:12], scene = [table:11] </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Leader.lua:382: in function 'ZO_SceneManager_Leader:OnSceneStateHidden' |caaaaaa<Locals> self = [table:12], scene = [table:13]{restoresHUDSceneToggleUIMode = F, restoresHUDSceneToggleGameMenu = F, wasShownInGamepadPreferredMode = F, state = "hidden", fireCallbackDepth = 0, name = "hud", wasRequestedToShowInGamepadPreferredMode = F, disallowEvaluateTransitionCompleteCount = 1}, nextSceneGroup = [table:14]{activeScene = 1, state = "showing", fireCallbackDepth = 0}, currentNextScene = [table:11] </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:281: in function 'ZO_SceneManager_Base:OnSceneStateChange' |caaaaaa<Locals> self = [table:12], scene = [table:13], oldState = "hiding", newState = "hidden" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Leader.lua:329: in function 'ZO_SceneManager_Leader:OnSceneStateChange' |caaaaaa<Locals> self = [table:12], scene = [table:13], oldState = "hiding", newState = "hidden" </Locals>|r /EsoUI/Ingame/Scenes/IngameSceneManager.lua:400: in function 'ZO_IngameSceneManager:OnSceneStateChange' |caaaaaa<Locals> self = [table:12], scene = [table:13], oldState = "hiding", newState = "hidden" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:152: in function 'ZO_Scene:SetState' |caaaaaa<Locals> self = [table:13], newState = "hidden", oldState = "hiding", name = "hud" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:284: in function 'ZO_Scene:OnTransitionComplete' |caaaaaa<Locals> self = [table:13], nextState = "hidden" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:279: in function 'ZO_Scene:DetermineIfTransitionIsComplete' |caaaaaa<Locals> self = [table:13], nextState = "hidden" </Locals>|r /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:191: in function 'ZO_Scene:RefreshFragments' |caaaaaa<Locals> self = [table:13], asAResultOfSceneStateChange = T </Locals>|r
yachoor wrote:Made minimal changes to get it working on PTS.
If someone wants to check and test it: https://drive.google.com/file/d/1-52IWpRhPQOIGMWGhHWe33GKiwVshmuj/view?usp=sharing
This version is for update 46/PTS only - it uses functions that are not in the game on live yet.
Should count the subclassing skills correctly for double points.
Given that the game will now have almost same info on skill/subclassing respec screen (where you can double check if the addon is counting correctly) and most of the stuff that is counted and cached is available easier from SKILLS_DATA_MANAGER/SKILL_POINT_ALLOCATION_MANAGER, someone with more time should just rewrite the whole addon to reuse game code.

I had the same problem. Anyone going to fix this?