Mining Script problem using a Venture

Ok, so far I did not find a path to determine the sort direction of the distance column. However, we can determine whether the sort icon is present on that column.

So we can combine this information with the distance values found in the entries: The idea is to click if the sort icon is not present or if more than half of the visible entries are not in the desired order.

Yes the sort icon is the way to go .

Is there not a way to detect if the sort icon is pointing up as that would be allot simpler than combining distance values ?.

Also If this miss click is being caused by a menu closing before a mouse click couldnt we just use the selected box above the overview to approach and lock instead of using menus?.

Is there not a way to detect if the sort icon is pointing up as that would be allot simpler than combining distance values ?.

Sure there are ways to detect this. This information has to be stored in memory some way or another. Then there is also the image processing approach. Which way are you thinking of being allot simpler?

Also If this miss click is being caused by a menu closing before a mouse click couldnt we just use the selected box above the overview to approach and lock instead of using menus?.

I guess approaching and locking should work this way too. I have not tried this approach. The buttons are in the WindowSelectedItemView in the Sprite property. I guess their TexturePath can be used to distinguish between the different actions.

Sure there are ways to detect this. This information has to be stored in memory some way or another. Then there is also the image processing approach. Which way are you thinking of being allot simpler?

I was hoping the icon would be stored in memory but I guess what ever uses least cpu would be best way.

These bugs are strange the bot seems to work perfectly at 1st and they always happen when im not looking .My computer is high end and is running an ssd so I assume everyone using the default bot script is having same bugs?.

My ultimate goal would be to have a bot that was 100% reliable maybe have gate mining feature so could roam systems and maybe some system to remove the need for bookmark making also some system to logon and off at a random time between 3-5 hours and a max of say 14 hours logged on a day.

Oh and low cpu usage is also important so could run it in vmware because 2 of these bots running ventures on alpha accounts could quite easily pay for a plex each month.

These bugs are strange the bot seems to work perfectly at 1st and they always happen when im not looking .My computer is high end and is running an ssd so I assume everyone using the default bot script is having same bugs?.

I just translated the thread below this one which answered this question I guess this bug is a common problem for all users of sanderling.I wonder what causes it because I have made macro in autohotkey before that never miss a click.

Also If this miss click is being caused by a menu closing before a mouse click

I do not see how this could be completely avoided as long as the menu is used. If the menu closes in between, there is always a risk to click on another UI element.

Regarding experience with mining scripts, you might want to ask Hacksaw as he has been using Sanderling for mining for quite some time. He certainly has more experience with this than I.

I wonder what causes it

In case you want to have the bot record some information at runtime, let me know.

what happen to the optim eve bot for non coders

I have found another massive problem with sanderling today.

In a vmware virtual machine eve with all graphics setting at low or disabled is using about 30% cpu and sanderling is using 70% and it wants more just there is no more availible.

When sanderling is using over 2 times more cpu than eve there must be somthing wrong with sanderling.

This is with the default miner by the way.

The problem with this is sanderlings cpu hogging is slowing down eve so much that sanderling cant work properly with eve.

Do you have any plans to optimise sanderling ?

I tested again without vmware and sanderling seems to be ok with cpu usasge so its just how sanderling works in vmware thats the problem.

Other people using eve in vmware say use tiny7 OS but I tryed that and u cannot install the .net version needed by sanderling in tiny 7 OS so again I am stuck.

I wish there was somone else actually active in this forum that was trying the same things because I am having so many different bugs and problems trying to get what I want working.

I might try to fix the old roidripper script I have as looking at it the code make so much more sense to me and it works in tiny 7  it is autohotkey which im ok with I dont understand c or the sanderling api very well at all.

I do not expect VMWare specific optimization anytime soon. However there is a possibility to optimize the memory reading in general, not sure when this will happen.

I wish there was somone else actually active in this forum that was trying the same things

Hacksaw is using Sanderling for mining for quite some time now. He also uses Sanderling in VM and shared his experience here on the forum.

Then there is also Master who has used the Sanderling based Optimat bot on VMWare. He also has experience with the programming side as he did parts of that for the mission running bot.

I might try to fix the old roidripper script I have as looking at it the code make so much more sense to me and it works in tiny 7  it is autohotkey which im ok with I dont understand c or the sanderling api very well at all.

If you see something that can be improved to make more sense, feel free to share with us.

Also, if you have any questions about the Sanderling API feel free to ask on the forum or on https://github.com/Arcitectus/Sanderling/issues

I got the script working better last night. I copyed the code from withouts script that re measures modules after stop because sometimes I was losing a module and it wasn’t coming back now it does. I also fixed the bug that was making the overview order random by removing the 4th overview column I tried removing 3rd and 4th but then Sanderling was reporting no roids so had to replace the 3rd column I also moved and resized the overview a bit. I hope this helps other people having problems.

1 Like

I had similar problems. VMWare doesn’t work for me even without Sanderling. Eve is so slow that mouse swipe over overview leads to slow wave of selection focus getting over it. My machine is not that modern though. I wonder if I need to upgrade what should I aim for first… CPU is not loaded… GPU usage by VMWare Player is limited, can it be the problem?..

