Bookmark boss wreck

Hi again. I want to book mark litte boss’s wreck that have loot to come back later. Can you make bot bookmark on that wreck before leaving anomaly site ?

ảnh

Great. I want it too. I have some idea like this:

    seeingWreckToLootInOverview =
        seeUndockingComplete.overviewWindow.entries
                    |> List.filter (.objectType >> Maybe.map (String.toLower >> (==) (String.toLower "Rogue Large Commander Wreck"))  >> Maybe.withDefault False)

and

describeBranch "I see no overview entry to lock."
                                            (if overviewEntriesToAttack |> List.isEmpty then
                                                returnDronesToBay context.readingFromGameClient
                                                    |> Maybe.withDefault
                                                        (if (seeingWreckToLootInOverview |> List.length) /=0 then
                                                            (describeBranch "Make Bookmark on seeingWreckToLootInOverview and go next anomaly site" continueIfCombatComplete)
                                                        else 
                                                            (describeBranch "No drones to return." continueIfCombatComplete)
                                                        )

                                             else
                                                describeBranch "Wait for target locking to complete." waitForProgressInGame
                                            )

Need @Viir help in
“Make Bookmark on seeingWreckToLootInOverview and go next anomaly site”

Depends on how the game works. Can make a bookmark using mouse and keyboard input?

Maybe a context menu can bring us closer to a bookmark. After all, this is EVE Online :smiley:

What do you get when you click with the right mouse button on your boss?

Same question for you @BrianCorner

This is Right Click Menu on a wreck and step to save a book mark ( Step 2 can replace by Press Enter key )
ảnh

I see there is an image. Looks a bit like a screenshot, I see there is some text but it is blurred so not readable.

If you want to upload images, you can use https://imgur.com/

On step number “1” from your image:
Is this found under the contextMenus field?
Does this have a specific text that we can use to identify? In the blurry image it seems not to contain “Bookmark”

On step number “2” from your image:
If you want to use the Enter key, you need to know that this window is present?
Do you already have a function that gets this information out of the reading from the game client?
If that function is not there yet, I can search one if you link me a sample of your game client. You can use the “Download reading as JSON file” button in the session event view here bots/guide/how-to-report-an-issue-with-a-bot-or-request-a-new-feature.md at main · Viir/bots · GitHub

Feel free to link a complete session with the two steps if that is easier for you.

This is JSON file that containt both 2 step.

Step 1: Right click on Named wreck, choise Save Location
Step 2: Click Submit on New location Window

1 Like

Here is an app that should do that: bots/implement/applications/eve-online/eve-online-combat-anomaly-bot/BotEngineApp.elm at 21481aaeb3d7d67d2fdf50ce1940ebc2ef5e2d63 · Viir/bots · GitHub

It integrates the bookmarking before leaving an anomaly to enter the next anomaly.

I tried. It keep looping do bookmarking and not going to next anomaly

I when i try to combile it to my bot. I got error in this part

bookmarkLocationForMatchingOverviewEntries context =
    let
        settings =
            context |> botSettingsFromDecisionContext

        matchesNameToBookmark stringToTest =
            settings.overviewObjectsToBookmark
                |> List.any
                    (\overviewObjectToBookmark ->
                        stringToTest
                            |> String.toLower
                            |> String.contains (String.toLower overviewObjectToBookmark)
                    )

        overviewEntryMatchesNameToBookmark overviewEntry =
            [ overviewEntry.objectName, overviewEntry.objectType ]
                |> List.filterMap identity
                |> List.any matchesNameToBookmark

        overviewEntriesToBookmark =
            context.readingFromGameClient.overviewWindow
                |> Maybe.map .entries
                |> Maybe.withDefault []
                |> List.filter overviewEntryMatchesNameToBookmark
    in

This is error

>     Standard Error:

'-- TYPE MISMATCH ------------------------------------------ src\BotEngineApp.elm

    This function cannot handle the argument sent through the (|>) pipe:

    640|             context.readingFromGameClient.overviewWindow
    641|                 |> Maybe.map .entries
                            ^^^^^^^^^^^^^^^^^^
    The argument is:

        MaybeVisible EveOnline.ParseUserInterface.OverviewWindow

    But (|>) is piping it to a function that expects:

        Maybe { a | entries : b }

@Viir its did not enter the next anomaly and keep doing bookmarking ( And it miss clicked sumbit button to right side abit => it clicked Cancel button )

What about applying this change: Attempt fix bug discovered by BrianCorner today · Viir/bots@4346759 · GitHub

Does that succeed clicking the submit button?

Yes, Its succeed clicking the submit button. But still looping, because after Save a Bookmark, the wreck still here, then bot keep saving it.

Could we avoid the loop by remembering if we have seen that window since the last warp?
We could branch on this part of the memory when deciding to go this branch:

Can you show it in code ?

Well, why not, let’s search some code!

What code that you remember has the most similar functionality?

humm… direction scan before warp? I see it have step effect. But not really know how it work

No problem with that one so far, go ahead :+1:

1 Like

i cant fix it. Can you make a fix ?
I tried this:

enterAnomaly : BotDecisionContext -> DecisionPathNode
enterAnomaly context =
    if
        context.lastStepsEffects
            |> List.head
            |> Maybe.withDefault []
            |> List.member ("What to put in here ?")
    then
        bookmarkLocationForMatchingOverviewEntries context |> Maybe.withDefault (enterAnomaly context)
    else
            (case context.readingFromGameClient.probeScannerWindow of