Abyssal window

Good day. Thanks for your work. Want to know how can I get the Abyssal login window?
ParsedUserInterface does not have this window.

type alias ParsedUserInterface =
    { uiTree : UITreeNodeWithDisplayRegion
    , contextMenus : List ContextMenu
    , shipUI : Maybe ShipUI
    , targets : List Target
    , infoPanelContainer : Maybe InfoPanelContainer
    , overviewWindow : Maybe OverviewWindow
    , selectedItemWindow : Maybe SelectedItemWindow
    , dronesWindow : Maybe DronesWindow
    , fittingWindow : Maybe FittingWindow
    , probeScannerWindow : Maybe ProbeScannerWindow
    , directionalScannerWindow : Maybe DirectionalScannerWindow
    , stationWindow : Maybe StationWindow
    , inventoryWindows : List InventoryWindow
    , chatWindowStacks : List ChatWindowStack
    , agentConversationWindows : List AgentConversationWindow
    , marketOrdersWindow : Maybe MarketOrdersWindow
    , surveyScanWindow : Maybe SurveyScanWindow
    , bookmarkLocationWindow : Maybe BookmarkLocationWindow
    , repairShopWindow : Maybe RepairShopWindow
    , characterSheetWindow : Maybe CharacterSheetWindow
    , fleetWindow : Maybe FleetWindow
    , watchListPanel : Maybe WatchListPanel
    , standaloneBookmarkWindow : Maybe StandaloneBookmarkWindow
    , moduleButtonTooltip : Maybe ModuleButtonTooltip
    , neocom : Maybe Neocom
    , messageBoxes : List MessageBox
    , layerAbovemain : Maybe UITreeNodeWithDisplayRegion
    }

Which window are you talking about? Is an in-game screen snip possible?

1 Like

abyssal

When we have a sample of your game clients’ memory, we can add that window to the parsing function that produced the ParsedUserInterface you mentioned.

If you share a recording of your session, I can take a look. The recording was already saved on your system automatically if you used the default configuration. You only need to export the session recording archive: https://to.botengine.org/guide/how-to-report-an-issue-with-an-app-or-request-a-new-feature

If you are not sure how to upload a file, you can use the approach from Cannot find Asteroid, keep warping · Issue #31 · Viir/bots · GitHub

It would work similar to as done at Add shortcut to window discovered by Neled77 last week · Arcitectus/Sanderling@1b6aeda · GitHub

Yes, of course. You did a great job adding the ability to watch the session!
The abyss window is visible from the 14th event until the end of the session.

https://drive.google.com/file/d/167e69ye5iCuzV9yAi_8YVZDAXstpMX55/view?usp=sharing

I had a quick look at these events from session-2021-02-12T15-03-53-6366a4.zip

It looks like CCP calls that part of the UI KeyActivationWindow:

inspecting a reading from the EVE Online game client

Yes it’s true.
getAllContainedDisplayTexts it proves.

You can add this to ParsedUserInterface?

@Viir You can add this to ParsedUserInterface?

I cannot parse it but I can give you a hackish way to click the button.

case getDescendantWithDisplayText "Activate for fleet" context.readingFromGameClient.uiTree of
                    Just activateForFleetButton ->
                        endDecisionPath
                                        (actWithoutFurtherReadings
                                            ( "Click on the button to activate."
                                            , clickOnUIElement MouseButtonLeft activateForFleetButton
                                            )
                                        )

                    Nothing ->
                        [...]
getDescendantWithDisplayText : String -> UIElement -> Maybe UIElement
getDescendantWithDisplayText displayText parent =
    parent
        |> EveOnline.ParseUserInterface.listDescendantsWithDisplayRegion
        |> List.filter (.uiNode >> EveOnline.ParseUserInterface.getDisplayText >> (==) (Just displayText))
        |> List.head

This will look into the entirety of the unparsed/parsed uiTree for a

_settext = “Activate for fleet”

And if found will click the button.

You choose what it do when not found.

1 Like

Yes, I can.
Since those examples are mainly a learning resource, I want to spend at least as much time making it easier for people to learn developing.
That means it should cost about twice as much time. It could take more than 40 minutes, but I will probably find a slot for this sooner or later.

Thank you very much! That worked.

Yes, I just uploaded the addition here:

Great job, thank you very much!