Is there a way to access the waypoint buttons in the world menu ('U' or tag a waypoint)? Not seeing anything in devtree after WorldMap, but it doesn't always get the components list.
Is there a way to access the waypoint buttons in the world menu ('U' or tag a waypoint)? Not seeing anything in devtree after WorldMap, but it doesn't always get the components list.
WorldMap is an element, not an entity, so it won't get a component list. I haven't looked around the structure to see what information is available locally (e.g. if there is a shortcut to the current visible world map). Traversing the child array will get you to the nodes on a map.
2,0,0,last,1 has a text label that contains the text of the current selected Part tab (e.g. Part 1, Part 2, Epilogue).
2,0,1,X where X is the selected Part tab (0-based index).
2,0,1,X,0,1,0,last,1 has a text label that contains the text of the current selected Act tab (e.g. Act 1-5, Act 6-10, Oriath, Conquerors, Maven).
2,0,1,X,0,1,1,Y where Y is the selected Act tab (0-based index).
2,0,1,X,0,1,1,Y,0,2,Z contains the nodes for each map. Child 0 has the list of nodes specific to the act. Children 4-10 are the global buttons on the right (ascending from bottom to top). Child 11 is the last hovered tooltip.
A couple examples:
In devtree, you can also UIHover each button and use the PathFromRoot, but starting at "(WorldMap)" instead of "(OpenLeftPanel)34".Code:WorldMap.GetChildFromIndices(2,0,1,0,0,1,1,4,0,2,0,4); // Part 1, Act 5, The Ruined Square WorldMap.GetChildFromIndices(2,0,1,1,0,1,1,2,0,2,0,1); // Part 2, Act 8, The Sarn Encampment WorldMap.GetChildFromIndices(2,0,1,2,0,1,1,0,0,2,0,0); // Epilogue, Oriath, Oriath
Thanks! That's super helpful. That's a long list of children, I thought it was going in circles. I don't see the PathFromRoot, I'm not familiar with UIHover though. I guess my DevTree could also be outdated? Is there a way to lock UIHover once you are over the item you want to inspect?
As I understand it, you want to click on a waypoint on the map.
These elements have no height, which is probably why they are not visible in your editor. however, they have left and top margins, so you can set the height and width of the box you want to click on.
For a detailed understanding of what I am talking about, you can use the program for debugging the UI elements of the POE.
GitHub - wlastas/ImGuiSceneGL
It is open source and I have updated it to the current POE version.
![]()
Last edited by GameAssist; 12-30-2021 at 02:54 AM.
StateMachineComponentOffsets seem to be outdated, because i know there are 2 states in legions (obelisk_state and checking_control_zone), but hud finds none
i'd appretiate it if someone could check them in their free time. i tried to find offsets in reclass had no success (lacking experience). managed to get text representation of 1 state but thats it
-> These elements have no height, which is probably why they are not visible in your editor. however, they have left and top margins, so you can set the height and width of the box you want to click on.
I am pretty sure that all Poe UI elements have x, y, width, height associated with it. It's just that PoeHUD/ExileAPI code doesn't read it correctly. So if you copy PoeHUD/ExileAPI classes it will not show the height.
If I did not reply to you, it mean the question you are asking is stupid.
These (X and Y)s are the left-top corner of waypoint button rectangle which is 46x46 pixels.
so get these x and y, you could do this calculate to get the center of waypoint buton : x+46/2,y+46/2.
as for the button size,46x46, It won't change by changing the game window.
What? Do you mean that the size of the icon can be read from the base as the size of the texture and used in the future?
I understand that everything is OK with reading the element.height & width of the API, just in this (exceptionally unique) case, when the element frames the icon (Way Point in this case), this value is not set programmatically in Client and therefore cannot be read from memory.
Last edited by GameAssist; 01-13-2022 at 02:53 PM.
I do not read it from GGPK file. I read it from UiElement offset. I am out of town, I will show you what I mean when I get back home ( in 1 week ). It’s not as simple as reading 1 specific offset. To calculate proper height/width exileApi have to read multiple offsets.
Agree, game scale impacts the UiElement size. The Ratio it impacts with is different for different UiElement. For some UiElement the impact Ratio is 1 (meaning no impact).
Last edited by GameHelper; 01-13-2022 at 04:49 PM.
If I did not reply to you, it mean the question you are asking is stupid.
is there a guide on how to make a new plugin?
i started looking at buffutil and tried to add a new spell but it seems i get the basics wrong.
i forked the repository on github and rename my repository to buffutil-my-hacks
so in the exilehudmenu i get a new entry name "buffutil-my-hacks" but that seems not to be enough since i am under the impression "my" plugin collides with the original inside exileapi and i get the error
it only works if i delete all plugins and then only once
2022-01-19 22:03:31.103 +01:00 [VRB] LoadAssembly -> Failed to load "C:\Games\poe exileapi my plugins\Plugins\Compiled\BuffUtil-my-hacks".
2022-01-19 22:03:31.118 +01:00 [ERR] LoadAssembly() -> System.InvalidOperationException: Die Sequenz enthält mehr als ein Element.
bei System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
bei ExileCore.Shared.PluginAutoUpdate.PluginLoader.LoadAssembly(DirectoryInfo dir) in /buddy/exileapi/Core/Shared/PluginAutoUpdate/PluginLoader.cs:Zeile 61.
Last edited by zerger3; 01-19-2022 at 04:49 PM.
Disable the PluginAutoUPdate at first(you have an error right there)
And then do it by analogy with other plugins.
A)completely clear the contents of the folders: "C:\PoeHelper\Plugins\Compiled" "C:\PoeHelper\Plugins\Source"
for "C:" use ur correct path to output PoeHelper folder
B) Make sure API compiles and runs successfully without any plugins
1) Put your source to "C:\PoeHelper\Plugins\Source\YourDLLName"
2) load you project to VS
3) check/set it Output path "..\..\Compiled\YourDLLName"
4) Rebuild your project(plugin)
5) restart/run API("Loader" project)
You must use your visual studio in debug mode.
just when an error occurs in your plugin, you need to open the "call stack" and see step by step where it is called from and what is wrong with your code
Last edited by GameAssist; 01-20-2022 at 12:50 AM.