Advanced Do It Yourself Memory Reading In EVE Online

Can you give us, please, a small example of finding precise UI element? ChatWindow maybe

Chat window should be simple because you can identify it by the name of the python type (“tp_name”). Just print out a list of all type names in the UI tree. Therein you will see the type name of the chat window. One method which should work for every UI Element is to look at its location. Just take the corresponding screenshot and measure the location of the UI element you are looking for. Then you simple take the set of UI elements which intersect this point/area.

I can see a lot of data, but it seems “unsorted” - can’t get any way to order it to make UI structures.

The structure for traversing the tree works as shown in the image below:

This shows the memory structure of the UI Tree in the eve online client. The whole image shows a structure within a single node of the UI tree. The list represented at the bottom contains the references to the children of the node.

This shows the memory structure of the UI Tree in the eve online client.
The whole image shows a structure within a single node of the UI tree.
The list represented at the bottom contains the references to the children of the node.

In the sample code it looks way simpler already: the children are in the “children” property of the “UITreeNode” class. That is the tree structure. You can sort them any way you want, no problem.