<commit_before>﻿//	Welcome to Sanderling, the botting framework that makes eve online easily scriptable.
//	Got questions or a feature request? Leave a message at http://forum.botengine.de/cat/eve-online/

//	The script below is a 0km Autopilot.

//	this pattern matches strings containing "dock" or "jump".
const string MenuEntryRegexPattern = "dock|jump";

while(true)
{
	var Measurement = HostSanderling?.MemoryMeasurement?.Wert;

	var Menu = Measurement?.Menu?.FirstOrDefault();

	//	from the first menu, pick the first matching entry.
	var MenuEntry =
		Menu?.Entry?.FirstOrDefault(candidateEntry =>
			candidateEntry.Text.RegexMatchSuccessIgnoreCase(MenuEntryRegexPattern));
	
	if(null != MenuEntry)
	{
		HostSanderling.MouseClickLeft(MenuEntry);

		//	wait for four seconds before repeating.
		Host.Delay(4000);
		continue;
	}
	
	Host.Log("no suitable menu entry found.");

	var InfoPanelRoute = Measurement?.InfoPanelRoute;

	//	from the set of Waypoint markers in the Info Panel pick the one that represents the next Waypoint/System.
	//	We assume this is the one which is nearest to the topleft corner of the Screen which is at (0,0)
	var RouteElementMarkerNext =
		InfoPanelRoute?.RouteElementMarker
		?.OrderByCenterDistanceToPoint(new Vektor2DInt(0, 0))?.FirstOrDefault();

	if(null != RouteElementMarkerNext)
	{
		//	righclick the marker to open the contextmenu.
		HostSanderling.MouseClickRight(RouteElementMarkerNext);
		continue;
	}

	Host.Log("no route in info panel found.");
	
	//	wait for four seconds before repeating.
	Host.Delay(4000);
}
<commit_msg>make it easier to grasp.<commit_after>﻿//	Welcome to Sanderling, the botting framework that makes eve online easily scriptable.
//	Got questions or a feature request? Leave a message at http://forum.botengine.de/cat/eve-online/

//	The script below is a Warp to 0 Auto-Pilot, making your travels faster and thus safer.

//	this pattern matches strings containing "dock" or "jump".
const string MenuEntryRegexPattern = "dock|jump";

while(true)
{
	var Measurement = HostSanderling?.MemoryMeasurement?.Wert;

	//	from the set of route element markers in the Info Panel pick the one that represents the next Waypoint/System.
	//	We assume this is the one which is nearest to the topleft corner of the Screen which is at (0,0)
	var RouteElementMarkerNext =
		Measurement?.InfoPanelRoute?.RouteElementMarker
		?.OrderByCenterDistanceToPoint(new Vektor2DInt(0, 0))?.FirstOrDefault();

	if(null == RouteElementMarkerNext)
	{
		Host.Log("no route found in info panel.");
		goto loop;
	}
	
	//	righclick the marker to open the contextmenu.
	HostSanderling.MouseClickRight(RouteElementMarkerNext);

	//	retrieve a new measurement because we issued an  
	Measurement = HostSanderling?.MemoryMeasurement?.Wert;

	//	from the first menu, pick the first matching entry.
	var MenuEntry =
		Measurement?.Menu?.FirstOrDefault()
		?.Entry?.FirstOrDefault(candidate => candidate.Text.RegexMatchSuccessIgnoreCase(MenuEntryRegexPattern));
	
	if(null == MenuEntry)
	{
		Host.Log("no suitable menu entry found.");
		goto loop;
	}

	//	click on the "dock"/"jump" menu entry to initiate warp to at 0km.
	HostSanderling.MouseClickLeft(MenuEntry);

loop:
	//	wait for four seconds before repeating.
	Host.Delay(4000);
}

{'fraction_non_alphanumeric': 0.0958065503520049, 'fraction_numerical': 0.007652280379553107, 'mean_word_length': 4.410596026490066, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2399221', 'n_tokens_mistral': 1048, 'n_tokens_neox': 956, 'n_words': 327}