Sanderling release v16.03.04

You can download the executable from https://github.com/Arcitectus/Sanderling/releases/download/v16.03.04/16.03.04.Sanderling.exe

Improvements since v16.02.04:

example using the new Inflight bracket to read the remaining complex capture time:

bool IsCapture(IInSpaceBracket bracket) =>
    bracket?.LabelText?.Any(label => label.Text?.RegexMatchSuccessIgnoreCase("capturing") ?? false) ?? false;

int? CaptureTimeRemaining(IInSpaceBracket bracket)
{
    var secondCount = bracket?.LabelText?.Select(label => label.Text.SecondCountFromBracketTimerText())?.WhereNotDefault()?.FirstOrDefault();

    if(secondCount.HasValue)
        return secondCount;

    if(bracket?.LabelText?.Any(label => label.Text?.RegexMatchSuccessIgnoreCase("Captured") ?? false) ?? false)
        return  0;

    return null;
}

int? captureTimeRemaining   =>
    CaptureTimeRemaining(Sanderling.MemoryMeasurementParsed.Value.InflightBracket?.FirstOrDefault(IsCapture);

Ce mesge m’est apparu a plusieurs reprise depuis la nouvelle verssion.

C’est quand même occasionelle.

tout vas bien appart ça.

//Mise à jour :

{Type:"System.InvalidOperationException",Message:"La collection a été modifiée après l'instanciation de l'énumérateur.",InnerException:null,StackTrace:"   à System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)   à System.Collections.Generic.Queue`1.Enumerator.MoveNext()   à System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable`1 source)   à Sanderling.Exe.App.get_MotionLastTime()   à Sanderling.Exe.App.get_FromMotionExecutionMemoryMeasurementTimeMin()   à Sanderling.Exe.App.get_MeasurementRecentEnoughTime()   à Sanderling.Exe.App.get_RequestedMeasurementTime()   à Sanderling.Exe.App.InterfaceExchange()   à Sanderling.Exe.App.Timer_Tick(Object sender, Object e)   à System.Windows.Threading.DispatcherTimer.FireTick(Object unused)   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)",TargetSite:"ThrowInvalidOperationException"}

Ce mesge m’est apparu a plusieurs reprise depuis la nouvelle verssion.

C’est quand même occasionelle.

tout vas bien appart ça.

{Type:"System.InvalidOperationException",Message:"La collection a été modifiée après l'instanciation de l'énumérateur.",InnerException:null,StackTrace:"   à System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)   à System.Collections.Generic.Queue`1.Enumerator.MoveNext()   à System.Linq.Enumerable.LastOrDefault[TSource](IEnumerable`1 source)   à Sanderling.Exe.App.get_MotionLastTime()   à Sanderling.Exe.App.get_FromMotionExecutionMemoryMeasurementTimeMin()   à Sanderling.Exe.App.get_MeasurementRecentEnoughTime()   à Sanderling.Exe.App.get_RequestedMeasurementTime()   à Sanderling.Exe.App.InterfaceExchange()   à Sanderling.Exe.App.Timer_Tick(Object sender, Object e)   à System.Windows.Threading.DispatcherTimer.FireTick(Object unused)   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)",TargetSite:"ThrowInvalidOperationException"}

I introduced this additional lock to prevent this problem: https://github.com/Arcitectus/Sanderling/commit/433ed6428a5e1ee5c8051961de5485f86ab72b31

Pourrais tu me le compiler car pour une raison bizarre je ne peux pas installer visual studio et donc le compiler

Merci

Pourrais tu me le compiler car pour une raison bizarre je ne peux pas installer visual studio et donc le compiler

Merci

https://github.com/Arcitectus/Sanderling/releases/tag/v16.03.08

PS. cest dans le script de minage

J’ai resolu la première erreur mais la duuxième je sais pas comment

J’ai resolu la première erreur mais la duuxième je sais pas comment

https://github.com/Arcitectus/Sanderling/commit/91cc0eab12dc21feadfffae8fa68b305ace2fcec

Il a la gastro. Sa vas mal!

//Edit :

Sa ressemble aux problèmes de l’ancienne version v16.02.04 l’UI est quasiment gelée en plus

First, thank you for your work on this framework.  It is obvious that you have put a lot of time into it and the framework is good.

May I ask why half the project is open source?  I am just curious.  I noticed half the code is contained in libraries without the source on git, but those libraries are easily decompiled (C# code, not machine).  I decompiled and I have not had the time to look deep and familiarize myself yet (there is quite a bit), but I’m interested to see how you are accomplishing a few things.  Maybe you can either consider full open source or obfuscate to make it more difficult to reverse if you’re concernced about it.  I wanted to let you know in case you are trying to protect your work; I mean no offense.  Also, what’s with all the nullable types?  What is your reasoning on that?

May I ask why half the project is open source?  I am just curious.

One reason I published the Sanderling repository is to give other people an example of how bots can be build using the Sanderling memory reading service. For example much of the code in the “Parse” namespace is specific to english localization and could therefore be used as an example for others who want to use it on a different localization.

Another reason for the open source is to enable people to review the code used to simulate the input.

And maybe there will also be people who contribute to the code.

I noticed half the code is contained in libraries without the source on git, but those libraries are easily decompiled (C# code, not machine).  I decompiled and I have not had the time to look deep and familiarize myself yet (there is quite a bit), but I’m interested to see how you are accomplishing a few things.  Maybe you can either consider full open source or obfuscate to make it more difficult to reverse if you’re concernced about it. I wanted to let you know in case you are trying to protect your work; I mean no offense.

Thanks for the heads up. Some portions of the assemblies are indeed not meant to be understood, but so far I have not invested much into obfuscation.

But I would not simply publish everything else on github simply because it is messier. And changing this did not seem worth the effort so far. So, depending on what you’re after, I might be able to help you or give you access to the source.

Also, what’s with all the nullable types?  What is your reasoning on that?

There are a lot of nullable types therefore I think explaining the reasoning for each one of them will cost much time. At the moment I don’t feel like spending so much on this. But maybe you have a favorite within this set. smile

Il a la gastro. Sa vas mal!

//Edit :

Sa ressemble aux problèmes de l’ancienne version v16.02.04 l’UI est quasiment gelée en plus

I improved the synchronization: https://github.com/Arcitectus/Sanderling/releases/tag/v16.03.09

Merci cela me semble bien fonctionner

Dans l’éditeur de script, quand on édite le script pendant qu’il est en exécution et qu’on fait pause il nous amène à la ligne où il est rendu, mais il supprime ce que l’on a modifier et on perd ce que l’on faisait.

Imagine :

Tu démarre ton super script

Puis tu décide que tu veux ajouter une fonctionnalitée ultra cool pendant qu’il s’éxecute

Et la il devien vraiment fatigant alors tu le met sur pause

Mais la il t’emmène à la linge qu’il s’est arrêter

Tu te dis wow! wow! où tu vas la!

Tu essais de retrouver la ligne que tu changeais

Mais tu la retrouveras jamais parce qu’elle a disparu!

Aussi quand on fait un «.» il nous affiche plein de données membres, je me demande si parfois se sont vraiment des données membres “utilisable”, et q’on écrit quelques lettres pour trouver celle qu’on cherche et qu’elle n’est pas affichée et que l’on met les «()» il remplace ce que l’on avait écrit par d’autre chose .

Dans l’éditeur de script, quand on édite le script pendant qu’il est en exécution et qu’on fait pause il nous amène à la ligne où il est rendu, mais il supprime ce que l’on a modifier et on perd ce que l’on faisait.

I could disable the functions which bring you from the script run (log entry or “next statement”) to a source code location when the code in the editor is different from the code that was used to start the script run.

Would that be better?

yes