Fuzzy building A-Bot

Terpla, ty for helping out.

The SkipAnomalyF funcion is not working, it pauses the bot when sees a deepblue background player on grid.

Just so u know my programming skills are 30 years old when i did dbase at school. Not be too mad if i say nonsenses.

72 `km´ should be changed to ´m´ the distance to the combat site is stated as meters

scanResult?.CellValueFromColumnHeader(“Distance”)?.RegexMatchSuccessIgnoreCase(“km”) ?? false;

After this, at module.cs, bot

  • identify the current combat site (by distance and km)
  • pulls menu
  • and do ´Alt´+ ´P´ twice. Not sure why it is doing this, i tried but it didnt do anyhing.
  • then do a series of memory pulls, clicks etc - at this point my current skills cant understand it all.
    But this should be the part where bot ignore current anomaly and go back to find a new one. And probably where the issue is.

tchallaaoc
I think that this bot is best to be used with droneboats : Ishtar, gila, Vni even the Myrmidon.
They must be cap stable with AB and repairer on. Can be shield or armor tanked.

Some people use passive fits, or extented shields no rep fits, its up to u. It work with everything.

Cheers

Thanks you for response. Having multiple accounts docked at similar station, am curious to know if after undocked, scan up, turn in bot… Will they go to same anomaly together?

1 Like

Heya everyone,

@Terpla You are correct, I’l be honest and say any modification from the original framework I just added from nice people like you and @Master that pitched in with code snippet. I understand the code but am in no way able to produce this stuff myself.
I’m happy if someone else can finish the missing part and or optimize stuff to have a working bot concept for most ship types, that was my initial thought and goal.

So the status of this version right now is that @Master tried to add in a simple way the detection of other players in a site and then break and go to the next one. But since his rework of his own framework and the original here had so many differences that I think someone else needs to pick it up and finish it.
The alternative is that I upload a version with just the orbit code from you @Terpla as it doesn’t break at least, but it will kill steal other peoples sites.

As for a ship to use I would strongly suggest not doing a shield fit VNI, the reason for this is that it doesn’t survive the highest site and you lose out on some raw DPS + drone travel time = less DPS (not shown).
The link you showed is almost the same fit as I use.
An active armor fit VNi is much more sustainable, you get more mids for 100m afterburner so you really need it permanently on if you aren’t cap stable
This fit is stable with afterburner conserve rank 4 and the zor’s implant:
https://o.smium.org/loadout/private/140493/4162052738387017728

You can make modifications to the low slots if you want a better tank even though it tanks most sites with a going rate of 20-24 mil a tick, swap out T2’s with T1’s if you have less skill or want a cheaper fit. The only thing that hits this thing are the Cruiser rats and the mega rare occasion you get web’ed. You fly faster than the frigate rats tho so you might end up with them yellowboxing you at the end of a wave with drones sitting idle.

Edt: Typos.

Fuzzy u have some big brass balls, i use double medium reps and my defenses over 72% for specific rat. Will try your fit tho, a-bot working well and orbiting as soon as lands it wont be an issue.

@Terpla, @Master, @Viir
If any of u be kind to fix the
public class SkipAnomalyF : IBotTask
, bot wont freeze when encountering a blue player at combat site.

Cheers

@SuicidalPilot @Fuzzy

To fix this I have to remake very many changes into official repository from mine.

I promise saturday or sunday I will fix this “skipanomaly” for you into fuzzy repository, I will fix the skipanomaly if it’s already taken from someone.

My version have a “saveShip” system different from the original repository, because I do more check, and all logic isn’t more inside the combatTask, everything have a separate service and all are recalled from the combatTask, so this change on the officially repository isn’t simple, so I can’t do it during the week :frowning: sorry

No worries @Master :slight_smile:
Thank you for the help so far!

use search on this forum

The best solution would be to have the what to orbit entry configurable in the bot.config file, along with the orbit distance and warp to distance.
Of course, someone would have to implement and share this :slight_smile:

Commit done.

Changes:

Combat Execution Improved
EnterAnomaly at 30km
NPC Dread reconize and retreat if he show up
Armor Mange / PermaTank Added
LockTarghet and OrbitTarghet by shourtcat (Orbit Shourt = SHIFT)

@ivar85 please not spam my box with your ask, Im not a private dev. Im a software dev. in real I have too much customers in real, I don’t want have others for a game :stuck_out_tongue: I do some change sometimes when I can and I want do it, this because I work in a different repository with too many change from the original A-Bot, work in differents repository from mine kill my brain.

@Fuzzy I test it very fast and look work, if it not work IDK whene I will can fix it, let me know however.

Awesome @Master!
I’m checking it out now!

Edit:
Sent this as a PM if you want to discuss it there, currently upon entering a site with another player it right click on the same site and clicks on “Save location” then repeats this process over and over.

UPDATE:

to clarify

You have to set those shortcut:

Lock Targhet → Ctrl
Orbit → Shift
Probe Scanner Window → Menu

else the bot will not work

@Viir

I did some test on the fuzzy’s repository and this class:

private IEnumerable SkipAnomalyFunc(IEVEBot bot)
{
var probeScannerWindow = _memoryMeasurement?.WindowProbeScanner?.FirstOrDefault();
var scanActuallyAnomaly =
probeScannerWindow?.ScanResultView?.Entry?.FirstOrDefault(ActuallyAnomaly);

  	if (null != scanActuallyAnomaly)
  	{
  		yield return scanActuallyAnomaly.ClickMenuEntryByRegexPattern(bot, "Ignore Result");
  	}
  	else
  	{
  		yield break;
  	}
  } 

Go to click always on the “save location” instead “ignore result” I tried to force the click on the “ignore result” but nothing… he go alwasys to click on “save location” lol

Thank you, this bot is really good.
But same thing as @Fuzzy said.
Also if I am in a site, and neutral comes in local, bot warps to safe and goes back to anomalie when he leaves.
When bot gets back to site there are 5 drones in local (would be nice if bot could call them back before going to safe. Just with a button that lets them return to drone bay, wait for 5 sec and then keep doing what he normal would)
and starts right clicking on the combat site, right clicks and repeat clicks on “Save location”

Loosing my mind here…
There is a bug if there are only 1 or two enemies.
Bot targets them both, starts to orbit but never engages.

leaves 0 s ago at 20:34:15
---- Exception ----
System.NullReferenceException: Object reference not set to an instance of an object.
at Sanderling.ABot.Bot.Task.CombatTask.<get_Component>d__7.MoveNext() in C:\Users\Ivar\Desktop\A-Bot-ORBIT-Player-Detection-master\src\Sanderling.ABot\Bot\Task\Combat.cs:line 215
at Bib3.Extension.d__351.MoveNext() at Bib3.Extension.<EnumeratePathToNodeFromTreeDFirst>d__351.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext() at Sanderling.ABot.EnumerableExtension.<EnumerateSubsequencesStartingWithFirstElement>d__01.MoveNext() in C:\Users\Ivar\Desktop\A-Bot-ORBIT-Player-Detection-master\src\Sanderling.ABot\EnumerableExtension.cs:line 12
at System.Linq.Buffer1..ctor(IEnumerable1 source)
at System.Linq.OrderedEnumerable1.<GetEnumerator>d__1.MoveNext() at System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable1 source)
at Sanderling.ABot.Bot.BotExtension.TakeSubsequenceWhileUnwantedInferenceRuledOut(IEnumerable`1 listTaskPath) in C:\Users\Ivar\Desktop\A-Bot-ORBIT-Player-Detection-master\src\Sanderling.ABot\Bot\BotExtension.cs:line 48
at Sanderling.ABot.Bot.Bot.StepOutputListTaskPath() in C:\Users\Ivar\Desktop\A-Bot-ORBIT-Player-Detection-master\src\Sanderling.ABot\Bot\Bot.cs:line 65
at Sanderling.ABot.Bot.Bot.Step(BotStepInput input) in C:\Users\Ivar\Desktop\A-Bot-ORBIT-Player-Detection-master\src\Sanderling.ABot\Bot\Bot.cs:line 110

