Fuzzy building A-Bot

Hi,
Can anyone help me with a simple task?
What should I do to update sanderline for the bot in this tread?
If something was fixed in framework like(Rails - IsWeapon?) what should I do to apply these changes to already existing bot?
Thank you in advance.

Did you download the community edition from here?

The only explanation is you manage to install something else like the IDE or something?

I clicked wrong in the beginning too, make sure thatā€™s not the problem:

1 Like

I installed Visual studio codeā€¦ the IDE after I finish this big install for visual studio Iā€™ll edit this post for what happens. I feel stupid.

Edit: It works! How do you keep the rats from switching to your drones considering it doesnā€™t activate a auto target-er or anything of the sorts.

How would I change the anomalyenter.cs to go into forsaken hubs? I assume like this I may be wrong.

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

			var scanResultCombatSite =
				probeScannerWindow?.ScanResultView?.Entry?.Forsaken Hub(AnomalySuitableGeneral);

Iā€™m running into the issue that the bot tries to save the scanresult instead of ignore the anomaly if it is populated by an ally, but I canā€™t seem to solve it. Has anyone managed to fix this or can someone point me in the right direction?

Iā€™ve changed AnomalyEnter.cs on line 17 to this:

static public bool AnomalySuitableGeneral(Interface.MemoryStruct.IListEntry scanResult) => scanResult?.CellValueFromColumnHeader("Name")?.RegexMatchSuccessIgnoreCase("forsaken hub") ?? false;

//this whole file is about executing a "safe" protocol. "SaveShip.cs" is what determines when safing needs to occur, this is just how safing is accomplished
using System.Collections.Generic;
using System.Linq;
using Sanderling.Motor;
using Sanderling.ABot.Parse;


namespace Sanderling.ABot.Bot.Task
{
	public class RetreatTask : IBotTask
	{
		public Bot Bot;

		public IEnumerable<IBotTask> Component
		{
			get
			{
				var memoryMeasurement = Bot?.MemoryMeasurementAtTime?.Value;
				var memMeasAccu = Bot?.MemoryMeasurementAccu;
				var abOff = memMeasAccu?.ShipUiModule?.Where(module => module?.TooltipLast?.Value?.IsAfterburner ?? false);
				if (!memoryMeasurement.ManeuverStartPossible())
					yield break;
				yield return new MenuPathTask
				{
					RootUIElement = memoryMeasurement?.InfoPanelCurrentSystem?.ListSurroundingsButton,
					Bot = Bot,
					ListMenuListPriorityEntryRegexPattern = new[] { new[] { retreatBookmark }, new[] { @"dock", ParseStatic.MenuEntryWarpToAtLeafRegexPattern } },
				};

				yield return Bot?.DeactivateModule(abOff);

			}
		}

		public IEnumerable<MotionParam> Effects => null;
	}
}

I feel so dumb right nowā€¦ Trying to get retreat.cs to turn off the afterburner after the warp command is sent (just to help align quicker) and for whatever reason the way Iā€™m doing it throws no errors but causes the bot to toggle a reactive armor hardener instead. Iā€™m obviously doing something horribly wrong but I canā€™t figure out what it is for the life of me. Can anyone help?

P.S. is there a way to use the step-through functionality in Sanderling with ABot? That would be insanely helpful.

Is there anyone who has gotten this release to work with changes to chat window?

Last release of A-Bot working with chat changes

but that a-bot doesnt orbit when it gets into site

I dont remember, read that topic long time ago but here could be solution for that. You just need to add it to Combat.cs

			var speedMilli = bot?.MemoryMeasurementAtTime?.Value?.ShipUi?.SpeedMilli;
			// Object. They should be shown in overview. If you want orbit "collidable entity" replace the word "asteroid" with a word from the column type

			// if we not warp and our speed < 20 m/s then try orbit 30 km
			if (speedMilli < 2000)
			{
				var Broken = memoryMeasurement?.WindowOverview?.FirstOrDefault()?.ListView?.Entry
				  ?.Where(entry => entry?.Name?.RegexMatchSuccessIgnoreCase("broken") ?? false)
				  ?.OrderBy(entry => entry?.DistanceMax ?? int.MaxValue)
				  ?.ToArray();
				//var orbitKeyCode = (VirtualKeyCode)'W';
				var BrokenTarget = memoryMeasurement?.Target?.FirstOrDefault(target => target?.IsSelected ?? false);
				yield return Broken.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, "Orbit", "30 km");
			}

If i remember right that not working in last verions and you should parse it by yourself from LabelText.

aaaaaa its work for meā€¦ but if your speed is 0, even close to station, he enter in combat mode.

That code didnt work ā€¦ stated

yield return Broken.FirstOrDefault().ClickMenuEntryByRegexPattern(bot, ā€œOrbitā€, ā€œ30 kmā€);

takes 3 arguments

I had to fiddle with menu.cs ā€¦ and change my default warp to ā€¦ but seems to workish

yes, with 3 arguments and is work . you have to search on forum

Iā€™m more concerned with closing windowtelecom

you told about that in forumā€¦ and from your code it seems its work with both , 2 arguments and 3. I took that from repository git

hi, does anybody made it works? when I build an exe it keeps saying ā€œlocal chat window not foundā€ but obviously itā€™s there.
with original A-bot it is working, but of course it is not orbiting and stuffā€¦

thanks for help

You need to use last version of Sanderling library with fixed local detection.

well, iam definitely not visual studio type of guy ā€¦ bit of help would be highly appreciated :slight_smile:

for now, iā€™ve replaced /lib folder with new versions, but it does not looks like it did the trick, after build am ending with 17.05.03 version