EVE Online Anomaly Ratting Bot Release

Im trying to use the Fighter Squadrons, but into

memoryMeasurement?.ShipUi?.SquadronsUI?.

miss the entry “LabelText” so Im not able to retrieve the status “Ready”/“In Space” of fighters. Into the Api Explorer I see it but if I go to recall it from code I miss it…


@Arcitectus

How I can do an empty left click in space?

How I can click the button “Launch All Fighters”? (I can’t use the function “mouseclick” in combat.cs under “public IEnumerable Component”)

Please if you can… help me xD


If you use an INSTA DOCK bookmark like me and you need dock after the warp like me this the code to make it:

Change this:

yield return new MenuPathTask
{
RootUIElement = memoryMeasurement?.InfoPanelCurrentSystem?.ListSurroundingsButton,
Bot = Bot,
ListMenuListPriorityEntryRegexPattern = new { new { retreatBookmark }, new { @“dock”, ParseStatic.MenuEntryWarpToAtLeafRegexPattern } },
};

Whit this:

var Overview = memoryMeasurement?.WindowOverview?.FirstOrDefault()?.ListView?.Entry?.ToArray();
var Station = Overview[0].LabelText?.ToArray();

if (Station[1].Text.ToString() == “INSERT HERE THE FULL STATION NAME”)
{
if (Station[0].Text.ToString() == “0 m”)
{
yield return Station[1].ClickMenuEntryByRegexPattern(Bot, @“dock”);
}
else
{
yield return new MenuPathTask
{
RootUIElement = memoryMeasurement?.InfoPanelCurrentSystem?.ListSurroundingsButton,
Bot = Bot,
ListMenuListPriorityEntryRegexPattern = new { new { retreatBookmark }, new { @“dock”, ParseStatic.MenuEntryWarpToAtLeafRegexPattern } },
};
}
}

Hi, i have tried it, now it doesnt go to the bookmark, but it just start the resist module and nothing after that.

@thesaltonsea the bot depends on the scanner window to enter anomalies. When no anomalies in group “combat” are visible, the bot waits for anomalies to appear.

@Master

How I can do an empty left click in space?

First, choose a location in the Viewport where space is and then use this method: https://github.com/Viir/A-Bot/commit/d97a19130a66463fb931c6736aa3a2520713939a

How I can click the button “Launch All Fighters”? (I can’t use the function “mouseclick” in combat.cs under “public IEnumerable Component”)

Why can’t you use the function “mouseclick”?

@Arcitectus

For example I go to declare:

var fightersSquadron = memoryMeasurement?.ShipUi.SquadronsUI;

And after I go to recall the function “mouseclick” inside the Combat.cs

yield return fightersSquadron.LaunchAllButton.MouseClick(MouseButtonIdEnum.Left);

The error I receive is this:

“Cannot implicitly convert type ‘Sanderling.Motor.MotionParam’ to ‘Sanderling.ABot.Bot.IBotTask’. An explicit conversion exists (are you missing a cast?)”


What about the missing reference of “LabelText” into " memoryMeasurement?.ShipUi?.SquadronsUI?." ?

The error I receive is this:

“Cannot implicitly convert type ‘Sanderling.Motor.MotionParam’ to ‘Sanderling.ABot.Bot.IBotTask’. An explicit conversion exists (are you missing a cast?)”

In this case, wrap the motion param in an instance of the BotTask class as in https://github.com/botengine-de/A-Bot/blob/14d977a11d7c3b9575f7cbc4f231375059885712/src/Sanderling.ABot/Bot/Bot.cs#L149

The error I receive is this:

“Cannot implicitly convert type ‘Sanderling.Motor.MotionParam’ to ‘Sanderling.ABot.Bot.IBotTask’. An explicit conversion exists (are you missing a cast?)”

In this case, wrap the motion param in an instance of the BotTask class as in https://github.com/botengine-de/A-Bot/blob/14d977a11d7c3b9575f7cbc4f231375059885712/src/Sanderling.ABot/Bot/Bot.cs#L149

@Arcitectus I tried but Im not able to do it, can u do it for me please?

So finnaly got it to start I needed to use the new probe scanner and it should be open all the time. Now i have other issue - the bot is not starting the Shield Booster , it just start the active resists but its not startig the booster even after i got below 50% shields. Any ideas ?

And where can i see what other settings can be set up with bot.conf file

@Arcitectus I tried but Im not able to do it, can u do it for me please?

Alright, I suggest you upload your version on github and link the commit here. Then tell me why you think it does not work.

Then I can take a look at it.

So finnaly got it to start I needed to use the new probe scanner and it should be open all the time. Now i have other issue - the bot is not starting the Shield Booster , it just start the active resists but its not startig the booster even after i got below 50% shields. Any ideas ?

Right now there is no activation of Shield Booster, I will add this soon.

And where can i see what other settings can be set up with bot.conf file

