Hello, new improved build available. It’s still considered as beta, but tested intensively.
Feel free to drop me an private message if anything.
Best PQ
v.2.1.3b
// 18.08.2018
Added:
- new config for Dreadnought spawns, allow you to define if you are brave and want to save your drones and like a champ go to next site, or fuck them and warp to safe like litle girlie
- FrigatePriority fully tested and verified (set your drones to passive)
Changes:
- optimized emergency ewar check
- slightly changed Dread retrieval, which now should be few seconds faster (let's monitor that)
- completely rewamped configuration for better system performance
- removed faction wreck definition from config as obsolete
Fixes:
- random issue during drone refilling which might caused not closing info window
Just tried the new V 2.1.3b
errors out on startup I used old .config file
here is a clipboard save.
with leaves 0 s ago at 8:19:07 AM
---- Exception ----
System.NullReferenceException: Object reference not set to an instance of an object.
at Sanderling.ABot.Bot.Bot.d__75.MoveNext() in D:\Repos_NullException\src\Sanderling.ABot\Bot\Bot.cs:line 174
at Bib3.Extension.d__351.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext()
at Sanderling.ABot.EnumerableExtension.d__01.MoveNext() in D:\Repos\_NullException\src\Sanderling.ABot\EnumerableExtension.cs:line 12 at System.Linq.Buffer1…ctor(IEnumerable1 source) at System.Linq.OrderedEnumerable1.d__1.MoveNext()
at System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable1 source) at Sanderling.ABot.Bot.BotExtension.TakeSubsequenceWhileUnwantedInferenceRuledOut(IEnumerable1 listTaskPath) in D:\Repos_NullException\src\Sanderling.ABot\Bot\BotExtension.cs:line 47
at Sanderling.ABot.Bot.Bot.StepOutputListTaskPath() in D:\Repos_NullException\src\Sanderling.ABot\Bot\Bot.cs:line 81
at Sanderling.ABot.Bot.Bot.Step(BotStepInput input) in D:\Repos_NullException\src\Sanderling.ABot\Bot\Bot.cs:line 126
v.2.1.4
Added:
- tested release 2.1.3b
- more specific messages in case of some interaction needed
Changes:
- added more specific naming for Towers/Sentries as some of them colided with NPC names
Fixes:
- when droneWindow is not recognized, you will be informed and so you can restart EVE
Trial key and download link are valid for today only: trialKEYxzQ2ssqAq1O
PM me for own key if interested.
At the end of summer holidays and on first September we do have new release to unleash!
This is quite big update with a lot of stuff, been intensively tested past days and seems to be running flawlessly.
So here we go:
v.2.2
// 01.09.2018
Added:
- Target Painting targets if your ship is equipped with it
- Cruise Missile Launcher and Vestment reconstructers are now recognized (no need to have them in AlwaysOnModules)
- Drone control range variable added to config. So He will not force drones to attack targets which are further then drone reach
- Few more messages for you to know if anything important is happening.
- Statistics for sites,neuts,escalation,time etc. can be toggled on/off via config
- "Humanizer" :) - set of functions to act more randomly, will be extended in next releases indeed!, on/off via config
- - Min-Max Runtime can be defined after which there will cooldown occur.
- - Variable timespan of cooldown after runtime was exceeded -> he will dock and wait given timespan
- - Variable timespan of cooldown after flexible amount of sites finished -> he will dock and wait given timespan
- - Variable timespan when or if to quit EVE before downtime.
- - Dock + Wait when no suitable anomalies are found in current system.
- - after each timers/counts are updated and next cooldown will occur at different timespan and for different timeperiod than before
Changes:
- improved readings of optimal/max ranges for painters/weapons/missiles
- redesigned variables names/types to be more descriptive and managable, new approach to time/percentual intervals (see new config example!!!!)
- completely got rid of non-standard keyboard shorcuts, now we are working only with game defaults (reset your shortcuts to defaults! - MANDATORY)
- completely rewritten Blue pilots detection for maximum accurancy
- some readings which leads to non-emergency retreat (like lost drones) are now compared with two following memory readings to avoid unwanted errors in readings
- polished Dreadnought spawns safe procedure from v.2.1.3b
- poilshed Frigate priority switch from v.2.1.3b
- better check for Align and several variables are now added into the memory reading instead of parsing them during bot run
- memory reading now reliably reads unknown modules in slightly optimized way
Fixes:
- He should not be stucked on InfoPanel submenu after undocking when undock took longer than usual
- whole bunch of nullexceptions there and there are now fixed
- no more lurking on Havens with Save Location, He will start Orbit (if allowed) and wait till rats spawns.
- no more false Retreat while launching drones.
- overall reliability improved
Mate, I got the A-BOT and added some functions reading the topics here from the forum, I’m not aware of programming but I’m trying hard and I’ve already been able to do a lot of implementation in BOT so that it works the way that works for me.
The only implementation that I could not add was for him to jump to the next anomaly if I enter is already occupied by an ally.
I’ve tried countless times and asked several other users here in the forum, but so far I have not been able to get this feature to work.
if (bot?.OwnAnomaly != true) // MEU
{
if (listOverviewEntryFriends.Length > 0)
{
yield return bot.SkipAnomaly(memoryMeasurement);
yield return new AnomalyEnter { bot = bot };
}
else
{
bot?.SetOwnAnomaly(true);
}
}
module.cs
public class SkipAnomalyF : IBotTask
{
public Sanderling.Parse.IMemoryMeasurement MemoryMeasurement;
public IEnumerable<IBotTask> Component => null;
public static bool ActuallyAnomaly(Interface.MemoryStruct.IListEntry scanResult) =>
scanResult?.CellValueFromColumnHeader("Distance")?.RegexMatchSuccessIgnoreCase("km") ?? false;
public static bool AnomalySuitableGeneral(Interface.MemoryStruct.IListEntry scanResult) =>
scanResult?.CellValueFromColumnHeader("Group")?.RegexMatchSuccessIgnoreCase("combat") ?? false;
public IEnumerable<MotionParam> Effects
{
get
{
//var altKey = VirtualKeyCode.MENU;
var pKey = VirtualKeyCode.VK_A;
//yield return altKey.KeyDown();
yield return pKey.KeyDown();
//yield return altKey.KeyUp();
yield return pKey.KeyUp();
//yield return altKey.KeyDown();
yield return pKey.KeyDown();
//yield return altKey.KeyUp();
yield return pKey.KeyUp();
var probeScannerWindow = MemoryMeasurement?.WindowProbeScanner?.FirstOrDefault();
var scanActuallyAnomaly =
probeScannerWindow?.ScanResultView?.Entry?.FirstOrDefault(ActuallyAnomaly);
if (null != scanActuallyAnomaly)
{
var menuResult = MemoryMeasurement?.Menu?.ToList();
if (null == menuResult)
{
yield return scanActuallyAnomaly.MouseClick(MouseButtonIdEnum.Right);
}
else
{
menuResult = MemoryMeasurement?.Menu?.ToList();
var menuResultToUse = menuResult[0].Entry?.ToList();
if (menuResultToUse[2].Text == "Ignore Result")
{
yield return menuResultToUse[2].MouseClick(MouseButtonIdEnum.Left);
}
}
}
}
}
}
}
What happens is that when I enter an anomaly that already has an alido, my BOT does nothing, it follows normally, instead of jumping to the next anomaly.
My friend, I made changes to the code and tested it, however, when it enters an anomaly that is already being executed by an ally, it opens and closes the anomalies window, but it does not ignore the first one (which I am currently) and does not move to the next, simply stands still on the system by opening and closing the window.
My codes are as follows.
combat.cs
if (listOverviewEntryFriends.Count() == 0)
{
bot?.SetOwnAnomaly(true);
}
else
{
var probeScannerWindow = memoryMeasurement?.WindowProbeScanner?.FirstOrDefault();
var scanActualAnomaly = probeScannerWindow?.ScanResultView?.Entry?.FirstOrDefault(ActualAnomaly);
if (null == scanActualAnomaly && bot?.AnomSkip != true)
{
yield return new ReloadAnomalies();
}
else if (null != scanActualAnomaly && bot?.AnomSkip != true)
{
yield return new SkipAnomaly { bot = bot };
bot?.SetAnomSkip(true);
}
else if (null != scanActualAnomaly && bot?.AnomSkip == true)
{
yield return new SkipAnomaly { bot = bot };
bot?.SetAnomSkip(true);
}
else if (null == scanActualAnomaly && bot?.AnomSkip == true)
{
yield return new AnomalyEnter { bot = bot };
}
}
}
modules.cs
public class SkipAnomaly : IBotTask
{
public Bot bot;
static public bool ActualAnomaly(Interface.MemoryStruct.IListEntry scanResult) => scanResult?.CellValueFromColumnHeader("Distance")?.RegexMatchSuccessIgnoreCase("km|m") ?? false;
public IEnumerable<IBotTask> Component
{
get
{
var memoryMeasurementAtTime = bot?.MemoryMeasurementAtTime;
var memoryMeasurement = memoryMeasurementAtTime?.Value;
var probeScannerWindow = memoryMeasurement?.WindowProbeScanner?.FirstOrDefault();
var scanActualAnomaly = probeScannerWindow?.ScanResultView?.Entry?.FirstOrDefault(ActualAnomaly);
if (null != scanActualAnomaly)
{
yield return scanActualAnomaly.ClickMenuEntryByRegexPattern(bot, "Ignore Result");
}
else
{
yield break;
}
}
}
public IEnumerable<MotionParam> Effects => null;
}
public class ReloadAnomalies : IBotTask
{
public IEnumerable<IBotTask> Component => null;
public IEnumerable<MotionParam> Effects
{
get
{
var pKey = VirtualKeyCode.VK_A;
yield return pKey.KeyDown();
yield return pKey.KeyUp();
}
}
}
bot.cs
public bool OwnAnomaly { private set; get; }
public bool AnomSkip { private set; get; }
public void SetOwnAnomaly ( bool value )
{
OwnAnomaly = value;
}
public void SetAnomSkip ( bool value )
{
AnomSkip = value;
}
Hello everyone, another update available + 1d trial included
Introducing bot cooperation mode and tractor beams for convenient - not bouncing - officer looting
v.2.2.2
// 13.09.2018
Added:
- Pilot cooperation. Cooperation mode with other Alts/Bots/players can be toggled from now on.
- - Definition of pilot names via config, which will be considered as non-warp-off reasons when landing on site with them (your bot will start combat at site together with those names already on site)
- - Be careful tho, more ships on grid, bigger chance to have Dread spawn ;)
- Added support for Tractor Beams as bouncing in Rock Heavens suxx! Now He will stop before rock, pull wreck with beam, loot and continue to next site :)
Updated:
- officer wrecks naming updated
- slightly updated loot procedure to be more accurate and quicker
- updated counting of loot/escalations etc. to be more accurate
- switched to the new more reliable hosting provider