Corporation asset list

New to Elm, but not new to coding :slight_smile: trying to get an idea if my thoughts for a bot is possible.

Is something like this possible?
If docked

  • check corp delivery inventory → if stuff that matches my “shortlist” → move to ship inventory
  • check corp window → see list of assets in corp deliveries → and get station list, pick next on list and select as destination
    if != docked
  • then just use something like warp to zero script to next station

The above is described in a very simple form - its a very little part of the logic i need, but its rather crucial for the script :smiley:

i see mining bot have something with moving items, but i lack to find information about corp dellivery inventory and assets window.

can anyone point me in the right direction :slight_smile:

Thx in advance

You will probably find this information in the default memory reading from Sanderling.
At the moment, memory reading is the more popular way to get information from the EVE Online client.
Many frameworks for EVE Online use this way, including for example Program Framework 01d2730a94

A fast way to identify the part representing the corp delivery inventory is to use the standard graphical user interface to explore the memory reading.
A very robust way to identify the UI element you are interested in is to use its screen coordinates that you also see in the tree view of the inspection GUI.
Here is a screenshot of the GUI:

The simplest way to get a memory reading from your system is to extract it out of an existing session recording, using the dedicated user interface for EVE Online: bots/ at main · Viir/bots · GitHub

In case you see any problems with this approach, let me know.

For the question about feasibility in general, we need to ask someone who plays EVE Online. If a player can do it, you can also automate it.

Thx for the answer it got me abit further :slight_smile:

i have been toying around with sanderling and made various memory dumps and used FrontendWeb.Main to find the places in the structure with “View Parsed User Interface”.

I need to get pretty far down the tree to find the list of stations in corp assets :smiley: but im struggeling abit to figure out how to access that specific “level” so i can run through the listGroup and get the info.

any pointers are welcome :slight_smile:

Getting far down the tree is as simple as applying the listDescendantsWithDisplayRegion function from here:

This function returns all the nodes in the given tree in a list. This means you can now use functions like List.filter or List.filterMap to select the one that matches your criteria. You can also use List.sortBy to implement a ranking if your predicate for filtering could match multiple nodes.

This function relieves you from thinking about the tree, as it lets you operate on the set of all nodes in the chosen subtree.

You can see many popular bots using this function multiple times to parse the memory reading from Sanderling.
It is also used in functions to parse overview, inventory, targets, agent dialogues, etc.

How did this function become so popular?
The evolution of the frameworks for EVE Online also advances with changes to the game client. When CCP changes the rendering code, the level of your UI element in the tree can change because they add or remove a container. In such a case, the performance of programs depending on finding the element at a specific level degrades. So users tended to switch away from bots using overly specific selectors to others that use functions like the linked listDescendantsWithDisplayRegion.

If you have a case where filtering by the depth level is preferable, that might be a novelty. When that happens, we add a new function for that.