I poked @Viir, hope he responds now :slight_smile:
Yes I am inpatient, sorry -_-

Hello Fuzzy, I scanned for question marks in the post you linked, but the only ones I saw were in some C# code.
So I am not sure what the question is.

The guess is you want to click a menu entry containing the label “ignore result” in a context menu from list view entry from IWindowProbeScanner?.ScanResultView?.Entry

Based on the A-Bot source code from

The menu entry is located at the root level, not in a submenu.

First thing I would try this to replace the definition of the method Sanderling.ABot.Bot.Bot.RootTaskListComponentDefault (found at A-Bot/src/Sanderling.ABot/Bot/Bot.cs at 06002c548f15d8006337dc221521a5b695eacc4a ¡ botengine-de/A-Bot ¡ GitHub) with following code:

IEnumerable<IBotTask> RootTaskListComponentDefault()
{
	var memoryMeasurement = MemoryMeasurementAtTime?.Value;

	var probeScannerWindow = memoryMeasurement?.WindowProbeScanner?.FirstOrDefault();

	var scanResult =
		probeScannerWindow?.ScanResultView?.Entry?.FirstOrDefault();

	yield return scanResult.ClickMenuEntryByRegexPattern(this, "ignore result");
}

This should already be sufficient to achieve the click.

@Viir
Is there any possibility that you can help me also ?
I need the bot to call back drones if he goes to safe bookmark ?
It only takes 3 enemies to come to system and bot is out of all drones.

@Viir @Master @Fuzzy
Ty all for your help and patience!
After Master changes to the bot i noticed the following:

  • It doesn’t prioritize targets, size, web or point rats anymore, drones in aggressive or not. This was working well before the last changes.
  • It has an exception error as stated by Ivar, i suspect its target selection related to previous point.
  • There is an issue with 1 target left, leaving the drones in aggressive solves 99% of the times.
  • If an hostile event occurs the bot recognize it but attempts nothing, some seconds later it continue fight normally. (will do further testing).
  • On Friendly event, bot tries to ignore the anomaly but instead clicks on save bookmark. and tries to warp. Since it couldn’t ignore currently site it stays there on loop.

Good stuff:

  • Warp at 30km works without issues
  • Orbit target as well
  • Selecting, target attack is a lot faster than other solution i use.
  • Move on to another anomaly without issues.

@Viir
I performed the change u suggested. at Sanderling.ABot.Bot.Bot.RootTaskListComponentDefault
Sadly bot is now ignoring all sites from the list, up to the last one and stays idle.

What about using the context menu on a group in the drones window? Does this not have an entry to recall drones?

1 Like

Thank you for testing this. This reads like the change was successful. Since you write “Sadly”, I think there might have been a misunderstanding. The goal of that change was to verify a method to click on the “ignore result”.