Gift Anomaly Ratting salvAGE Bot with Sanderling - GARBAGE-2 and measuring his efficiency

You keep accusing me of not reading enough but your broken English makes steps hard to follow, god forbid I ask for some clarification that your ego gets so wounded you gotta start being all defensive.

1 Like

no man I just answered in the midnight and that why I sent you at already posted news and added features.
I will extend my answer then, at each point with my broken english:

did you see there system name? no .
but you see the system at lines arround 241 :slight_smile:

currentLocationName = currentLocationName.Remove(currentLocationName.IndexOf(" "));
Host.Log("               System :  " +currentLocationName+ " ");

you can see the current system have another name.
More than that:

you see what I wrote? Is not clear enough? you can have station “alabala” from char1 in system x and station “galathea” in system y for char 2. Adding them both, you can use the same script without any changes in system x and in system y , for char 1 and for char 2 and you have:
string StationHomeName = “alabala|galathea”;
but that you could already understand if you used old versions or any other script and read the forum.

is the ship name . you prefer “shittyrattingship” or “£¤^$” or shipname=“shipname”?? Maybe this was more english… maybe. More than that, the script is made using vexor and for vexor. maybe is more understandable to put :slight_smile: this script is made for vexor BUT I name my ship ISHTAR. again, maybe this is more English and more understandable .
Again, if you read the forum, this misunderstanding was avoided.

answer:

This is not English??
ok, next:

answer:
is not clear that?

Also in the related version is stated clear:

Dictionary<string,string> region=new Dictionary<string,string>();
region.Add("Delve", "blood");
region.Add("Fountain", "serpentis");
region.Add("Blind", "guristas");

region.TryGetValue(CurrentRegion,out AutoNpcFaction);

I dont see anywhere

but I see the faction spawn here, at line 122:

string commanderNameWreck = "Commander|Dark Blood|true|Shadow Serpentis|Dread Gurista|Domination Saint|Gurista Distributor|Sentient|Overseer|Spearhead|Dread Guristas|Estamel|Vepas|Thon|Kaikka|True Sansha|Chelm|Vizan|Selynne|Brokara|Dark Blood|Draclira|Ahremen|Raysere|Tairei|Cormack|Setele|Tuvan|Brynn|Domination|Tobias|Gotan|Hakim|Mizuro";

How you can see , it is the name of commander name wreck. is not self explainatory? like ship name ? or menustations = stations from menu ( and add at that => menustation.add?)
So :

what it could be if I already have blood there? region … because I already have the npc faction “blood”

answer:
in Gift Anomaly Ratting salvAGE Bot with Sanderling - GARBAGE-2 and measuring his efficiency
right at the end , in the preview with the source is stated clear:

Warning!!: When the bot starts AND when the ship enter in station or it measure your wallet; DO NOT TOUCH THE MOUSE!! or you will take crash

hmmm… maybe I write in russian, or other language

Ok, sorry I sent you , in the midle of the night to read the forum, to read the script and older versions…
And sorry I didn’t create a script or bot completely automatic for lazy peoples.
About my broken english, next time I will ask you for an translator ( 500£ /min , promo for your majesty)

Because the limit file-size of a script I will add some usefull snipets here.
The snipets are based on Garbage script.
if you want to work in fleet, one char to rat, and the second one to do the salvage at the end, firstly create the fleet in-game.
to identify the chars, you have this snipet:

string FleetMate = "char1|char2|char3"; // only the first name of char
var MoiWarpToLeader = false;// if the char0( the actual one) will warp at  one of chars

//detecting the fleet chars (I use fleet with 2 members)
//Practically you look on local chat if there is a char with the fleet flag  and the same char have the name FleetMate
var FleetCharFlag = chatLocal?.ParticipantView?.Entry?.Where(fleetmember =>(fleetmember?.FlagIcon?.FirstOrDefault()?.HintText?.RegexMatchSuccessIgnoreCase("Pilot is in your fleet") ?? false) &&(fleetmember?.NameLabel?.Text?.RegexMatchSuccessIgnoreCase(FleetMate) ?? false));

//Create an array is you have at least one fleet mate; if you have an error on this line, simply replace ToArrayIfNotEmpty() with ToArray()
var FleetCharFlagList = FleetCharFlag.ToArrayIfNotEmpty();

