Hello, I’ve been lurking on these forums for a while, and have to say that I’m very intrigued by the capabilities of this framework.
I’ve been privately developing/using my own, very successful, AHK bots for a few years and am thinking about converting over to Sanderling as I embark upon a new bot quest, carriers. (I’d probably start by adapting A-Bot) However, that is just the core of how the bot will make the ISK. My bots coordinate with each other and communicate. They even talk to each other in corp chat. Because of this, I have a number of things that I need to ensure are available before I decide to embark on a large task like this.
First, please do not misunderstand the point of my list. This is a list of considerations based on what my bots already do. I’m just looking to see if I can attain feature parity. It is not a list of demands. I’m not some irreverent jerk that thinks he’s entitled to everything I might want…
Second, I’m not even asking for help on where these things can be found in the BotEngine interface. I’m just looking for feedback on the current capabilities.
My chief consideration is whether I’d be able to continue using the bot if the current author(s) decided to disappear. I saw a forum post about a patch that caused bots to stop working until the core code was patched with the new memory configuration from an Eve patch. Could someone point me in the direction of what tools are used to find and remap these myself? What about adding new interface elements? I’d like to learn to do this, because I don’t do things half-assed. I just need to know how it is done efficiently.
Speed: Although I wouldn’t run it at full speed, so that it isn’t obvious that it is a bot, carriers require a much higher rate of interaction than anything else in the game. (I know that access speed shouldn’t’ be a problem, due to reading memory, but I have to ask in case…) Would it take more than half a second to query Local Pilots, Ship HP/Energy, Active Modules, Overview list contents?
(Again, only looking for short answers. I’m don’t want to impose. A simple “Available” or “Missing X” would be appreciated. This list is so specific because my bots can do all of this, except the new carrier stuff.)
The List:
-
General: Window positions, Active/Focused vs. Inactive vs. Closed, Current System
-
Ship Stats: Scrammed, Webbed, Damped, Targeting Range…
-
HUD: HP, Energy, Speed, Modules Active/Inactive
-
General Windows: Which is active/on top, Locations of inactive windows, Filter use or any text input areas (like PnP or Chat window) unmapped? Able to detect that text has been input into text area, in case of VM lag?
-
Tabs: Active/Inactive, change tabs
-
Lists: Any inaccessible lists?
-
Tables: Support for expandable entries, like PnP/Assets, changing sort?
-
Chat Window: Pilots List, Hostile/Friendly
-
Overview: Active/Inactive Tabs, Full table data like Column Header Name/Types (Any column data inaccessible?) Differentiation NPC-ID or How can I track the same target, or do I have to use Tag column still?
-
Inventory: I’d like to bring over my capability to restock items, switch ships and such, so anything missing here?
-
Probe Scanner Table: Anything missing?
-
Probe Scanning 3D Interface: Anything missing here, or would I need to keep my AHK code to make sure WHs don’t let in unwanted guests?
-
Inventory Window: Pretty sure I saw this in a tutorial.
-
States: Docked, Undocked, Warping, Dead
-
Drone Management Window: Get Names of Drones Deployed and their HP, Drones in Bay, Attacking/Idle?
-
Targeted Info: Names and HP of targets?
-
Fighter HUD: HP/NumRemaining, Speed, Modules Active/Inactive, Attacking/Idle, Webbed
So, yeah, that’s my list. LOL! But like I said, I already do things in AHK, so everything I do is a workaround. I’m just doing some fact finding to see what the landscape is. I’m just getting tired of some of the random problems that are inherent in screen scraping, and really trying to see if this could be a bit more stable.
Though my list above sounds huge, the way I see it is that the hard part is the logic of how to use the data to make good decisions. Well, I already have all that. (Like, that is what I’m really good at.) Porting it over to this language is just a matter of translation.
Well, if you’ve made it to the end, here, then I applaud you! Please, if you would be so kind, provide some brief feedback on my questions and such.
Thank you.