MARVEL script, ratting at a new level

Thank you! That helped!
my bad -_-

lols, there is no problem man.
have fun and happy botting

Just pulled the latest version from github, went through and filled out the config portion. then decided to give it a whirl.

then i got this.
03-18-35.253: RuntimeException: System.Exception: compilation error: (234,116): error CS0103: The name ‘MaxRatsOnGrid’ does not exist in the current context
at BotSharp.ScriptRun.ScriptRun.Start(IScriptRunClient client, Task1 compilationTask, Func2 prepareBotForOperationService, Boolean pausing, Func`2 callbackBreakpointInitialEnabled)

double checking my config and looking for anything i might have missed.

2 Likes

is fixed. The variable was declared early in my own script ( before adding my chars names) and to avoid to give my chars names on public, I forget to add maxratsongrid on header of script, with anonyms names.
Thy for your feedback

1 Like

Hey! I’m new here and I’m sorry, I’m Brazilian and I’m using Google Translate.

I downloaded the bot but what I do when I get this message: moving a drone to his folder.
It’s all there and nothing else happens.

and also be care at naming your drones ( lines 56-57) : change at your need :

faction.Add("Delve", "Imperial Navy Praetor"); 
faction.Add("Fountain", "Caldari navy vespa");

OMG! I’ll kill myself.

Image Error

13-18-11.851: Bot operation started in session aa6e94578282eef7.
13-18-12.237: Gathering and processing some info to be used later
13-18-14.358: RuntimeException: System.AggregateException: Um ou mais erros. —> System.AggregateException: Um ou mais erros. —> System.ArgumentException: Já foi adicionado um item com a mesma chave.
em System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
em System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) em Submission#0.<<Initialize>>d__0.MoveNext() --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada --- em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) em Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__91.MoveNext()
— Fim do rastreamento de pilha do local anterior onde a exceção foi gerada —
em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Microsoft.CodeAnalysis.Scripting.Script1.<RunSubmissionsAsync>d__21.MoveNext() --- Fim do rastreamento de pilha de exceções internas --- em System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification)
em BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_1.b__3()
em System.Threading.Tasks.Task1.InnerInvoke() em System.Threading.Tasks.Task.Execute() --- Fim do rastreamento de pilha de exceções internas --- em System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) em System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) em System.Threading.Tasks.Task.Wait() em BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_0.<Start>b__4() ---> (Exceção Interna N° 0) System.AggregateException: Um ou mais erros. ---> System.ArgumentException: Já foi adicionado um item com a mesma chave. em System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) em System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)
em Submission#0.<>d__0.MoveNext()
— Fim do rastreamento de pilha do local anterior onde a exceção foi gerada —
em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.d__91.MoveNext() --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada --- em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) em Microsoft.CodeAnalysis.Scripting.Script1.d__21.MoveNext()
— Fim do rastreamento de pilha de exceções internas —
em System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) em BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_1.<Start>b__3() em System.Threading.Tasks.Task1.InnerInvoke()
em System.Threading.Tasks.Task.Execute()
—> (Exceção Interna N° 0) System.ArgumentException: Já foi adicionado um item com a mesma chave.
em System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
em System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) em Submission#0.<<Initialize>>d__0.MoveNext() --- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada --- em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) em Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__91.MoveNext()
— Fim do rastreamento de pilha do local anterior onde a exceção foi gerada —
em System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em Microsoft.CodeAnalysis.Scripting.Script`1.d__21.MoveNext()<—
<—

13-18-14.358: status transition from None to Failed.

In the screenshot you posted, I also see this code:

[...]

Dictionary<string,string> faction=new Dictionary<string,string>();
faction.Add("Delve", "Imperial Navy Praetor");
faction.Add("Delve", "Gecko");

[...]

This crashes the script, because of the weird API of the Dictionary type in the .NET framework.

The crash can be avoided by using the indexer instead of the Add method. The code then looks as follows:

Dictionary<string,string> faction=new Dictionary<string,string>();
faction["Delve"] = "Imperial Navy Praetor";
faction["Delve"] = "Gecko";

Note that the first one with Imperial Navy Praetor is ineffective because it is replaced with Gecko anyway. The Dictionary only allows one entry per key.

These crashes are one of the reasons I plan to improve on the static analysis of scripts.

1 Like

you cannot have for same region more than one drone name.

I did’t know that and also for me is working daily ( still, one drone name/region)
But good to know, I fixed already on git

Unfortunately, still the same error.
Even though I have changed:

image

you read you cannot have for same region more than one drone names?
you must have or imperial drones or gecko.

faction["Delve"] = "Imperial Navy Praetor";
// faction["Delve"] = "Gecko";

or you could delete the entire snipet if you use more than one type of drones/region ( is used for refill with drones and move drones on folder)

Even with only one drone per region, the error still continues.

image

1 Like

from what I see in your screensot, you have declared:
errrrrr
in original script ( from git) it was:

string LabelNameAttackDrones;

that means it is only declared, there is no need to fill with his value

string LabelNameAttackDrones = "heavy";

Heavy on original it was on folder name:

var CombatDronesFolder = "heavy";

not on name of drones.
The names for drones it is take from dictionary, only one drone name/region . and is useful if you use different chars on different regions. But if you want them named directly, you have to delete the lines 55;56;57 from screenshot :
(look how it is on git:)
capp
So in the end you mixted the variables, you named drones “heavy” and after that you take the name from dictionary. so is nothing strange to take crash after crash.
I suggest you to re-read my wiki topic.

2 Likes

Finally I got it !!! Thanks for the help and the quick support. I would like to know, if you have how to configure the attack priority of the rats, for example: Frigates> Cruisers> BattleShips> Etc … Currently I do not understand exactly how it determines the priority of the targets.

2 Likes

Another important thing to note, as soon as we arrive at the anomaly all the rats focus on us, however, as soon as we launch the drones they change the target and start attacking the drone … It would be interesting a system to monitor the life of the drones.

1 Like

Up to now I use 2 types of selecting priority and is always after the generic name of rats.

  1. I use 2 lists , one for frigates , and the second for the rest. somehow I organized in function of wave, by the generic name of rats . … and a third list for ewar. this way all are separated and is really simple to manage them.
  2. is in tests, is a way developed with the help of Viir for asteroids ( mining script). Practically I group the rats after the name. Is working, really simple to code, but it take some time ( latence) for grouping and sometimes this is not so good for retreat( even .5sec it counts for retreat). And sometimes there is an error , until the list is repopulated with the next group match in list
    this two ways manage the lists in overview. from here is simple enough because you take the closer to you or ewar.
    there is another way ( in dev, but honestly is not so brilliant): to transform/group ( into sanderling) the rats , and put a sticker like " frigates"/destroyers etc.; so after the ship type.
    the problem is with ewar , in this approach, also on Hs there is a big problem because some ships are out-classed and a tinny rats is come near you and hit you hard or it stays further and you run for them. This in an cluster with 30 ships, 15 really fast and hard to hit, could be fatal. More than that, there are some rats who doesnt fit to a group ( new generation of ships)
    anyway, this is an option; and you have to manage the targeting and priority in targeted list, where you have only the name and the distance.

this is a problem of game; on old versions of my scripts I coded to monitor the drones. the thing is you lose a lot of time monitoring them( and resources). Best way to avoid aggressing the drones, is to eject from ship ( you go back on station) and board after 1 min. From bot, you could use safely a painter. this will aggress you 99.99% , and is included on script. ( I use a painter on all my vni and more than that it is useful against of frigates, because it increase their signature)
Honestly, I lose 1 ship /month and only then I lose my drones; and this because sometimes it happens a red is coming in the system and i am scrambled y 4-5 rats.
The most important thing is to not abuse of botting; fix the session timer ( hoursToSession) at 4-5 hours., use rdp to bot in same time when you do other things on computer; and play like usual in the rest of time. this way you are not catched :wink:
At max, with an vni you do like 700m/24h ( no salvager, no salvage drones) and you can touch 1b/day with salvagers. using drones is not so fast, but is funny because you can salvage ( do something, not on marked on map -green anomalies) when there is a big traffic in your system.
Usually when is traffic, I hide my mtu into another ship ( so is not found in items hangar) and I let drones salvagers; the script it passing by himself at using the drones.
anyway, 1b / day is not nothing, ( you could divide the time between 4-5 alphas to be safe) for a poor vni, even with the new prices of plex

3 Likes

Hi, I have two issues, one being I never seem to be able to recover my drones since the bot just spams shift+R nonstop. Another error I get is the bot says I’m missing sound files, but I keep my in-game audio off? How do I fix these?

02-22-59.508: I do not forget my Vipers here
02-23-00.488: I do not forget my Vipers here
02-23-01.474: I do not forget my Vipers here
02-23-02.497: I do not forget my Vipers here
02-23-03.486: I do not forget my Vipers here
02-23-04.519: I do not forget my Vipers here
02-23-05.497: I do not forget my Vipers here
02-23-06.528: I do not forget my Vipers here
02-23-07.505: I do not forget my Vipers here
02-23-08.534: I do not forget my Vipers here
02-23-09.561: I do not forget my Vipers here
02-23-10.542: I do not forget my Vipers here
02-23-11.567: I do not forget my Vipers here
02-23-12.550: I do not forget my Vipers here
02-23-13.546: I do not forget my Vipers here
02-23-14.540: I do not forget my Vipers here
02-23-15.570: I do not forget my Vipers here
02-23-16.553: I do not forget my Vipers here
02-23-17.577: I do not forget my Vipers here
02-23-18.561: I do not forget my Vipers here
02-23-19.546: I do not forget my Vipers here
02-23-20.531: I do not forget my Vipers here
02-23-21.528: I do not forget my Vipers here
02-23-22.560: I do not forget my Vipers here
02-23-23.558: RuntimeException: System.AggregateException: One or more errors occurred. —> System.AggregateException: One or more errors occurred. —> System.IO.FileNotFoundException: Please be sure a sound file exists at the specified location.
at System.Media.SoundPlayer.ValidateSoundFile(String fileName)
at System.Media.SoundPlayer.LoadAndPlay(Int32 flags)
at Submission#0.DefenseStep()
at Submission#0.<>d__0.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.d__91.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Scripting.Script1.d__21.MoveNext()
— End of inner exception stack trace —
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_1.<Start>b__3() at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
— End of inner exception stack trace —
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_0.b__4()
—> (Inner Exception #0) System.AggregateException: One or more errors occurred. —> System.IO.FileNotFoundException: Please be sure a sound file exists at the specified location.
at System.Media.SoundPlayer.ValidateSoundFile(String fileName)
at System.Media.SoundPlayer.LoadAndPlay(Int32 flags)
at Submission#0.DefenseStep()
at Submission#0.<>d__0.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.d__91.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Scripting.Script1.d__21.MoveNext()
— End of inner exception stack trace —
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at BotSharp.ScriptRun.ScriptRun.<>c__DisplayClass75_1.<Start>b__3() at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
—> (Inner Exception #0) System.IO.FileNotFoundException: Please be sure a sound file exists at the specified location.
File name: ‘C:\Appear.wav’
at System.Media.SoundPlayer.ValidateSoundFile(String fileName)
at System.Media.SoundPlayer.LoadAndPlay(Int32 flags)
at Submission#0.DefenseStep()
at Submission#0.<>d__0.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.d__91.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.CodeAnalysis.Scripting.Script1.d__21.MoveNext()<—
<—

the script is 99.99% of my script, and I’m using sound to allarm me; you do not have the sound files used by me.
you can change the filename with another soud files ( *.wav) , or to do like I stated in the description of script:

while your drones are still in space, it will keep spamming SHIFT+r and posting this message.
If still this it happens after your drones are into bay , then your reading does not update. If the drones are not coming back, then maybe you changed the shortcut keys ( or you have a different language/layout on eve)

1 Like

Ahhh okay. My apologies I didn’t realize there were multiple entries of .wav files throughout the code. I felt like it was spamming shift+R so quickly that my drones weren’t being recalled, I will double check.

Thanks, it did turn out to be my language/second keyboard layout that wasn’t getting my drones to recall fully. Also, how many MTU’s do I need? Does the bot pick up the MTU right away after the site is done or does he change ships every 4 or 5 sites done?

1 Like