//checking his name and log , to see if is ok
string fleetmember = FleetCharFlagList?.FirstOrDefault()?.NameLabel.Text;
if (!FleetCharFlagList.IsNullOrEmpty())
 Host.Log( "Fleet mate    :    "                                                                +fleetmember+ "");
//we create a void to take warp on him; there is no need for void, since the command to ake warp is only 2 lines, but is easier to add and identify into script 
void TakeWarpToFleetMate ()

{
    if (MoiWarpToLeader)

ClickMenuEntryOnPatternMenuRoot(FleetCharFlag?.FirstOrDefault(), "Fleet", "warp");

}

//On Garbagescript, where you take warp to anomalies or to return the old sites
you add( you have to adapt a little, on take anomaly you put on body, not inside of "if oldsiteexist ...")
 if (!FleetCharFlagList.IsNullOrEmpty()) 
    {
TakeWarpToFleetMate ();
    Host.Log("               warp to mate fleet");


    } 
    else
        ReturnToOldSite ();  

I am retarded when it comes to set overview columns and settings, could you go in further detail what should i be allowing in my combat and wreckage tab

I understand stuff like wrecks, but not collidables thats where i get confused are they planets only and stations?

Thank you in advance and amazing work

is simply:
go in capsule to an forsaken hub. ( so you are not targeted/killed by npc)
press your tab “combat” ( for example)
in the upper left corner where you have the 4 orizontal lines click righ, and click on " show all brackets"

after that look around your ship, you will see 3 rocks.
right click on one of them, select add to overview.

you can see them on overview now

right click on your tab, select save ( and he ask you if you ant to save, click ok)

2 Likes

Can do, another question i know c# can i help to improve the script if possible and to add options and stuff?

thanks for your amazing work, appreciated

1 Like

sure. also you can do on git an account and publish your work here

1 Like

Hey, just tried to start the bot and it says it failed to execute the next statement. line 121
string commanderNameWreck = “Commander|Dark Blood|true|Shadow Serpentis|Dread Gurista|Domination Saint|Gurista Distributor|Sentient|Overseer|Spearhead|Dread Guristas|Estamel|Vepas|Thon|Kaikka|True Sansha|Chelm|Vizan|Selynne|Brokara|Dark Blood|Draclira|Ahremen|Raysere|Tairei|Cormack|Setele|Tuvan|Brynn|Domination|Tobias|Gotan|Hakim|Mizuro”;
it says the name “commanderNameWreck” does not exist in the current context
what do i do? i have next to no coding knowldege

since the line 121 is a line where you declare some variables, it seems for me that somewhere between lines 1-120 you changed something, and miss a " or ; ( usual is like that)
for the start you have to know, the latest versions of garbage doesnt have any guide with indications, so I suggest you use an early version ( like that )
or if you surf on my git, take the versions before 3 nov 2018
in time, read, the Ratting bot: anomaly and/or asteroids with Sanderling - #44 by kaboonus post to find how you have to adapt the overview and in same topic you find how you could change values inside.

1 Like

hey thanks for your reply, but no matter what version i use it seems to always fail to execute the “commanderNameWreck” line. says something is wrong with the key in the error message?

can you post the log( the exception and the logs from before)?

1 Like

I stuck at line 71. Maybe you can help me.

