Questions about A-Bot from TheChosenOne

With which commit of A-Bot do you see that problem?

Latest release

Ok, I see the download for this release at https://github.com/botengine-de/A-Bot/releases/download/v17.05.03/17.05.03.Sanderling.ABot.exe

What error you are seeing with that version?

CS1061 C# does not contain a definition for and no extension method accepting a first argument of type could be found (are you missing a using directive or an assembly reference?)

Ok, this looks more like a compilation error.

Looking at the history of the repository, I see that there were bug fixes on the main branch since the release
v17.05.03
you linked too.

Since you are compiling from source code, I suggest using the latest version from the main branch to integrate those bugfixes.
You can find that latest version at
https://github.com/botengine-de/A-Bot/commit/f17f3c36ffb73380e3e3a83ad4c99e83c24b1785

I just cant make the A-Bot work with the Sanderling-adapt-memory-reading update. I guess i just dont have enough knowledge. How am I suppost to include the update into the latest version of the A-Bot?

At least, the assemblies consumed by the A-Bot build need to be replaced by the ones produced in the Sanderling build. They need to go into the directory modeled at https://github.com/botengine-de/A-Bot/tree/master/lib

Because of how the assemblies are referenced in the A-Bot source, I think it makes sense for me to do this myself. I will update A-Bot when the memory reading changes have been included into the Sanderling main branch.

If we do not see any problems with the resulting version of A-Bot, that will be sufficient.

Thanks for the fast reply! When I update the A-Bot lib with the assamblies from the new memorie update i get the following problems

thats german sry i will work on a translation

  1. Its missing System.Runtime.CompilerServices.TupleElementNamesAttribute
  2. System.ValueTuble´2 is not defined or imported
  3. The Namespace MainWindow was not found

I recognize the first two error messages. Those both mean that in addition to the change described earlier, we will also need to add an assembly reference to the A-Bot project in which those error messages appear.
I am looking into the changes in Sanderling and find the addition of references to the package System.ValueTuple version 4.4.0 in the commit at
Make It Easier To Start With Automation · Arcitectus/Sanderling@3067560 · GitHub

When working on Sanderling, I used the function Manage NuGet Packages in Visual Studio 2017 on the C# projects to add this reference to System.ValueTuple.

So my plan is to do the same again when updating A-Bot and then see if that is enough.

About the third error you posted: That might be caused by missing reference to System.ValueTuple, so I would test if that one remains after fixing the other two.

Okey I will see what I can do. Let me know if you got a solution working. I will do the same :slight_smile:

@Viir can i somehow change the region of interaction?
Im trying to emulate mouseclick with

MotionParamExtension.MouseClick()

But its taking IUIElement as destination. For example, Region have

Min0 475
Min1 500
Max0 500
Max1 800

But i need Max0 485 and Max1 530. These parameters are read only. Is it possible to cut it off? Or maybe create virtual rectangle to click on?

To replace the region of interaction, you can use the method from this post: Click on specific/smaller region (maxX-10) - #4 by Viir

1 Like

Hey Viir!
You found a solution :)? I tryed what I could but i guess my knowledge is just not enough to fully understand how to fix it.

Yes, I posted a solution at Use Version 2018-03-24 Of Sanderling Memory Reading · botengine-de/A-Bot@2658cdf · GitHub

You are a champ! The programm does not thow any problems anymore when debugging but he does not finish the “last measurement” which is needed to start the bot. If there is something i can do to help you to solve this problem let me know!

If i get it right i can make a whole new region to click with something like

MouseClickWithRegionSubstituted(UIElement,
		RectInt.FromMinPointAndMaxPoint(
			new Vektor2DInt (111,222), new Vektor2DInt(333, 444)),
		BotEngine.Motor.MouseButtonIdEnum.Left);

Yes?
By the way, speed indication is not working. Could it be memory reading problem?
memoryMeasurement?.ShipUi?.SpeedMilli - always null even if
memoryMeasurement?.ShipUi?.SpeedLabel have text “3600 m/s” or any other numbers.
I can parse it by myself but i though if there is such parameter in memorymeasurement it should provide something :slight_smile:

Yes.

In this case, the solution is to switch your reading to use the parsed version of the memory measurement.

For the speed indication, this is MemoryMeasurementParsed?.Value?.ShipUi?.SpeedMilli.

If you are running this with the Visual Studio debugger attached, you could show the content of the Visual Studio output window here.
Maybe the debug output contains a hint about what causes the problem on your system.

This is what i get in the debugger.
It basically says PDB-Data not found or could not be opened.
Anyhow i dont think thats the problem. Ive send u a textfile with the complete output to your email. Ive looked though it but to me it doesnt seem to show any errors.

@Anonymous0012
The thread at No Green Checkmark - #3 by TheChosenOne seems to be better targeted for the problem you describe. I suggest you share your environment there to compare it to the working setup.