Questions for developing the new bot

I have some question about developing under the new bot with elm:

  1. WindowOverview line: how I add window overview list to bot? How I take and use specific rats/wrecks entry? But the distance? But their ID? If I understood corectly, in elm you have to make a list and after that you have to create an array so we can use the index . Same questions about Target
  2. Window Inventory : how I can add and use all things: right pannel, left pannel, capacity, drone bay, ore bay, etc.
  3. Drones Window: How I parse them, and select etc etc?
  4. probe scanner Window ; I think you already know: parse all infos: anomaly, rightclick, warp at distance, select anomaly , or ignore anomaly;
  5. Local Chat: without having the participants, parsing them and take their flag … you cannot make a bot for nullsec
  6. Using weapons, modules, etc etc. identify them if is a weapon etc etc
  7. combined press keys for shortcuts
  8. Missions : missions panel, and agent window: mission title, items name, reward, buttons etc
  9. the rest of windows modal, etc etc
  10. dpi scaling ( on high resolution when you know there is better to use scaling text)

Generally, the elm project is interesting, and the most interesting on him it could be the implementation of an overlay on top of any application( since it is in console, at least to have an overlay), to have all messages. To have things in core is super, but we have to implement them. And programming all that and after that programming a bot, and his behavior in different conditions without having explanation of how to use/add and programming in elm is something … really difficult.

1 Like

This looks like you are thinking about EVE Online. EVE Online is a bit of a special case since we have the Sanderling memory reading framework to read information from the EVE Online game client.
If you would like to try to go the memory reading route, we would need a memory sample of the game client containing the information you are after. You can follow this guide to get a sample from the game client: How to Collect Samples for 32-bit Memory Reading Development

If that seems too complicated, we don’t need to use memory reading. We can instead read the information from Screenshots. If you prefer reading from Screenshots, link a screenshot of what you mean. You can upload screenshots at https://imgur.com/

One more thing I should add: Since you also asked about Elm, let’s also have a look at the corresponding Elm code. I will demonstrate this with a change to an existing bot, based on your description of the window overview list:

I see you did not pick a bot as a base so far, so I choose the one from bots/implement/bot/eve-online/eve-online-warp-to-0-autopilot at d05d741d68b8ac4b20e8c222f9b1828bc2fb534b · Viir/bots · GitHub

Starting from this bot, we can add the window overview list, for example, to the types describing the contents of the memory reading. We can add it to MemoryMeasurementReducedWithNamedNodes, which is coded in bots/implement/bot/eve-online/eve-online-warp-to-0-autopilot/src/SanderlingMemoryMeasurement.elm at d05d741d68b8ac4b20e8c222f9b1828bc2fb534b · Viir/bots · GitHub

This is a record type. We add a new field called windowOverviewList. After this change, the type looks as follows:

type alias MemoryMeasurementReducedWithNamedNodes =
    { shipUi : Maybe MemoryMeasurementShipUi
    , infoPanelRoute : Maybe MemoryMeasurementInfoPanelRoute
    , menus : List MemoryMeasurementMenu
    , windowOverviewList : List UIElement
    }

Now, the windowOverviewList is present everywhere we have a value of type MemoryMeasurementReducedWithNamedNodes.

You can see the full commit at Answer question from Kaboonus · Viir/bots@c279c45 · GitHub

Does this work for you?