You can see all the available settings in this file: https://github.com/botengine-de/A-Bot/blob/master/src/Sanderling.ABot/Bot/Config.cs

More settings to come soon.

You can see all the available settings in this file: https://github.com/botengine-de/A-Bot/blob/master/src/Sanderling.ABot/Bot/Config.cs

More settings to come soon.

Are you rejected “SetAnomalyEnabledNamePattern” setting in bot.config?

PS: great work, Arcitectus!

And i have one more question: where i can find ship speed?

I want use it in Combat.cs task, should i parse ShipUi?.SpeedLabel or we have other property with number only?.

Hellp Terpla,

Are you rejected “SetAnomalyEnabledNamePattern” setting in bot.config?

No, I did not reject such a setting, so far I have no info about this.

And i have one more question: where i can find ship speed?

I want use it in Combat.cs task, should i parse ShipUi?.SpeedLabel or we have other property with number only?.

Yes we already have a property for this at ShipUi?.SpeedMilli: These are millimeters per second.

No, I did not reject such a setting, so far I have no info about this

I new in github and i wonder whether only you can add this settings in bot.config or any user can do it?

link

I new in github and i wonder whether only you can add this settings in bot.config or any user can do it?

link

Anyone can change the settings in bot.config.

The commit you linked is an proposal for an addition, so far I have not seen any feedback for that version.

So i use it 5-6h with Ishtar and 5-6h with tengu, work nice with the current options

Another important thing like the shield booster is to call the drones back when neut/red enters the system and the ship warp to the bookmark. Maybe with the option to set the duration that the ship to wait for drones before warping in the bot.config

Report from testing last version:

  1. If drone bandwidth allow launch only 2 drones (Rattlesnake, Gila) bot will be launch drones again and again.

  2. when i test escape from neutrals, bot click on “sun” for main menu and then i have ArgumentNullException.

My Bot.config file have RetratBookmark “HOME” and the same bookmark have my pilot (look first screenshot).

And the same time ModuleActivePermanentSetTitlePattern option work fine.

One step before exception.

  1. Is property “bool? IsAfterburner { get; }” from  “MemoryMeasurementAccu?.ShipUiModule?.TooltipLast?.Value” work fine?

Because when i try identify module this property allways null (unlike “IsArmorRepairer” work fine for other module).

Thank you Terpla for sharing that information.

1) Do we get some info from the eve UI about this limitation? If this information is on screen maybe we can store that to replace the “5” literal at the code location you linked.

  1. One thing that caught my attention here is that the config file you linked contains no comma between the two attributes. I did not expect this to be parsed at all. Judging from the screenshot http://clip2net.com/s/3D4a2aw you linked, it looks like the property for the bookmark is not parsed from the config file. I will test with this file.

  2. The classification should happen in the code of the sanderling project. For example, the “IsArmorRepairer” you mentioned is being assigned at https://github.com/Arcitectus/Sanderling/blob/4d3c94f3c51ab6b714e76837fcc900090f00b454/src/Sanderling/Sanderling/Parse/ModuleButtonTooltip.cs#L158

Looks like there is no parsing code for IsAfterburner yet.

Hey Terpla,

when I tested with the config file you linked, the parsing function failed with this error:

"After parsing a value an unexpected character was encountered: “. Path ‘RetreatBookmark’, line 4, position 2.”

I changed the app to display any parsing exceptions in the UI so you do not anymore need to use a debugger to see this error:

A-Bot new diagnostic message for configuration parsing exceptions

https://github.com/botengine-de/A-Bot/commit/db7823a95a94e2d70821b8008628165df198ba78

Thank you for quick response.

  1. As i know we dont have any clear indication of drone limit. The only thing that came to mind is to catch message: http://clip2net.com/s/3D5uqSQ

  2. Are there universal rules for this config file? Perhaps you could provide an example for illustration.

I will try different variations in the evening and report the results.

  1. I think add parsing code will not be difficult, because all the modules are in the word “Afterburner” title
  1. Are there universal rules for this config file? Perhaps you could provide an example for illustration.

I will try different variations in the evening and report the results.

No need to try different variations. One universal rule is that the configuration has to be a valid JSON string. So I googled for “json validator” and found the one at http://jsonlint.com/ which gives a nicer explanation of what would be expected at the stated location in the string:

Error: Parse error on line 2:
...ookmark": "HOME"		"ModuleActivePermane...
---------------------^
Expecting 'EOF', '}', ':', ',', ']', got 'STRING'

Adding a comma at the location was enough to make it pass as JSON.

  1. I think add parsing code will not be difficult, because all the modules are in the word “Afterburner” title

Thank you for the research. I think at the moment there is no code to identify a title. Using the upmost label in the tooltip as the title might not work because the one containing the keyboard shortcut could be closer to the top. Not sure yet how I will choose the set of labels to test.