|12-37-19|71||RuntimeException: System.AggregateException: Mindestens ein Fehler ist aufgetreten. —> System.AggregateException: Mindestens ein Fehler ist aufgetreten. —> System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
bei System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) bei Submission#0.&lt;&lt;Initialize&gt;&gt;d__0.MoveNext() --- Ende der Stapel&#252;berwachung vom vorhergehenden Ort, an dem die Ausnahme ausgel&#246;st wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.&lt;RunSubmissionsAsync&gt;d__91.MoveNext()
— Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde —
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.Script1.&lt;RunSubmissionsAsync&gt;d__21.MoveNext() --- Ende der internen Ausnahmestapel&#252;berwachung --- bei System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)
bei BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_1.<Start>b__3()
bei System.Threading.Tasks.Task1.InnerInvoke() bei System.Threading.Tasks.Task.Execute() --- Ende der internen Ausnahmestapel&#252;berwachung --- bei System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) bei System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) bei System.Threading.Tasks.Task.Wait() bei BotSharp.ScriptRun.ScriptRun.&lt;&gt;c__DisplayClass75_0.&lt;Start&gt;b__4() ---&gt; (Interne Ausnahme #0) System.AggregateException: Mindestens ein Fehler ist aufgetreten. ---&gt; System.ArgumentException: Ein Element mit dem gleichen Schl&#252;ssel wurde bereits hinzugef&#252;gt. bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) bei System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)
bei Submission#0.<<Initialize>>d__0.MoveNext()
— Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde —
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__91.MoveNext() --- Ende der Stapel&#252;berwachung vom vorhergehenden Ort, an dem die Ausnahme ausgel&#246;st wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei Microsoft.CodeAnalysis.Scripting.Script1.<RunSubmissionsAsync>d__21.MoveNext()
— Ende der internen Ausnahmestapelüberwachung —
bei System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) bei BotSharp.ScriptRun.ScriptRun.&lt;&gt;c__DisplayClass75_1.&lt;Start&gt;b__3() bei System.Threading.Tasks.Task1.InnerInvoke()
bei System.Threading.Tasks.Task.Execute()
—> (Interne Ausnahme #0) System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
bei System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) bei Submission#0.&lt;&lt;Initialize&gt;&gt;d__0.MoveNext() --- Ende der Stapel&#252;berwachung vom vorhergehenden Ort, an dem die Ausnahme ausgel&#246;st wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.&lt;RunSubmissionsAsync&gt;d__91.MoveNext()
— Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde —
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Microsoft.CodeAnalysis.Scripting.Script`1.<RunSubmissionsAsync>d__21.MoveNext()<—

<—

looking now, wait :slight_smile:
ok, so is a dictionary:

string IntelChannelName;

Dictionary&lt;string,string&gt; IntelFor=new Dictionary&lt;string,string&gt;();

IntelFor.Add("xxx", "your intel channel");

IntelFor.Add("xxx", "");

IntelFor.Add("xxx", "");

if you bot on multiples region and with more than one bot, you can fill in like:
xxx in this case is the region
IntelFor.Add("Cloud ", “Cloud intel channel”);

is a feature a little strange, it give only audio alarm , if somebody come in connected systems.
if you have an intel channel and somebody else give alarm.
the last version of script is more like an ultimate added features, is not necessary a "get and use " script, it need tweaks.
a more usable version is the one from 3nov ( look on commits on git)
honestly for personal use I droped most of features :d since I do not need them

2 Likes

Thx for fast response.
In the version from 3nov i stuck on line 42
string CharName =firstname.Remove(firstname.IndexOf(NAME)).ToLower();// Your char name. The bot will create a filename with this name, into executable sanderling folder
Fileld in my Pilots name and it stucks

I have added for you a second branch .(my perso version) it do only rats and it take only commander loot. it doesn’t salvage at all

1 Like

I will try it now :slight_smile: Thx

1 Like

you do not need to fill in the pilots name. it will take by himself the name.
anyway i added a branch almost get to go/ you need to:
string StationHomeName = “abcd|efgh|rdgt”; . the name of the citadel ( it have to be in overview)
if the lname is
“my gorgeous citadel”
you can put only " gorgeous"
if you have more station in different system you use like that:
abcd - station from 1 system
efgh - station from 2 system
rdgt -station from 3 system

var MaxRatsCount = 8; – you can change at 10 or 25 , depend of your char if is alpha … better to be 8

string ShipName = “!Vexor|Vexor”;

the name of ship . I have put !vexor or vexor.

string WarpToAnomalyDistance = “Within 30 km”; better change at 50 because some celestials are at less than 30km and the orbit it take the celestial at more than 30 km so it will be
string WarpToAnomalyDistance = “Within 50 km”;

it make arround 4-600 m /day, it use painter ( to draw aggro on you) and/or rash jammer ( be care because you could not dock in station)
sometimes it hunt 23h like a charm, sometimes it take a crash ( not often) when he dock … but since now I do not have time at all to tweak, i use him like that :d

1 Like

Stuck at line 43
var MenuStations =Measurement?.Menu?.LastOrDefault()?.Entry?.Select(menuEntry => menuEntry.Text)
?.ToList();

can you post the log? and if your mouse it hover in stargate entry’s and after
( you have to have on screen the system infos, the button like a start)
sys
**
later:
deleted the lines ( remains from old script and i do not use the intel)

just cloed all and startet eve and Sanderling again. Now he start the first aktions and warped in a anomaly :slight_smile:
why the Afterburner dont start. Do he run in correct orbit first?

Need to go to lunch and continue testing after lunch :slight_smile: