MARVEL script, ratting at a new level

sure you can, but you have to think how you monitor the time and check often without any damage to bot flow

Managed to get something to work. If someone wants that snippet of code to deaggro drones, I’d be happy to share. I also got this error code today:

23-35-26.673: RuntimeException: System.AggregateException: One or more errors occurred. —> System.AggregateException: One or more errors occurred. —> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List1.get_Item(Int32 index) at Submission#0.ReturnToOldSite() at Submission#0.MainStep() at Submission#0.<<Initialize>>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.<RunSubmissionsAsync>d__91.MoveNext()
— End of stack trace from previous location where exception was thrown —

it was an error at reading your bookmark from menu, maybe your real mouse moved on table

Okay, this time I got this one:
00-19-14.653: RuntimeException: System.AggregateException: One or more errors occurred. —> System.AggregateException: One or more errors occurred. —> System.NullReferenceException: Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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()<—

Is this also a similar issue where it tries to click on something that isn’t available anymore?

honestly this one I have no idea from where it could be, except that is from defense step and from a Boolean thing.
overall, I have no idea why in your case it doesnt work, anyway, the scripts are made for certains conditions, the ones I play and it runs even 24 /24 ( if I play).
the facts you change the region, you have different rats, you flay faster, you kill faster, you take different anomalies means you change my conditions, and you have to adapt the script for your condition.
I will explain better.
I have draw this scripts on a “newly” computer, all is work best, safe, time reaction were good, all strategies working for best.
But I have an old desktop; is working fine, a good video card. but his memory ram is not enough. From time to time he start to “crumble” -he move /use things from ram memory on hdd swap , if his windows update check and or download something, he freeze :))
So I start to redraw the script taking into account this “delays”.

In your case , even the fact you sort into overview the rats after distance, could generate a error because he click on something but is something else there and c# doesn’t like this.
Now, and for a certain period, I dont have the time even to let a bot to run on second computer, or even to play. even more, with all the changes in Eve passing on 64bit and with the dev. of Sanderling to use elm language, much easier to dev bots, and I suggest you to learn the new Sanderling, because I will do the same, when I will come back( if I will come back on botting).
Use the already designed scripts like a map of how you must to “move” your char in game environment but using elm, because this one is not so restrictive like c#

It can certainly depend on things disappearing, but that does not mean that this error is enevitable, because we can avoid such a crash by changing the code.
In the error message you posted I find two interesting parts:

  • The location: It says it depends on the code in the method DefenseStep.
  • The kind of cause: NullReferenceException means this can be avoided by replacing the default member access (coded with a dot .) by the safe member access, coded with ?. (you will likely find many of those already in the script code).

This month, I introduced code analysis which alerts you of these kinds of problems (including exact location in the code) before even starting the bot:

Thanks for the replies guys. You guys answer faster than sometimes I can read! I’ll check it out and tweak the code.

C:\path\to\the\botengine.exe start-bot --bot-source=“C:\directory-containing-bot-code”

What does --bot-source="C:\ … exactly look like?
–bot-source="C:\Sanderling\Sanderling.exe ?

I think you talk about the new Sanderling :)) , isn’t?

I have no idea. Do I redownload the latest release?

My scripts, made for old framework, doesnt work on new framework man :slight_smile:
for new framework you need elm, and my scripts are in c#.
For new framework you have to look exclusively on devlog

What version of Sanderling does this run on?

The --bot-source is a directory on your file system (Support for loading from web coming soon) which contains some files describing the bot. At the top level in this directory, there is a file called elm.json. The rest is specific to the particular bot.

There is an example of such a bot at https://github.com/Viir/bots/tree/master/implement/bot/eve-online/eve-online-warp-to-0-autopilot
The contents in this directory can be loaded as a bot with the --bot-source parameter.

I will soon expand the guides to describe the bot code files.

fixed the undock button on git

2 Likes

I followed the link in the first post, and found these two changes in the code which seem related to the undock button fix:
https://github.com/kaboonus/Marvel/commit/31cd5e2e7c09af8347445270ac90c52aff9fa891

https://github.com/kaboonus/Marvel/commit/1041bdbb9a8682a2bc7eb4c2e63b7672f3c28bff

Linking this here so I can find it again.

the fix of fix is good,
I edited the git file directly and copied with a different string, not “undock”

I found this other change in another repository: fix undock button · kaboonus/Sanderling--ratting-bot-anomaly-or-asteroids-@92622a7 · GitHub

It seems even better at first sight (I have not looked closely or even tested).

1 Like

yeah, but it depends of script, some use if the button is not null, some not.
I tested on my own scripts, both are working and some users confirmed me in private( actually in first 3 min after the ingame changes they pm me lols, so I made the fix’s in a hurry in browser and after they pm me that I had an error, i fixed )

hello.
Marvel started doing nothing.
I started it, then he checks and fisnish running the bot.

07-13-58.720: Bot operation started in session 01bbed35591a4785.
07-13-59.083: Gathering and processing some info to be used later
07-14-01.198: Drones name : Caldari Navy Wasp
07-14-01.198: > eveSafeDT : 06/06/2019 10:49 .
07-14-01.202: Checking your wallet …
07-14-06.367: 1900600464
07-14-06.384: > ---- Started in ------ script: MARBEL-1v3 ; Logout in: 05:34:53 ; Sites 0 ; Rats : ; killed 0 ; Local Count / Visibles : 7 / 21 ; ☾⊙☽ Shield: % ; Armor: 100%
$$$ At begining : 1 900 600 464 $$$ Current wallet : 1 900 600 464
⊙ ISK in this session : 1 900 600 464 ; ⊙ MAx Time for hostiles : 15 min.
⊙ OldSiteExist : False ; ⊙ Use Drones for Salvage : False ; ⊙ Site Finished : False
>> Hostiles: 0 ignored: 0 Drones: (All/heavy): ( 0 ) space:0 ; Targets: ; Cargo: 0% ; Salvagers (inactive): 0(0 ; Wrecks:
<<<<<☾⊙☽>> Retreat Msg :
<<☾⊙☽>> Last or Current Msg:

                          <<☾⊙☽>>>>>>>> My Ship EWAR  II :    
                         <<☾⊙☽>>          Ship Indication:  
                         <<☾⊙☽>>          NextAct:  <<☾⊙☽>>  MainStep

07-14-07.929: Checking your wallet …
07-14-13.066: >>> Taped into file.
07-14-13.840: bot stop: Capsule: False Drones : False time : False
07-14-16.952:
07-14-16.952: status transition from None to Succeeded.

This is the only msg :s

look on the name of your ship