Another problem touched in the thread - misclicks. I’ve never seen script clicking column headers. But I had other type of misclicks a lot, especially since I modified the script, so my Venture would always move (less damage from rats). It leads to frequent changes in overview and sometimes the lines there switch places. That’s when script can click wrong target. It may also happen and happens a lot when a rat is on approach and moves through overview up quickly. Scripts sometimes target asteroid instead of the rat. I tried several approaches to fix the problem and it seems that it finally works flawlessly. I guess there is three parts in the solution.
First, I changed locking so it’d use ctrl+click instead of menu and I put a pause between pressing “ctrl” and clicking. Eve client “locks” overview and doesn’t change the order of lines when keys (including ctrl) are held.
Second, sometimes order of lines can change after last measurement’s taken and before the lock. So, in my lock method I take id of target (or overview entry to be more specific) and traverse overview once more looking for that id (“ctrl” being held) which leads to another measurement and updates coordinates of entry.
Third, before trying to lock I check if there is something being locked in overview right now and if there is something I skip new locking.
Here is my lock method (covers first and second):

    void executeLock(IUIElement overviewEntry) {
        var id = overviewEntry?.Id;
        Sanderling.KeyDown(VirtualKeyCode.CONTROL);
        Host.Delay(1000); // lock overview distance
        var toLock = WindowOverview.ListView.Entry.Where(t => t.Id == id).FirstOrDefault();
        Sanderling.MouseClickLeft(toLock);
        Sanderling.KeyUp(VirtualKeyCode.CONTROL);
}
1 Like

Very nice approach, especially for making use of this:

A post was split to a new topic: Eve Online problems in VMWare

I have just discovered where the overview miss click was happening.It was not happening at the time of asteroid locking it was happening at undock.The undock function was clicking at the top of overview straight after undock for some reason.I changed this code with the undock code from Zorro`s script and now it does not click the overview .

So now hopefully thanks to help from using parts of Zorros mining script and the mining script of without the mining script of Diggler will not fail at reading tooltips because it keep trying till the amount of modules is equal to the amount you have added in the mining laser variable at top of script.
It will also not have any miss clicks making it totally reliable unlike the default mining script.

I will post the mining script of Diggler as soon as I know all these bugs are definitely gone and sanderlings reliability is better as I don’t want people contacting me with problems that are actually to do with sanderling and not my script.

1 Like

Now that I am writing fail safes into my code and also have a bit more understanding of sanderling I am able to explain the bugs with sanderling I have encountered in a little more detail and I am also seeing bugs I did not see before.

Bugs:

1.int? OreHoldFillPercent => (int?)((OreHoldCapacityMilli?.Used * 100) / OreHoldCapacityMilli?.Max);
gives the percentage value of ore in the ore hold but 2 times now this has started returning no value (null) which completely breaks the script as it thinks the ore hold is not open when it actually is open.
I have sent a memory measurement of the last time this happened.

SetModuleMiner?.Length gives the value of amount of mining lasers you have but it regularly goes wrong much more frequent than bug 1.When it goes wrong it does the same thing as bug 1 it completely loses its value.

When I am maxing my upload bandwidth sanderling starts having multiple errors even thou the connection to sanderlings license server still seems fine.My script just goes crazy making mistakes everywhere which must mean it’s loosing connection with sanderling in some way.This is very strange as you assured me no processing was done on sanderlings server so how could bandwidth be affecting sanderling performance?.

int? MiningRange => SetModuleMiner?.Select(module => module?.TooltipLast?.Value?.RangeOptimal ?? module?.TooltipLast?.Value?.RangeMax ?? module?.TooltipLast?.Value?.RangeWithin ?? 0)?.DefaultIfEmpty(0)?.Min();;
This gives you mining range from measuretooltips and last night it started reporting null like bug 1 and 2 strangely as the value was obtained in the same measuretooltips the modules were still OK and showing value of 2.

I don’t know what’s wrong with sanderling but something definitely is.
I have now written fail safes into my code for everyone of these bugs apart from the bandwidth bug but it is a shame to have to.
Also these bugs are probably scaring away potential users of sanderling.

All these bugs seem to be related and are to do with sanderlings api loosing values after it already has those values and also maybe related with communication to sanderlings server.

I would take lots of measurements and send them to you but my upload bandwidth is not very high and as the measurements are 400mb files it is just not practical for me to keep uploading them as it takes ages and affects other users on my network.
It’s a shame there is not an easier way to send you bug information .

asteroidOverviewEntryNextNotTargeted.DistanceMax

is returning a value 15000 when the asteroid is actually 14000 so for some reason sanderling is adding 1000.

its seems to be ok when returning distances of asteroids under 10000

I thought this was a bug but after some investigation I think DistanceMax is rounding it up.
If this is correct how do I get the exact value not rounded up or down ?.

i have problem .
.when rats attack me and shield drop to 50 (i set 50 second 25 emergency 15%)
he enter defence and right click on drones ,and after he right click rat and exit
and all over like that .once he drop drones and lock rat send drones kill rat .and he never pick drones
after 2h he stop in loop in station .he wasnt undock and he just right click to bm warp
what to do ?? i want that he drop drones kill return (default shortcut for it F and shift+r)
help

Can’t prove it now, had no enough time to play with it, but it seems that recent Eve update broke some overview related functionality in Sanderling.

I am having the same issue w/ the included mining script as original post.
I made a separate post about it in forums.