Compare commits
54 commits
release/1.
...
develop
Author | SHA1 | Date | |
---|---|---|---|
404d2ffce5 | |||
6f42d89ba1 | |||
8fd21506b4 | |||
bc59480ebd | |||
1afd7ce8f5 | |||
a217d46721 | |||
d6ab42bb45 | |||
0011d8f6fc | |||
|
8362a8f706 | ||
614cb10fe7 | |||
0d481dedf2 | |||
1b5fbca6e6 | |||
f884e97f17 | |||
|
ceaea27e32 | ||
e2968c4926 | |||
|
0ecc4fe879 | ||
956c113f40 | |||
ab9239c810 | |||
2f24af4821 | |||
f5fc2669e5 | |||
b2649bd4ce | |||
e7ec7b8c5f | |||
c2d07df191 | |||
bba2ababd3 | |||
ba11903ecb | |||
df56312323 | |||
7f3b668bee | |||
5a61951596 | |||
8ba4e8a38c | |||
0fca1b291e | |||
7e18c4df4c | |||
|
5d1a778a2b | ||
|
b453f6335b | ||
680eedac56 | |||
b6dce4b9b6 | |||
45ae5cae9a | |||
afe4c67be7 | |||
8623ba805f | |||
1758542640 | |||
e2e27a3dae | |||
fc15e3538a | |||
b4941588e3 | |||
87d56a4463 | |||
9f87fe3058 | |||
438dba86ee | |||
7a6520c317 | |||
09caf2d736 | |||
af501f0b5e | |||
1a3fbf3dd3 | |||
b6ef4aa943 | |||
cdea730a95 | |||
461c58bd0c | |||
42538e16b1 | |||
b4629800db |
24 changed files with 2436 additions and 64 deletions
8
.editorconfig
Normal file
8
.editorconfig
Normal file
|
@ -0,0 +1,8 @@
|
|||
[*]
|
||||
guidelines = 80
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
charset = utf-8-bom
|
||||
|
||||
[*.asl]
|
||||
guidelines = 80, 120
|
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
github: alterNERDtive
|
||||
ko_fi: alterNERDtive
|
20
.github/workflows/auto-pull-request.yaml
vendored
Normal file
20
.github/workflows/auto-pull-request.yaml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
name: Pull Request on Branch Push
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- develop
|
||||
- release
|
||||
|
||||
jobs:
|
||||
auto-pull-request:
|
||||
name: Open pull request
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: pull-request-action
|
||||
uses: vsoch/pull-request-action@1.0.19
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PULL_REQUEST_BRANCH: "develop"
|
||||
PULL_REQUEST_DRAFT: true
|
||||
PASS_IF_EXISTS: true
|
22
.github/workflows/create-release.yaml
vendored
Normal file
22
.github/workflows/create-release.yaml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
name: Create release on tag push
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'release/*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Create draft release
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout source code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Draft release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
bodyFile: "CHANGELOG.md"
|
||||
draft: true
|
||||
token: ${{ secrets.RELEASE_TOKEN }}
|
|
@ -10,9 +10,37 @@ startup {
|
|||
vars.journalReader = null;
|
||||
vars.journalEntries = new Dictionary<string, System.Text.RegularExpressions.Regex>();
|
||||
vars.journalEntries["start"] =
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Garden Ring"", ""StationType"":"".*"", ""MarketID"":\d+ \}");
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Garden Ring"", ""StationType"":"".*"", ""MarketID"":\d+(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}");
|
||||
vars.journalEntries["docked"] =
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""(?<station>.*)"", ""StationType"":"".*"", ""StarSystem"":""Pareco"", .*\}");
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""(?<station>.*)"", ""StationType"":"".*""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Pareco"", .*\}");
|
||||
vars.journalEntries["died"] =
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Died"" .*\}");
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
|
||||
// List of stations in a lap
|
||||
vars.stations = (new string[] { "Crown Orbital", "Asire Dock", "Webb Station", "Phillips Market", "Neville Ring", "Garden Ring" }).ToList();
|
||||
|
@ -29,7 +57,7 @@ startup {
|
|||
|
||||
// Initialize docking counter file
|
||||
vars.logFile = new FileInfo(Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
|
||||
"LiveSplit",
|
||||
"Magic 8-Ball",
|
||||
"Back to Pareco",
|
||||
|
@ -44,30 +72,14 @@ startup {
|
|||
settings.Add("writeStops", false, "Write the number of stops to a file, e.g. for a stream overlay");
|
||||
settings.SetToolTip("writeStops", "You will find the file at " + vars.logFile.FullName);
|
||||
settings.Add("autoReset", true, "Automatically reset when docking back at Garden Ring");
|
||||
settings.Add("resetOnDeath", false, "Automatically stop the timer after death");
|
||||
settings.SetToolTip("resetOnDeath", "Will also reset once you dock at Garden Ring afterwards if auto reset is enabled");
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
|
||||
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
string journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.writeStops();
|
||||
|
||||
// Elite doesn’t write the Journal file to disk right away, so we’re just waiting a couple.
|
||||
// Unfortunately this will lock the LiveSplit window for the entire 15s.
|
||||
// See https://github.com/Astyrrean/LiveSplit_files_for_AX/issues/4
|
||||
int delay = 15;
|
||||
Thread.Sleep(delay*1000);
|
||||
|
||||
// Grab latest journal file
|
||||
FileInfo journalFile = new DirectoryInfo(journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.Name).First();
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
|
@ -76,6 +88,10 @@ init {
|
|||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
if (settings["resetOnDeath"] && !String.IsNullOrEmpty(current.journalString)
|
||||
&& vars.journalEntries["died"].Match(current.journalString).Success) {
|
||||
vars.finished = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if undocking from Garden Ring is detected.
|
||||
|
@ -127,8 +143,7 @@ split {
|
|||
reset {
|
||||
bool reset = false;
|
||||
|
||||
if (vars.finished && settings["autoReset"]
|
||||
&& vars.stopWatch.Elapsed > vars.timeLimit && !String.IsNullOrEmpty(current.journalString)) {
|
||||
if (vars.finished && settings["autoReset"] && !String.IsNullOrEmpty(current.journalString)) {
|
||||
System.Text.RegularExpressions.Match match = vars.journalEntries["docked"].Match(current.journalString);
|
||||
if (match.Success) {
|
||||
// Since you can do one last dock after the time limit has been reached, we can _not_ reset on docking at
|
||||
|
|
|
@ -62,6 +62,27 @@
|
|||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
|
@ -133,15 +154,15 @@
|
|||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Current Comparison</Comparison>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Current Comparison</Comparison>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
|
@ -175,7 +196,7 @@
|
|||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Current Comparison</Comparison>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
|
@ -187,4 +208,4 @@
|
|||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
||||
</Layout>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite: Dangerous</GameName>
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>Back to Pareco</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
|
|
110
CHANGELOG.md
Normal file
110
CHANGELOG.md
Normal file
|
@ -0,0 +1,110 @@
|
|||
# 6.0 (2022-08-26)
|
||||
|
||||
## Added
|
||||
|
||||
* Support for race 7, Mischief Mile.
|
||||
|
||||
## Fixed
|
||||
|
||||
* Now correctly loads the next journal file after restarting the game.
|
||||
|
||||
-----
|
||||
|
||||
# 5.0.1 (2022-07-03)
|
||||
|
||||
## Fixed
|
||||
|
||||
* Typo in Chicken Run splits file.
|
||||
|
||||
-----
|
||||
|
||||
# 5.0 (2022-07-23)
|
||||
|
||||
## Added
|
||||
|
||||
* Support for race 6, Chicken Run: Crash Harder.
|
||||
|
||||
-----
|
||||
|
||||
# 4.0 (2022-05-07)
|
||||
|
||||
## Added
|
||||
|
||||
* Support for race 4, On the Rocks
|
||||
|
||||
-----
|
||||
|
||||
# 3.1.1 (2022-04-19)
|
||||
|
||||
## Fixed
|
||||
|
||||
* Wiccan BeWare: should now consistently detect buy/sell events.
|
||||
|
||||
-----
|
||||
|
||||
# 3.1 (2022-04-18)
|
||||
|
||||
## Added
|
||||
|
||||
* Wiccan BeWare: automatic reset option for accidental refuels / repairs.
|
||||
|
||||
-----
|
||||
|
||||
# 3.0 (2022-04-17)
|
||||
|
||||
## Added
|
||||
|
||||
* Support for race 3, Wiccan BeWare
|
||||
|
||||
-----
|
||||
|
||||
# 2.0 (2022-03-18)
|
||||
|
||||
## Changed
|
||||
|
||||
* Splits for Race 2 (The Aquarian Job) now include the SC drop timing at all stops.
|
||||
|
||||
## Fixed
|
||||
|
||||
* Auto splitters can now cope with the new file name format for journal files introduced for Odyssey patch 11. (#6)
|
||||
|
||||
-----
|
||||
|
||||
# 1.2 (2022-03-15)
|
||||
|
||||
## Added
|
||||
|
||||
* Support for race 2, The Aquarian Job
|
||||
|
||||
## Fixed
|
||||
|
||||
* No longer freezes for 15s on `init`. Instead watches the journal folder for new journal files and loads the latest one automatically. Should fix some edge cases too. (#5)
|
||||
|
||||
-----
|
||||
|
||||
# 1.1 (2022-02-18)
|
||||
|
||||
Many improvements and fixes.
|
||||
|
||||
You’ll have to load the layout file into LiveSplit again (and add the
|
||||
AutoSplitter). You can keep your personal splits.
|
||||
|
||||
## Added
|
||||
|
||||
* `Automatically stop the timer after death` option: stops the timer should you meet an untimely demise. Disabled by default. (#4)
|
||||
|
||||
## Changed
|
||||
|
||||
* `stops.txt` is now written to
|
||||
`My Documents\LiveSplit\Magic 8-Ball\Back to Pareco` (#3)
|
||||
|
||||
## Fixed
|
||||
|
||||
* The layout now forces timing mode to game time. On real time the hack to stop the timer after the first dock past the time limit does not work. (#2)
|
||||
* Now works with Odyssey’s `Docked`/`Undocked` events. (#1)
|
||||
|
||||
-----
|
||||
|
||||
# 1.0 (2022-02-17)
|
||||
|
||||
LiveSplit files and AutoSplitter for the “Back to Pareco” race.
|
153
Chicken Run Crash Harder.asl
Normal file
153
Chicken Run Crash Harder.asl
Normal file
|
@ -0,0 +1,153 @@
|
|||
// Defines the process to monitor. We are not reading anything from the game’s memory, so it’s empty.
|
||||
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
|
||||
state("EliteDangerous64") {}
|
||||
|
||||
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
|
||||
startup {
|
||||
// Relevant journal entries
|
||||
vars.journalReader = null;
|
||||
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(26);
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Noriega Station"", ""StationType"":""Coriolis"", ""MarketID"":3228508416(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", ""SystemAddress"":633675420370, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", ""SystemAddress"":633675420370, ""Body"":""Snow Moon"", ""BodyID"":5, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Snow Moon"", ""StationType"":""Orbis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketBuy"", ""MarketID"":128059402, ""Type"":""crystallinespheres""(, ""Type_Localised"":""Crystalline Spheres"")?, ""Count"":\d+, ""BuyPrice"":\d+, ""TotalCost"":\d+ \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", ""SystemAddress"":7505556017866, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", ""SystemAddress"":7505556017866, ""Body"":""Okinura 8 c"", ""BodyID"":26, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Korniyenko Terminal"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", ""SystemAddress"":7505623126738, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", ""SystemAddress"":7505623126738, ""Body"":""Blatrimpe 7"", ""BodyID"":13, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Koch Beacon"", ""StationType"":""CraterPort""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", ""SystemAddress"":4820840745323, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", ""SystemAddress"":4820840745323, ""Body"":""Shoujeman 5"", ""BodyID"":6, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Baffin Plant"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", ""SystemAddress"":670954497457, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", ""SystemAddress"":670954497457, ""Body"":""Laila's Memory"", ""BodyID"":3, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""King's Inheritance"", ""StationType"":""CraterPort""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", ""SystemAddress"":1733119972058, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", ""SystemAddress"":1733119972058, ""Body"":""5 G. Capricorni 3"", ""BodyID"":9, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Moore Beacon"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", ""SystemAddress"":11666070840737, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", ""SystemAddress"":11666070840737, ""Body"":""Robert Kelley"", ""BodyID"":6, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Weber Legacy"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", ""SystemAddress"":2282942894802, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", ""SystemAddress"":2282942894802, ""Body"":""Noriega Station"", ""BodyID"":17, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Noriega Station"", ""StationType"":""Coriolis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", .*\}"));
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
|
||||
// Initialize split counter
|
||||
vars.currentSplit = 0;
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
|
||||
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes as long as the game process is running, by default 60 times per second.
|
||||
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if the first journal event is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
|
||||
start {
|
||||
bool start = false;
|
||||
|
||||
if (vars.journalEntries[0].Match(current.journalString).Success) {
|
||||
start = true;
|
||||
vars.currentSplit = 1;
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
|
||||
split {
|
||||
bool split = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
if (vars.journalEntries[vars.currentSplit].Match(current.journalString).Success) {
|
||||
split = true;
|
||||
vars.currentSplit++;
|
||||
}
|
||||
}
|
||||
|
||||
return split;
|
||||
}
|
||||
|
||||
// Executes when the game process is shut down.
|
||||
// In our case we’re going to close the files we opened in `init`.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
|
||||
exit {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
|
||||
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
|
||||
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
|
||||
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
|
||||
shutdown {
|
||||
if (vars.journalReader != null) {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
}
|
211
Chicken Run Crash Harder.lsl
Normal file
211
Chicken Run Crash Harder.lsl
Normal file
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Layout version="1.6.1">
|
||||
<Mode>Vertical</Mode>
|
||||
<X>51</X>
|
||||
<Y>53</Y>
|
||||
<VerticalWidth>286</VerticalWidth>
|
||||
<VerticalHeight>386</VerticalHeight>
|
||||
<HorizontalWidth>-1</HorizontalWidth>
|
||||
<HorizontalHeight>-1</HorizontalHeight>
|
||||
<Settings>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<BackgroundColor>FF0F0F0F</BackgroundColor>
|
||||
<BackgroundColor2>00000000</BackgroundColor2>
|
||||
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
|
||||
<SeparatorsColor>24FFFFFF</SeparatorsColor>
|
||||
<PersonalBestColor>FF16A6FF</PersonalBestColor>
|
||||
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
|
||||
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
|
||||
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
|
||||
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
|
||||
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
|
||||
<UseRainbowColor>False</UseRainbowColor>
|
||||
<NotRunningColor>FFACACAC</NotRunningColor>
|
||||
<PausedColor>FF7A7A7A</PausedColor>
|
||||
<TextOutlineColor>00000000</TextOutlineColor>
|
||||
<ShadowsColor>80000000</ShadowsColor>
|
||||
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
|
||||
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
|
||||
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
|
||||
<AlwaysOnTop>True</AlwaysOnTop>
|
||||
<ShowBestSegments>True</ShowBestSegments>
|
||||
<AntiAliasing>True</AntiAliasing>
|
||||
<DropShadows>True</DropShadows>
|
||||
<BackgroundType>SolidColor</BackgroundType>
|
||||
<BackgroundImage />
|
||||
<ImageOpacity>1</ImageOpacity>
|
||||
<ImageBlur>0</ImageBlur>
|
||||
<Opacity>1</Opacity>
|
||||
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
|
||||
</Settings>
|
||||
<Components>
|
||||
<Component>
|
||||
<Path>LiveSplit.Title.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7.3</Version>
|
||||
<ShowGameName>True</ShowGameName>
|
||||
<ShowCategoryName>True</ShowCategoryName>
|
||||
<ShowAttemptCount>False</ShowAttemptCount>
|
||||
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
|
||||
<OverrideTitleFont>False</OverrideTitleFont>
|
||||
<OverrideTitleColor>False</OverrideTitleColor>
|
||||
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
|
||||
<SingleLine>False</SingleLine>
|
||||
<TitleColor>FFFFFFFF</TitleColor>
|
||||
<BackgroundColor>FF2A2A2A</BackgroundColor>
|
||||
<BackgroundColor2>FF131313</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DisplayGameIcon>True</DisplayGameIcon>
|
||||
<ShowRegion>False</ShowRegion>
|
||||
<ShowPlatform>False</ShowPlatform>
|
||||
<ShowVariables>True</ShowVariables>
|
||||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7</Version>
|
||||
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
|
||||
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
|
||||
<VisualSplitCount>11</VisualSplitCount>
|
||||
<SplitPreviewCount>1</SplitPreviewCount>
|
||||
<MinimumMajorSplits>0</MinimumMajorSplits>
|
||||
<DisplayIcons>True</DisplayIcons>
|
||||
<ShowThinSeparators>False</ShowThinSeparators>
|
||||
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
|
||||
<SplitWidth>20</SplitWidth>
|
||||
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
|
||||
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
|
||||
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
|
||||
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
|
||||
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
|
||||
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
|
||||
<OverrideTimesColor>False</OverrideTimesColor>
|
||||
<LockLastSplit>False</LockLastSplit>
|
||||
<IconSize>24</IconSize>
|
||||
<IconShadows>True</IconShadows>
|
||||
<SplitHeight>6</SplitHeight>
|
||||
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>01FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Alternating</BackgroundGradient>
|
||||
<SeparatorLastSplit>True</SeparatorLastSplit>
|
||||
<DeltasAccuracy>Tenths</DeltasAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<OverrideDeltasColor>False</OverrideDeltasColor>
|
||||
<DeltasColor>FFFFFFFF</DeltasColor>
|
||||
<HeaderComparison>Current Comparison</HeaderComparison>
|
||||
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<IndentBlankIcons>True</IndentBlankIcons>
|
||||
<IndentSubsplits>True</IndentSubsplits>
|
||||
<HideSubsplits>False</HideSubsplits>
|
||||
<ShowSubsplits>False</ShowSubsplits>
|
||||
<CurrentSectionOnly>False</CurrentSectionOnly>
|
||||
<OverrideSubsplitColor>False</OverrideSubsplitColor>
|
||||
<SubsplitGradient>Plain</SubsplitGradient>
|
||||
<ShowHeader>True</ShowHeader>
|
||||
<IndentSectionSplit>True</IndentSectionSplit>
|
||||
<ShowIconSectionSplit>True</ShowIconSectionSplit>
|
||||
<ShowSectionIcon>True</ShowSectionIcon>
|
||||
<HeaderGradient>Vertical</HeaderGradient>
|
||||
<OverrideHeaderColor>False</OverrideHeaderColor>
|
||||
<HeaderText>True</HeaderText>
|
||||
<HeaderTimes>True</HeaderTimes>
|
||||
<HeaderAccuracy>Tenths</HeaderAccuracy>
|
||||
<SectionTimer>True</SectionTimer>
|
||||
<SectionTimerGradient>True</SectionTimerGradient>
|
||||
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
|
||||
<SubsplitTopColor>8D000000</SubsplitTopColor>
|
||||
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
|
||||
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
|
||||
<HeaderBottomColor>D8000000</HeaderBottomColor>
|
||||
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
|
||||
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
|
||||
<SectionTimerColor>FF777777</SectionTimerColor>
|
||||
<ShowColumnLabels>False</ShowColumnLabels>
|
||||
<LabelsColor>FFFFFFFF</LabelsColor>
|
||||
<Columns>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Timer.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<TimerHeight>69</TimerHeight>
|
||||
<TimerWidth>225</TimerWidth>
|
||||
<TimerFormat>1.23</TimerFormat>
|
||||
<OverrideSplitColors>False</OverrideSplitColors>
|
||||
<ShowGradient>True</ShowGradient>
|
||||
<TimerColor>FFAAAAAA</TimerColor>
|
||||
<BackgroundColor>00000000</BackgroundColor>
|
||||
<BackgroundColor2>FF222222</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<CenterTimer>False</CenterTimer>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<DecimalsSize>35</DecimalsSize>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.PreviousSegment.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.6</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BackgroundColor>FF1C1C1C</BackgroundColor>
|
||||
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
|
||||
<Settings>
|
||||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
96
Chicken Run Crash Harder.lss
Normal file
96
Chicken Run Crash Harder.lss
Normal file
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>Chicken Run: Crash Harder</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
<Metadata>
|
||||
<Run id="" />
|
||||
<Platform usesEmulator="False">
|
||||
</Platform>
|
||||
<Region>
|
||||
</Region>
|
||||
<Variables />
|
||||
</Metadata>
|
||||
<Offset>00:00:00</Offset>
|
||||
<AttemptCount>0</AttemptCount>
|
||||
<Segments>
|
||||
<Segment>
|
||||
<Name>-Jump to Bento</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Snow Moon</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Dock at Snow Moon</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Bento}Buy Crystalline Spheres</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Okinura</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Okinura 8 C</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Okinura}Dock at Korniyenko Terminal</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Blatrimpe</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Blatrimpe 7</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Blatrimpe}Dock at Koch Beacon</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Shoujeman</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Shoujeman 5</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Shoujeman}Dock at Baffin Plant</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Wolf 562</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Laila’s Memory</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Wolf 562}Dock at King’s Inheritance</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to 5 G. Capricorni</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at 5 G. Capricorni 3</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{5 G. Capricorni}Dock at Moore Beacon</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Ross 905</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Robert Kelley</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Ross 905}Dock at Weber Legacy</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to LTT 2151</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Noriega Station</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{LTT 2151}Dock at Noriega Station</Name>
|
||||
</Segment>
|
||||
</Segments>
|
||||
<AutoSplitterSettings />
|
||||
</Run>
|
129
Mischief Mile.asl
Normal file
129
Mischief Mile.asl
Normal file
|
@ -0,0 +1,129 @@
|
|||
// Defines the process to monitor. We are not reading anything from the game’s memory, so it’s empty.
|
||||
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
|
||||
state("EliteDangerous64") {}
|
||||
|
||||
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
|
||||
startup {
|
||||
// Relevant journal entries
|
||||
vars.journalReader = null;
|
||||
vars.startingConditions = new List<System.Text.RegularExpressions.Regex>(2);
|
||||
vars.startingConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Hooke Hub"", ""StationType"":""Ocellus"", ""MarketID"":3230060800(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
vars.startingConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Ocampo Station"", ""StationType"":""Coriolis"", ""MarketID"":3226909696(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(11);
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""NLTT 48288"", ""SystemAddress"":670149125569, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LHS 3719"", ""SystemAddress"":5069269312953, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fuelum"", ""SystemAddress"":5031721931482, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fuelum"", ""SystemAddress"":5031721931482, ""Body"":""Wollheim Vision"", ""BodyID"":24, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Wollheim Vision"", ""StationType"":""Coriolis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fuelum"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Mirateje"", ""SystemAddress"":9429432931034, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Mirateje"", ""SystemAddress"":9429432931034, ""Body"":""Ocampo Station"", ""BodyID"":40, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Ocampo Station"", ""StationType"":""Coriolis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Mirateje"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Tepech"", ""SystemAddress"":11668218324393, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Tepech"", ""SystemAddress"":11668218324393, ""Body"":""Hooke Hub"", ""BodyID"":38, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Hooke Hub"", ""StationType"":""Ocellus""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Tepech"", .*\}"));
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
|
||||
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes as long as the game process is running, by default 60 times per second.
|
||||
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if the first journal event is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
|
||||
start {
|
||||
bool start = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
foreach (System.Text.RegularExpressions.Regex condition in vars.startingConditions) {
|
||||
if (condition.Match(current.journalString).Success) {
|
||||
start = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
|
||||
split {
|
||||
bool split = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
foreach (System.Text.RegularExpressions.Regex entry in vars.journalEntries) {
|
||||
if (entry.Match(current.journalString).Success) {
|
||||
split = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return split;
|
||||
}
|
||||
|
||||
// Executes when the game process is shut down.
|
||||
// In our case we’re going to close the files we opened in `init`.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
|
||||
exit {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
|
||||
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
|
||||
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
|
||||
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
|
||||
shutdown {
|
||||
if (vars.journalReader != null) {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
}
|
211
Mischief Mile.lsl
Normal file
211
Mischief Mile.lsl
Normal file
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Layout version="1.6.1">
|
||||
<Mode>Vertical</Mode>
|
||||
<X>51</X>
|
||||
<Y>53</Y>
|
||||
<VerticalWidth>286</VerticalWidth>
|
||||
<VerticalHeight>386</VerticalHeight>
|
||||
<HorizontalWidth>-1</HorizontalWidth>
|
||||
<HorizontalHeight>-1</HorizontalHeight>
|
||||
<Settings>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<BackgroundColor>FF0F0F0F</BackgroundColor>
|
||||
<BackgroundColor2>00000000</BackgroundColor2>
|
||||
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
|
||||
<SeparatorsColor>24FFFFFF</SeparatorsColor>
|
||||
<PersonalBestColor>FF16A6FF</PersonalBestColor>
|
||||
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
|
||||
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
|
||||
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
|
||||
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
|
||||
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
|
||||
<UseRainbowColor>False</UseRainbowColor>
|
||||
<NotRunningColor>FFACACAC</NotRunningColor>
|
||||
<PausedColor>FF7A7A7A</PausedColor>
|
||||
<TextOutlineColor>00000000</TextOutlineColor>
|
||||
<ShadowsColor>80000000</ShadowsColor>
|
||||
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
|
||||
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
|
||||
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
|
||||
<AlwaysOnTop>True</AlwaysOnTop>
|
||||
<ShowBestSegments>True</ShowBestSegments>
|
||||
<AntiAliasing>True</AntiAliasing>
|
||||
<DropShadows>True</DropShadows>
|
||||
<BackgroundType>SolidColor</BackgroundType>
|
||||
<BackgroundImage />
|
||||
<ImageOpacity>1</ImageOpacity>
|
||||
<ImageBlur>0</ImageBlur>
|
||||
<Opacity>1</Opacity>
|
||||
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
|
||||
</Settings>
|
||||
<Components>
|
||||
<Component>
|
||||
<Path>LiveSplit.Title.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7.3</Version>
|
||||
<ShowGameName>True</ShowGameName>
|
||||
<ShowCategoryName>True</ShowCategoryName>
|
||||
<ShowAttemptCount>False</ShowAttemptCount>
|
||||
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
|
||||
<OverrideTitleFont>False</OverrideTitleFont>
|
||||
<OverrideTitleColor>False</OverrideTitleColor>
|
||||
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
|
||||
<SingleLine>False</SingleLine>
|
||||
<TitleColor>FFFFFFFF</TitleColor>
|
||||
<BackgroundColor>FF2A2A2A</BackgroundColor>
|
||||
<BackgroundColor2>FF131313</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DisplayGameIcon>True</DisplayGameIcon>
|
||||
<ShowRegion>False</ShowRegion>
|
||||
<ShowPlatform>False</ShowPlatform>
|
||||
<ShowVariables>True</ShowVariables>
|
||||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7</Version>
|
||||
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
|
||||
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
|
||||
<VisualSplitCount>11</VisualSplitCount>
|
||||
<SplitPreviewCount>1</SplitPreviewCount>
|
||||
<MinimumMajorSplits>0</MinimumMajorSplits>
|
||||
<DisplayIcons>True</DisplayIcons>
|
||||
<ShowThinSeparators>False</ShowThinSeparators>
|
||||
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
|
||||
<SplitWidth>20</SplitWidth>
|
||||
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
|
||||
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
|
||||
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
|
||||
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
|
||||
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
|
||||
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
|
||||
<OverrideTimesColor>False</OverrideTimesColor>
|
||||
<LockLastSplit>False</LockLastSplit>
|
||||
<IconSize>24</IconSize>
|
||||
<IconShadows>True</IconShadows>
|
||||
<SplitHeight>6</SplitHeight>
|
||||
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>01FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Alternating</BackgroundGradient>
|
||||
<SeparatorLastSplit>True</SeparatorLastSplit>
|
||||
<DeltasAccuracy>Tenths</DeltasAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<OverrideDeltasColor>False</OverrideDeltasColor>
|
||||
<DeltasColor>FFFFFFFF</DeltasColor>
|
||||
<HeaderComparison>Current Comparison</HeaderComparison>
|
||||
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<IndentBlankIcons>True</IndentBlankIcons>
|
||||
<IndentSubsplits>True</IndentSubsplits>
|
||||
<HideSubsplits>False</HideSubsplits>
|
||||
<ShowSubsplits>False</ShowSubsplits>
|
||||
<CurrentSectionOnly>False</CurrentSectionOnly>
|
||||
<OverrideSubsplitColor>False</OverrideSubsplitColor>
|
||||
<SubsplitGradient>Plain</SubsplitGradient>
|
||||
<ShowHeader>True</ShowHeader>
|
||||
<IndentSectionSplit>True</IndentSectionSplit>
|
||||
<ShowIconSectionSplit>True</ShowIconSectionSplit>
|
||||
<ShowSectionIcon>True</ShowSectionIcon>
|
||||
<HeaderGradient>Vertical</HeaderGradient>
|
||||
<OverrideHeaderColor>False</OverrideHeaderColor>
|
||||
<HeaderText>True</HeaderText>
|
||||
<HeaderTimes>True</HeaderTimes>
|
||||
<HeaderAccuracy>Tenths</HeaderAccuracy>
|
||||
<SectionTimer>True</SectionTimer>
|
||||
<SectionTimerGradient>True</SectionTimerGradient>
|
||||
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
|
||||
<SubsplitTopColor>8D000000</SubsplitTopColor>
|
||||
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
|
||||
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
|
||||
<HeaderBottomColor>D8000000</HeaderBottomColor>
|
||||
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
|
||||
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
|
||||
<SectionTimerColor>FF777777</SectionTimerColor>
|
||||
<ShowColumnLabels>False</ShowColumnLabels>
|
||||
<LabelsColor>FFFFFFFF</LabelsColor>
|
||||
<Columns>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Timer.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<TimerHeight>69</TimerHeight>
|
||||
<TimerWidth>225</TimerWidth>
|
||||
<TimerFormat>1.23</TimerFormat>
|
||||
<OverrideSplitColors>False</OverrideSplitColors>
|
||||
<ShowGradient>True</ShowGradient>
|
||||
<TimerColor>FFAAAAAA</TimerColor>
|
||||
<BackgroundColor>00000000</BackgroundColor>
|
||||
<BackgroundColor2>FF222222</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<CenterTimer>False</CenterTimer>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<DecimalsSize>35</DecimalsSize>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.PreviousSegment.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.6</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BackgroundColor>FF1C1C1C</BackgroundColor>
|
||||
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
|
||||
<Settings>
|
||||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
78
Mischief Mile.lss
Normal file
78
Mischief Mile.lss
Normal file
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>Mischief Mile</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
<Metadata>
|
||||
<Run id="" />
|
||||
<Platform usesEmulator="False">
|
||||
</Platform>
|
||||
<Region>
|
||||
</Region>
|
||||
<Variables />
|
||||
</Metadata>
|
||||
<Offset>00:00:00</Offset>
|
||||
<AttemptCount>0</AttemptCount>
|
||||
<Segments>
|
||||
<!-- start waypoints -->
|
||||
<!-- move those around to your liking (keep the sections from each “start XXX” to “end XXX” comment together) -->
|
||||
|
||||
<!-- start NLTT 48288 -->
|
||||
<Segment>
|
||||
<Name>NLTT 48288</Name>
|
||||
</Segment>
|
||||
<!-- end NLTT 48288 -->
|
||||
|
||||
<!-- start LHS 3719 -->
|
||||
<Segment>
|
||||
<Name>LHS 3719</Name>
|
||||
</Segment>
|
||||
<!-- end LHS 3719 -->
|
||||
|
||||
<!-- start Fuelum -->
|
||||
<Segment>
|
||||
<Name>-Jump to Fuelum</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Wollheim Vision</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Fuelum}Dock at Wollheim Vision</Name>
|
||||
</Segment>
|
||||
<!-- end Fuelum -->
|
||||
|
||||
<!-- end waypoints -->
|
||||
|
||||
<!-- start target station -->
|
||||
<!-- if you fly from Mirateje to Tepech instead of the other way around, you will have to delete the entire Mirateje section (from the “start Mirateje” line to the “end Mirateje” line) and remove the “start Tepech” and “end Tepech” comment lines -->
|
||||
|
||||
<!-- start Mirateje -->
|
||||
<Segment>
|
||||
<Name>-Jump to Mirateje</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Ocampo Station</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Mirateje}Dock at Ocampo Station</Name>
|
||||
</Segment>
|
||||
<!-- end Mirateje -->
|
||||
|
||||
<!-- start Tepech
|
||||
<Segment>
|
||||
<Name>-Jump to Tepech</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Hooke Hub</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Tepech}Dock at Hooke Hub</Name>
|
||||
</Segment>
|
||||
end Tepech -->
|
||||
|
||||
<!-- end target station -->
|
||||
</Segments>
|
||||
<AutoSplitterSettings />
|
||||
</Run>
|
128
On the Rocks.asl
Normal file
128
On the Rocks.asl
Normal file
|
@ -0,0 +1,128 @@
|
|||
// Defines the process to monitor. We are not reading anything from the game’s memory, so it’s empty.
|
||||
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
|
||||
state("EliteDangerous64") {}
|
||||
|
||||
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
|
||||
startup {
|
||||
// Relevant journal entries
|
||||
vars.journalReader = null;
|
||||
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(19);
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Rebuy Prospect"", ""StationType"":"".*"", ""MarketID"":\d+(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
for (int i=0; i<5; i++) {
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""(Andhrimi|Artemis|Felkan|Nu Tauri|Othime)"", ""SystemAddress"":\d+, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""(Andhrimi|Artemis|Felkan|Nu Tauri|Othime)"", ""SystemAddress"":\d+, ""Body"":""(Big Pappa's Base|Freeholm|Jack's Town|Simbad's Refuge|Lone Rock)"", ""BodyID"":\d+, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketSell"", ""MarketID"":\d+, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""SellPrice"":\d+, ""TotalSale"":\d+, ""AvgPricePaid"":\d+ \}"));
|
||||
}
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fullerene C60"", ""SystemAddress"":4030566762835, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fullerene C60"", ""SystemAddress"":4030566762835, ""Body"":""Rebuy Prospect"", ""BodyID"":\d+, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Rebuy Prospect"", ""StationType"":"".*""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Fullerene C60"", .*\}"));
|
||||
|
||||
// Reset conditions
|
||||
vars.resetConditions = new List<System.Text.RegularExpressions.Regex>();
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Repair"", .*\}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RepairAll"", ""Cost"":\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelAll"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelPartial"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
|
||||
// Initialize split counter
|
||||
vars.currentSplit = 0;
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
|
||||
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes as long as the game process is running, by default 60 times per second.
|
||||
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if the first journal event is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
|
||||
start {
|
||||
bool start = false;
|
||||
|
||||
if (vars.journalEntries[0].Match(current.journalString).Success) {
|
||||
start = true;
|
||||
vars.currentSplit = 1;
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
|
||||
split {
|
||||
bool split = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
if (vars.journalEntries[vars.currentSplit].Match(current.journalString).Success) {
|
||||
split = true;
|
||||
vars.currentSplit++;
|
||||
}
|
||||
}
|
||||
|
||||
return split;
|
||||
}
|
||||
|
||||
// Executes when the game process is shut down.
|
||||
// In our case we’re going to close the files we opened in `init`.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
|
||||
exit {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
|
||||
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
|
||||
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
|
||||
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
|
||||
shutdown {
|
||||
if (vars.journalReader != null) {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
}
|
211
On the Rocks.lsl
Normal file
211
On the Rocks.lsl
Normal file
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Layout version="1.6.1">
|
||||
<Mode>Vertical</Mode>
|
||||
<X>51</X>
|
||||
<Y>53</Y>
|
||||
<VerticalWidth>286</VerticalWidth>
|
||||
<VerticalHeight>386</VerticalHeight>
|
||||
<HorizontalWidth>-1</HorizontalWidth>
|
||||
<HorizontalHeight>-1</HorizontalHeight>
|
||||
<Settings>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<BackgroundColor>FF0F0F0F</BackgroundColor>
|
||||
<BackgroundColor2>00000000</BackgroundColor2>
|
||||
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
|
||||
<SeparatorsColor>24FFFFFF</SeparatorsColor>
|
||||
<PersonalBestColor>FF16A6FF</PersonalBestColor>
|
||||
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
|
||||
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
|
||||
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
|
||||
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
|
||||
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
|
||||
<UseRainbowColor>False</UseRainbowColor>
|
||||
<NotRunningColor>FFACACAC</NotRunningColor>
|
||||
<PausedColor>FF7A7A7A</PausedColor>
|
||||
<TextOutlineColor>00000000</TextOutlineColor>
|
||||
<ShadowsColor>80000000</ShadowsColor>
|
||||
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
|
||||
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
|
||||
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
|
||||
<AlwaysOnTop>True</AlwaysOnTop>
|
||||
<ShowBestSegments>True</ShowBestSegments>
|
||||
<AntiAliasing>True</AntiAliasing>
|
||||
<DropShadows>True</DropShadows>
|
||||
<BackgroundType>SolidColor</BackgroundType>
|
||||
<BackgroundImage />
|
||||
<ImageOpacity>1</ImageOpacity>
|
||||
<ImageBlur>0</ImageBlur>
|
||||
<Opacity>1</Opacity>
|
||||
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
|
||||
</Settings>
|
||||
<Components>
|
||||
<Component>
|
||||
<Path>LiveSplit.Title.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7.3</Version>
|
||||
<ShowGameName>True</ShowGameName>
|
||||
<ShowCategoryName>True</ShowCategoryName>
|
||||
<ShowAttemptCount>False</ShowAttemptCount>
|
||||
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
|
||||
<OverrideTitleFont>False</OverrideTitleFont>
|
||||
<OverrideTitleColor>False</OverrideTitleColor>
|
||||
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
|
||||
<SingleLine>False</SingleLine>
|
||||
<TitleColor>FFFFFFFF</TitleColor>
|
||||
<BackgroundColor>FF2A2A2A</BackgroundColor>
|
||||
<BackgroundColor2>FF131313</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DisplayGameIcon>True</DisplayGameIcon>
|
||||
<ShowRegion>False</ShowRegion>
|
||||
<ShowPlatform>False</ShowPlatform>
|
||||
<ShowVariables>True</ShowVariables>
|
||||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7</Version>
|
||||
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
|
||||
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
|
||||
<VisualSplitCount>11</VisualSplitCount>
|
||||
<SplitPreviewCount>1</SplitPreviewCount>
|
||||
<MinimumMajorSplits>0</MinimumMajorSplits>
|
||||
<DisplayIcons>True</DisplayIcons>
|
||||
<ShowThinSeparators>False</ShowThinSeparators>
|
||||
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
|
||||
<SplitWidth>20</SplitWidth>
|
||||
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
|
||||
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
|
||||
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
|
||||
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
|
||||
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
|
||||
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
|
||||
<OverrideTimesColor>False</OverrideTimesColor>
|
||||
<LockLastSplit>False</LockLastSplit>
|
||||
<IconSize>24</IconSize>
|
||||
<IconShadows>True</IconShadows>
|
||||
<SplitHeight>6</SplitHeight>
|
||||
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>01FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Alternating</BackgroundGradient>
|
||||
<SeparatorLastSplit>True</SeparatorLastSplit>
|
||||
<DeltasAccuracy>Tenths</DeltasAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<OverrideDeltasColor>False</OverrideDeltasColor>
|
||||
<DeltasColor>FFFFFFFF</DeltasColor>
|
||||
<HeaderComparison>Current Comparison</HeaderComparison>
|
||||
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<IndentBlankIcons>True</IndentBlankIcons>
|
||||
<IndentSubsplits>True</IndentSubsplits>
|
||||
<HideSubsplits>False</HideSubsplits>
|
||||
<ShowSubsplits>False</ShowSubsplits>
|
||||
<CurrentSectionOnly>False</CurrentSectionOnly>
|
||||
<OverrideSubsplitColor>False</OverrideSubsplitColor>
|
||||
<SubsplitGradient>Plain</SubsplitGradient>
|
||||
<ShowHeader>True</ShowHeader>
|
||||
<IndentSectionSplit>True</IndentSectionSplit>
|
||||
<ShowIconSectionSplit>True</ShowIconSectionSplit>
|
||||
<ShowSectionIcon>True</ShowSectionIcon>
|
||||
<HeaderGradient>Vertical</HeaderGradient>
|
||||
<OverrideHeaderColor>False</OverrideHeaderColor>
|
||||
<HeaderText>True</HeaderText>
|
||||
<HeaderTimes>True</HeaderTimes>
|
||||
<HeaderAccuracy>Tenths</HeaderAccuracy>
|
||||
<SectionTimer>True</SectionTimer>
|
||||
<SectionTimerGradient>True</SectionTimerGradient>
|
||||
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
|
||||
<SubsplitTopColor>8D000000</SubsplitTopColor>
|
||||
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
|
||||
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
|
||||
<HeaderBottomColor>D8000000</HeaderBottomColor>
|
||||
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
|
||||
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
|
||||
<SectionTimerColor>FF777777</SectionTimerColor>
|
||||
<ShowColumnLabels>False</ShowColumnLabels>
|
||||
<LabelsColor>FFFFFFFF</LabelsColor>
|
||||
<Columns>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Timer.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<TimerHeight>69</TimerHeight>
|
||||
<TimerWidth>225</TimerWidth>
|
||||
<TimerFormat>1.23</TimerFormat>
|
||||
<OverrideSplitColors>False</OverrideSplitColors>
|
||||
<ShowGradient>True</ShowGradient>
|
||||
<TimerColor>FFAAAAAA</TimerColor>
|
||||
<BackgroundColor>00000000</BackgroundColor>
|
||||
<BackgroundColor2>FF222222</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<CenterTimer>False</CenterTimer>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<DecimalsSize>35</DecimalsSize>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.PreviousSegment.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.6</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BackgroundColor>FF1C1C1C</BackgroundColor>
|
||||
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
|
||||
<Settings>
|
||||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
75
On the Rocks.lss
Normal file
75
On the Rocks.lss
Normal file
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>On the Rocks</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
<Metadata>
|
||||
<Run id="" />
|
||||
<Platform usesEmulator="False">
|
||||
</Platform>
|
||||
<Region>
|
||||
</Region>
|
||||
<Variables />
|
||||
</Metadata>
|
||||
<Offset>00:00:00</Offset>
|
||||
<AttemptCount>0</AttemptCount>
|
||||
<Segments>
|
||||
<Segment>
|
||||
<Name>-Jump to first stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at first stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{First stop}Sell at first stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to second stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at second stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Second stop}Sell at second stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to third stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at third stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Third stop}Sell at third stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to fourth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at fourth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Fourth stop}Sell at fourth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to fifth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at fifth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Fifth stop}Sell at fifth stop</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Fullerene C60</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Rebuy Prospect</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Return to Rebuy Prospect}Dock at Rebuy Prospect</Name>
|
||||
</Segment>
|
||||
</Segments>
|
||||
<AutoSplitterSettings />
|
||||
</Run>
|
102
README.md
102
README.md
|
@ -1,51 +1,87 @@
|
|||
# LiveSplit files for the Magic 8-Ball Championship
|
||||
|
||||
LiveSplit files and AutoSplitters for the Magic 8-Ball Championship organized by
|
||||
the Buckyball Racing Club:
|
||||
https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-the-magic-8-ball-championship.596981/
|
||||
LiveSplit files and AutoSplitters for the Magic 8-Ball Championship organized by the Buckyball Racing Club: <https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-the-magic-8-ball-championship.596981/>
|
||||
|
||||
Don’t know what [“LiveSplit”](https://livesplit.org) is? It allows you to time
|
||||
speedruns of your favourite games!
|
||||
Don’t know what [“LiveSplit”](https://livesplit.org) is? It allows you to time speedruns of your favourite games!
|
||||
|
||||
You are organizing one of the Magic 8-Ball races and want yours to be added to
|
||||
the collection? Just ask.
|
||||
You are organizing one of the Magic 8-Ball races and want yours to be added to the collection? Just ask.
|
||||
|
||||
[![GitHub Sponsors](https://img.shields.io/github/sponsors/alterNERDtive?style=for-the-badge)](https://github.com/sponsors/alterNERDtive)
|
||||
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/S6S1DLYBS)
|
||||
|
||||
## Setup
|
||||
|
||||
1. Download LiveSplit from https://livesplit.org/downloads/ and unzip it to a
|
||||
directory of your choosing.
|
||||
2. Download this repository (green button in the top right of the repostory
|
||||
view → “Download ZIP”) and extract it to a directory of your choosing.
|
||||
1. Download LiveSplit from <https://livesplit.org/downloads/> and unzip it to a directory of your choosing.
|
||||
2. Download this repository (green button in the top right of the repostory view → “Download ZIP”) and extract it to a directory of your choosing. Alternatively, clone the git repository.
|
||||
3. Launch LiveSplit and do the following:
|
||||
- Right click, Open Splits, select `[name of the race].lss`.
|
||||
- Right click, Open Layout, select `[name of the race].lsl`.
|
||||
- Right click, Edit Layout, Layout Settings, then in “Scriptable Auto
|
||||
Splitter”, set `[name of the race].asl` as the script path.
|
||||
|
||||
**Note**: When the game is loaded with LiveSplit running, or when you start
|
||||
LiveSplit while the game is up, LiveSplit will lock up for 15 seconds and not
|
||||
respond. This is because it has to wait until it can be sure that the game has
|
||||
written a journal file.
|
||||
- Right click, Edit Layout, Layout Settings, then in “Scriptable Auto Splitter”, set `[name of the race].asl` as the script path.
|
||||
4. Right click, Save Layout As…, save to wherever. This means your changes in the layout (e.g. changing colours) and associating the auto splitter will not be lost on updates.
|
||||
5. Right click, Save Splits As…, save to wherever. This ensures that your personal times will not be lost on updates.
|
||||
|
||||
## Races
|
||||
|
||||
### Back to Pareco
|
||||
### Race 7 – Mischief Mile
|
||||
|
||||
https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-back-to-pareco-magic-8-ball-championship-race-1.598760/
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-mischief-mile-rebooted-magic-8-ball-championship-race-7.606269/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from Garden Ring. It will
|
||||
enforce docking at the race’s stations in the correct order. After 20 minutes,
|
||||
you get one last stop, then the timer will stop and reset once you dock back at
|
||||
Garden Ring.
|
||||
The AutoSplitter will start the timer once you undock from Hooke Hub _or_ Ocampo Station.
|
||||
|
||||
There are two settings:
|
||||
It will not enforce an order to the waypoints; this also means that if you e.g. jump into NLTT 48288 twice, it will split twice. It will not account for any of the extra rules of the race, e.g. it will not reset if you fuel scoop and it will not detect the Snickers bonus stuff.
|
||||
|
||||
* `Write the number of stops to a file, e.g. for a stream overlay`: Does exactly
|
||||
that. You can find the file in `%AppData%`, the full path will be in the
|
||||
tooltip. Disabled by default.
|
||||
* `Automatically reset when docking back at Garden Ring`: Automatically reset
|
||||
when you have finished a run and dock back at Garden ring. Enabled by default.
|
||||
As the race has no set order for the systems to be visited in, you will have to edit the splits to reorder the systems for your personal route. You can do that from the LiveSplit UI, but I would recommend editing the splits file directly in the text editor of your choosing. It contains comments to help with that task. If you are planning to fly the “default” order it comes with you will not have to edit anything.
|
||||
|
||||
**Note**: If your _next stop is Garden Ring_ when the time limit is reached,
|
||||
you will either have to reset LiveSplit manually after docking there or re-dock
|
||||
to have the AutoSplitter reset it for you.
|
||||
There are no settings.
|
||||
|
||||
### Race 6 – Chicken Run: Crash Harder
|
||||
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-chicken-run-crash-harder-magic-8-ball-championship-race-6.605441/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from Noriega Station. it will **not** account for ending the race prematurely and returning to LTT 2151 before visiting _all_ other stops.
|
||||
|
||||
There are no settings.
|
||||
|
||||
### Race 4 – On the Rocks
|
||||
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-on-the-rocks-7th-15th-may-3307-magic-8-ball-championship-race-4.602955/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from Rebuy Prospect. It will **not** enforce selling 1t of beer mats (split will trigger at selling _anything_), and **not** check if you’re buying water at Jack’s Town.
|
||||
|
||||
Since the order in which you visit the race’s stops is up to you, the splits do not have a specific order and instead just list the `n`th stop.
|
||||
|
||||
There are no settings.
|
||||
|
||||
### Race 3 – Wiccan BeWare
|
||||
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-the-wiccan-beware-race-magic-8-ball-championship-race-3.602128/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from Dublin Citadel. It will **not** enforce buying the correct cargo, and **not** check the system you buy it in. It can also not detect if/when you fly through the tunnel at Gateway Interchange Hub, nor enforce the speed requirement.
|
||||
|
||||
There is one settings:
|
||||
|
||||
- `Automatically reset when refuelling or repairing`: Automatically reset when you Refuel or repair, since that is against the rules. Disabled by default.
|
||||
|
||||
### Race 2 – The Aquarian Job
|
||||
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-the-aquarian-job-magic-8-ball-championship-race-2.599829/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from London Relay. It will enforce doing all steps in the corret order. There is no sane way to check for the distance requirements around Cooper Arena; as long as you land/take off within ~50 km of the settlement, you will get a split.
|
||||
|
||||
There is one settings:
|
||||
|
||||
- `Automatically reset when refuelling or repairing`: Automatically reset when you Refuel or repair, since that is against the rules. Disabled by default.
|
||||
|
||||
### Race 1 – Back to Pareco
|
||||
|
||||
<https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-back-to-pareco-magic-8-ball-championship-race-1.598760/>
|
||||
|
||||
The AutoSplitter will start the timer once you undock from Garden Ring. It will enforce docking at the race’s stations in the correct order. After 20 minutes you get one last stop, then the timer will pause and reset once you dock back at Garden Ring.
|
||||
|
||||
There are three settings:
|
||||
|
||||
- `Write the number of stops to a file, e.g. for a stream overlay`: Does exactly that. You can find the file in `My Documents`, the full path will be in the tooltip. Disabled by default.
|
||||
- `Automatically reset when docking back at Garden Ring`: Automatically reset when you have finished a run and dock back at Garden Ring. Enabled by default.
|
||||
- `Automatically stop the timer after death`: Automatically stop the timer should you meet an untimely demise. Disabled by default.
|
||||
|
||||
**Note**: If your _next stop is Garden Ring_ when the time limit is reached, you will either have to reset LiveSplit manually after docking there or re-dock to have the AutoSplitter reset it for you.
|
||||
|
|
155
The Aquarian Job.asl
Normal file
155
The Aquarian Job.asl
Normal file
|
@ -0,0 +1,155 @@
|
|||
// Defines the process to monitor. We are not reading anything from the game’s memory, so it’s empty.
|
||||
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
|
||||
state("EliteDangerous64") {}
|
||||
|
||||
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
|
||||
startup {
|
||||
// Relevant journal entries
|
||||
vars.journalReader = null;
|
||||
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(12);
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""London Relay"", ""StationType"":"".*"", ""MarketID"":\d+(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump"", ""StarSystem"":""Chi Herculis"", ""SystemAddress"":1522305861995, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit"", ""StarSystem"":""Chi Herculis"", ""SystemAddress"":1522305861995, ""Body"":""Kumay"", ""BodyID"":2, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Bridger Town"", ""StationType"":"".*""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Chi Herculis"", .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump"", ""StarSystem"":""241 G. Aquarii"", ""SystemAddress"":2518738258283, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit"", ""StarSystem"":""241 G. Aquarii"", ""SystemAddress"":2518738258283, ""Body"":""241 G. Aquarii 3 d"", ""BodyID"":37, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Touchdown"", ""PlayerControlled"":true, ""Latitude"":.*, ""Longitude"":.*, ""NearestDestination"":""(Cooper Arena|When Buckyballing goes badly wrong)"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""DatalinkScan"", ""Message"":"".*"", ""Message_Localised"":"".*"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Liftoff"", ""PlayerControlled"":true, ""Latitude"":.*, ""Longitude"":.*, ""NearestDestination"":""(Cooper Arena|When Buckyballing goes badly wrong)"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump"", ""StarSystem"":""Epsilon Indi"", ""SystemAddress"":908486251218, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit"", ""StarSystem"":""Epsilon Indi"", ""SystemAddress"":908486251218, ""Body"":""London Relay"", ""BodyID"":18, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""London Relay"", ""StationType"":"".*""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Epsilon Indi"", .*\}"));
|
||||
|
||||
// Reset conditions
|
||||
vars.resetConditions = new List<System.Text.RegularExpressions.Regex>();
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Repair"", .*\}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RepairAll"", ""Cost"":\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelAll"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelPartial"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
|
||||
// Initialize split counter
|
||||
vars.currentSplit = 0;
|
||||
|
||||
// Initialize settings
|
||||
settings.Add("autoReset", false, "Automatically reset when refuelling or repairing");
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes as long as the game process is running, by default 60 times per second.
|
||||
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if the first journal event is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
|
||||
start {
|
||||
bool start = false;
|
||||
|
||||
if (vars.journalEntries[0].Match(current.journalString).Success) {
|
||||
start = true;
|
||||
vars.currentSplit = 1;
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
|
||||
split {
|
||||
bool split = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
if (vars.journalEntries[vars.currentSplit].Match(current.journalString).Success) {
|
||||
split = true;
|
||||
vars.currentSplit++;
|
||||
}
|
||||
}
|
||||
|
||||
return split;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a reset if a reset condition is met.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-resets-1
|
||||
reset {
|
||||
bool reset = false;
|
||||
|
||||
if (settings["autoReset"] && !String.IsNullOrEmpty(current.journalString)) {
|
||||
foreach (System.Text.RegularExpressions.Regex condition in vars.resetConditions)
|
||||
{
|
||||
if (condition.Match(current.journalString).Success) {
|
||||
reset = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return reset;
|
||||
}
|
||||
|
||||
// Executes when the game process is shut down.
|
||||
// In our case we’re going to close the files we opened in `init`.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
|
||||
exit {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
|
||||
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
|
||||
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
|
||||
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
|
||||
shutdown {
|
||||
if (vars.journalReader != null) {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
}
|
211
The Aquarian Job.lsl
Normal file
211
The Aquarian Job.lsl
Normal file
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Layout version="1.6.1">
|
||||
<Mode>Vertical</Mode>
|
||||
<X>51</X>
|
||||
<Y>53</Y>
|
||||
<VerticalWidth>286</VerticalWidth>
|
||||
<VerticalHeight>386</VerticalHeight>
|
||||
<HorizontalWidth>-1</HorizontalWidth>
|
||||
<HorizontalHeight>-1</HorizontalHeight>
|
||||
<Settings>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<BackgroundColor>FF0F0F0F</BackgroundColor>
|
||||
<BackgroundColor2>00000000</BackgroundColor2>
|
||||
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
|
||||
<SeparatorsColor>24FFFFFF</SeparatorsColor>
|
||||
<PersonalBestColor>FF16A6FF</PersonalBestColor>
|
||||
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
|
||||
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
|
||||
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
|
||||
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
|
||||
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
|
||||
<UseRainbowColor>False</UseRainbowColor>
|
||||
<NotRunningColor>FFACACAC</NotRunningColor>
|
||||
<PausedColor>FF7A7A7A</PausedColor>
|
||||
<TextOutlineColor>00000000</TextOutlineColor>
|
||||
<ShadowsColor>80000000</ShadowsColor>
|
||||
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
|
||||
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
|
||||
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
|
||||
<AlwaysOnTop>True</AlwaysOnTop>
|
||||
<ShowBestSegments>True</ShowBestSegments>
|
||||
<AntiAliasing>True</AntiAliasing>
|
||||
<DropShadows>True</DropShadows>
|
||||
<BackgroundType>SolidColor</BackgroundType>
|
||||
<BackgroundImage />
|
||||
<ImageOpacity>1</ImageOpacity>
|
||||
<ImageBlur>0</ImageBlur>
|
||||
<Opacity>1</Opacity>
|
||||
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
|
||||
</Settings>
|
||||
<Components>
|
||||
<Component>
|
||||
<Path>LiveSplit.Title.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7.3</Version>
|
||||
<ShowGameName>True</ShowGameName>
|
||||
<ShowCategoryName>True</ShowCategoryName>
|
||||
<ShowAttemptCount>False</ShowAttemptCount>
|
||||
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
|
||||
<OverrideTitleFont>False</OverrideTitleFont>
|
||||
<OverrideTitleColor>False</OverrideTitleColor>
|
||||
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
|
||||
<SingleLine>False</SingleLine>
|
||||
<TitleColor>FFFFFFFF</TitleColor>
|
||||
<BackgroundColor>FF2A2A2A</BackgroundColor>
|
||||
<BackgroundColor2>FF131313</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DisplayGameIcon>True</DisplayGameIcon>
|
||||
<ShowRegion>False</ShowRegion>
|
||||
<ShowPlatform>False</ShowPlatform>
|
||||
<ShowVariables>True</ShowVariables>
|
||||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7</Version>
|
||||
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
|
||||
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
|
||||
<VisualSplitCount>11</VisualSplitCount>
|
||||
<SplitPreviewCount>1</SplitPreviewCount>
|
||||
<MinimumMajorSplits>0</MinimumMajorSplits>
|
||||
<DisplayIcons>True</DisplayIcons>
|
||||
<ShowThinSeparators>False</ShowThinSeparators>
|
||||
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
|
||||
<SplitWidth>20</SplitWidth>
|
||||
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
|
||||
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
|
||||
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
|
||||
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
|
||||
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
|
||||
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
|
||||
<OverrideTimesColor>False</OverrideTimesColor>
|
||||
<LockLastSplit>False</LockLastSplit>
|
||||
<IconSize>24</IconSize>
|
||||
<IconShadows>True</IconShadows>
|
||||
<SplitHeight>6</SplitHeight>
|
||||
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>01FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Alternating</BackgroundGradient>
|
||||
<SeparatorLastSplit>True</SeparatorLastSplit>
|
||||
<DeltasAccuracy>Tenths</DeltasAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<OverrideDeltasColor>False</OverrideDeltasColor>
|
||||
<DeltasColor>FFFFFFFF</DeltasColor>
|
||||
<HeaderComparison>Current Comparison</HeaderComparison>
|
||||
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<IndentBlankIcons>True</IndentBlankIcons>
|
||||
<IndentSubsplits>True</IndentSubsplits>
|
||||
<HideSubsplits>False</HideSubsplits>
|
||||
<ShowSubsplits>False</ShowSubsplits>
|
||||
<CurrentSectionOnly>False</CurrentSectionOnly>
|
||||
<OverrideSubsplitColor>False</OverrideSubsplitColor>
|
||||
<SubsplitGradient>Plain</SubsplitGradient>
|
||||
<ShowHeader>True</ShowHeader>
|
||||
<IndentSectionSplit>True</IndentSectionSplit>
|
||||
<ShowIconSectionSplit>True</ShowIconSectionSplit>
|
||||
<ShowSectionIcon>True</ShowSectionIcon>
|
||||
<HeaderGradient>Vertical</HeaderGradient>
|
||||
<OverrideHeaderColor>False</OverrideHeaderColor>
|
||||
<HeaderText>True</HeaderText>
|
||||
<HeaderTimes>True</HeaderTimes>
|
||||
<HeaderAccuracy>Tenths</HeaderAccuracy>
|
||||
<SectionTimer>True</SectionTimer>
|
||||
<SectionTimerGradient>True</SectionTimerGradient>
|
||||
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
|
||||
<SubsplitTopColor>8D000000</SubsplitTopColor>
|
||||
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
|
||||
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
|
||||
<HeaderBottomColor>D8000000</HeaderBottomColor>
|
||||
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
|
||||
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
|
||||
<SectionTimerColor>FF777777</SectionTimerColor>
|
||||
<ShowColumnLabels>False</ShowColumnLabels>
|
||||
<LabelsColor>FFFFFFFF</LabelsColor>
|
||||
<Columns>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Timer.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<TimerHeight>69</TimerHeight>
|
||||
<TimerWidth>225</TimerWidth>
|
||||
<TimerFormat>1.23</TimerFormat>
|
||||
<OverrideSplitColors>False</OverrideSplitColors>
|
||||
<ShowGradient>True</ShowGradient>
|
||||
<TimerColor>FFAAAAAA</TimerColor>
|
||||
<BackgroundColor>00000000</BackgroundColor>
|
||||
<BackgroundColor2>FF222222</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<CenterTimer>False</CenterTimer>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<DecimalsSize>35</DecimalsSize>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.PreviousSegment.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.6</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BackgroundColor>FF1C1C1C</BackgroundColor>
|
||||
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
|
||||
<Settings>
|
||||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
54
The Aquarian Job.lss
Normal file
54
The Aquarian Job.lss
Normal file
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>The Aquarian Job</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
<Metadata>
|
||||
<Run id="" />
|
||||
<Platform usesEmulator="False">
|
||||
</Platform>
|
||||
<Region>
|
||||
</Region>
|
||||
<Variables />
|
||||
</Metadata>
|
||||
<Offset>00:00:00</Offset>
|
||||
<AttemptCount>0</AttemptCount>
|
||||
<Segments>
|
||||
<Segment>
|
||||
<Name>-Jump to Chi Herculis</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Bridger Town</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Bridger Town}Land at Bridger Town</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to 241 G. Aquarii</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Cooper Arena</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Land near Cooper Arena</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Cooper Arena}Scan Data Link</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Take off from Cooper Arena</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Epsilon Indi</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at London Relay</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{London Relay}Dock at London Relay</Name>
|
||||
</Segment>
|
||||
</Segments>
|
||||
<AutoSplitterSettings />
|
||||
</Run>
|
158
Wiccan BeWare.asl
Normal file
158
Wiccan BeWare.asl
Normal file
|
@ -0,0 +1,158 @@
|
|||
// Defines the process to monitor. We are not reading anything from the game’s memory, so it’s empty.
|
||||
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
|
||||
state("EliteDangerous64") {}
|
||||
|
||||
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
|
||||
startup {
|
||||
// Relevant journal entries
|
||||
vars.journalReader = null;
|
||||
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(13);
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Dublin Citadel"", ""StationType"":"".*"", ""MarketID"":\d+(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketBuy"", ""MarketID"":\d+, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""BuyPrice"":\d+, ""TotalCost"":\d+ \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Soholia"", ""SystemAddress"":670686389665, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketSell"", ""MarketID"":\d+, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""SellPrice"":\d+, ""TotalSale"":\d+, ""AvgPricePaid"":\d+ \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Gateway"", ""SystemAddress"":2832631665362, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Gateway"", ""SystemAddress"":2832631665362, ""Body"":""Dublin Citadel"", ""BodyID"":11, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketSell"", ""MarketID"":128104440, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""SellPrice"":\d+, ""TotalSale"":\d+, ""AvgPricePaid"":\d+ \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Gateway"", ""SystemAddress"":2832631665362, ""Body"":""Hope"", ""BodyID"":1, ""BodyType"":""Planet"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""(SupercruiseEntry""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Gateway"", ""SystemAddress"":2832631665362|StartJump"", ""JumpType"":""Hyperspace"", ""StarSystem"":"".*"", ""SystemAddress"":\d+, ""StarClass"":"".*"") \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketBuy"", ""MarketID"":\d+, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""BuyPrice"":\d+, ""TotalCost"":\d+ \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LP 131-66"", ""SystemAddress"":2869441078689, .*\}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LP 131-66"", ""SystemAddress"":2869441078689, ""Body"":""Vasilyev Vision"", ""BodyID"":1, ""BodyType"":""Station"" \}"));
|
||||
vars.journalEntries.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketSell"", ""MarketID"":\d+, ""Type"":"".*""(, ""Type_Localised"":"".*"")?, ""Count"":\d+, ""SellPrice"":\d+, ""TotalSale"":\d+, ""AvgPricePaid"":\d+ \}"));
|
||||
|
||||
// Reset conditions
|
||||
vars.resetConditions = new List<System.Text.RegularExpressions.Regex>(4);
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Repair"", .*\}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RepairAll"", ""Cost"":\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelAll"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
vars.resetConditions.Add(
|
||||
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""RefuelPartial"", ""Cost"":\d+, ""Amount"":\d+\.\d+ \}"));
|
||||
|
||||
// Journal file handling
|
||||
vars.journalPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Saved Games",
|
||||
"Frontier Developments",
|
||||
"Elite Dangerous"
|
||||
);
|
||||
vars.currentJournal = "none";
|
||||
vars.updateJournalReader = (Action)delegate() {
|
||||
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
|
||||
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
|
||||
if (journalFile.Name != vars.currentJournal) {
|
||||
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
|
||||
vars.currentJournal = journalFile.Name;
|
||||
}
|
||||
};
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
|
||||
// Watch for new files
|
||||
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
|
||||
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
|
||||
vars.updateJournalReader();
|
||||
};
|
||||
journalWatcher.EnableRaisingEvents = true;
|
||||
|
||||
// Initialize split counter
|
||||
vars.currentSplit = 0;
|
||||
|
||||
// Initialize settings
|
||||
settings.Add("autoReset", false, "Automatically reset when refuelling or repairing");
|
||||
}
|
||||
|
||||
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
|
||||
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
|
||||
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
|
||||
init {
|
||||
vars.updateJournalReader();
|
||||
vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes as long as the game process is running, by default 60 times per second.
|
||||
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
|
||||
update {
|
||||
current.journalString = vars.journalReader.ReadToEnd();
|
||||
}
|
||||
|
||||
// Executes every `update`. Starts the timer if the first journal event is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
|
||||
start {
|
||||
bool start = false;
|
||||
|
||||
if (vars.journalEntries[0].Match(current.journalString).Success) {
|
||||
start = true;
|
||||
vars.currentSplit = 1;
|
||||
}
|
||||
|
||||
return start;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
|
||||
split {
|
||||
bool split = false;
|
||||
|
||||
if (!String.IsNullOrEmpty(current.journalString)) {
|
||||
if (vars.journalEntries[vars.currentSplit].Match(current.journalString).Success) {
|
||||
split = true;
|
||||
vars.currentSplit++;
|
||||
}
|
||||
}
|
||||
|
||||
return split;
|
||||
}
|
||||
|
||||
// Executes every `update`. Triggers a reset if a reset condition is met.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-resets-1
|
||||
reset {
|
||||
bool reset = false;
|
||||
|
||||
if (settings["autoReset"] && !String.IsNullOrEmpty(current.journalString)) {
|
||||
foreach (System.Text.RegularExpressions.Regex condition in vars.resetConditions)
|
||||
{
|
||||
if (condition.Match(current.journalString).Success) {
|
||||
reset = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return reset;
|
||||
}
|
||||
|
||||
// Executes when the game process is shut down.
|
||||
// In our case we’re going to close the files we opened in `init`.
|
||||
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
|
||||
exit {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
|
||||
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
|
||||
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
|
||||
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
|
||||
shutdown {
|
||||
if (vars.journalReader != null) {
|
||||
vars.journalReader.Close();
|
||||
}
|
||||
}
|
211
Wiccan BeWare.lsl
Normal file
211
Wiccan BeWare.lsl
Normal file
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Layout version="1.6.1">
|
||||
<Mode>Vertical</Mode>
|
||||
<X>51</X>
|
||||
<Y>53</Y>
|
||||
<VerticalWidth>286</VerticalWidth>
|
||||
<VerticalHeight>386</VerticalHeight>
|
||||
<HorizontalWidth>-1</HorizontalWidth>
|
||||
<HorizontalHeight>-1</HorizontalHeight>
|
||||
<Settings>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<BackgroundColor>FF0F0F0F</BackgroundColor>
|
||||
<BackgroundColor2>00000000</BackgroundColor2>
|
||||
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
|
||||
<SeparatorsColor>24FFFFFF</SeparatorsColor>
|
||||
<PersonalBestColor>FF16A6FF</PersonalBestColor>
|
||||
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
|
||||
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
|
||||
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
|
||||
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
|
||||
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
|
||||
<UseRainbowColor>False</UseRainbowColor>
|
||||
<NotRunningColor>FFACACAC</NotRunningColor>
|
||||
<PausedColor>FF7A7A7A</PausedColor>
|
||||
<TextOutlineColor>00000000</TextOutlineColor>
|
||||
<ShadowsColor>80000000</ShadowsColor>
|
||||
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
|
||||
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
|
||||
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
|
||||
<AlwaysOnTop>True</AlwaysOnTop>
|
||||
<ShowBestSegments>True</ShowBestSegments>
|
||||
<AntiAliasing>True</AntiAliasing>
|
||||
<DropShadows>True</DropShadows>
|
||||
<BackgroundType>SolidColor</BackgroundType>
|
||||
<BackgroundImage />
|
||||
<ImageOpacity>1</ImageOpacity>
|
||||
<ImageBlur>0</ImageBlur>
|
||||
<Opacity>1</Opacity>
|
||||
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
|
||||
</Settings>
|
||||
<Components>
|
||||
<Component>
|
||||
<Path>LiveSplit.Title.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7.3</Version>
|
||||
<ShowGameName>True</ShowGameName>
|
||||
<ShowCategoryName>True</ShowCategoryName>
|
||||
<ShowAttemptCount>False</ShowAttemptCount>
|
||||
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
|
||||
<OverrideTitleFont>False</OverrideTitleFont>
|
||||
<OverrideTitleColor>False</OverrideTitleColor>
|
||||
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
|
||||
<SingleLine>False</SingleLine>
|
||||
<TitleColor>FFFFFFFF</TitleColor>
|
||||
<BackgroundColor>FF2A2A2A</BackgroundColor>
|
||||
<BackgroundColor2>FF131313</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DisplayGameIcon>True</DisplayGameIcon>
|
||||
<ShowRegion>False</ShowRegion>
|
||||
<ShowPlatform>False</ShowPlatform>
|
||||
<ShowVariables>True</ShowVariables>
|
||||
<TextAlignment>0</TextAlignment>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Text.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.4</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<TimeColor>FFFFFFFF</TimeColor>
|
||||
<OverrideTimeColor>False</OverrideTimeColor>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>00FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<Text1>https://git.alternerd.tv/8ball</Text1>
|
||||
<Text2>
|
||||
</Text2>
|
||||
<Font1><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font1>
|
||||
<Font2><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></Font2>
|
||||
<OverrideFont1>False</OverrideFont1>
|
||||
<OverrideFont2>False</OverrideFont2>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Subsplits.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.7</Version>
|
||||
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
|
||||
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
|
||||
<VisualSplitCount>11</VisualSplitCount>
|
||||
<SplitPreviewCount>1</SplitPreviewCount>
|
||||
<MinimumMajorSplits>0</MinimumMajorSplits>
|
||||
<DisplayIcons>True</DisplayIcons>
|
||||
<ShowThinSeparators>False</ShowThinSeparators>
|
||||
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
|
||||
<SplitWidth>20</SplitWidth>
|
||||
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
|
||||
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
|
||||
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
|
||||
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
|
||||
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
|
||||
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
|
||||
<OverrideTimesColor>False</OverrideTimesColor>
|
||||
<LockLastSplit>False</LockLastSplit>
|
||||
<IconSize>24</IconSize>
|
||||
<IconShadows>True</IconShadows>
|
||||
<SplitHeight>6</SplitHeight>
|
||||
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
|
||||
<BackgroundColor>00FFFFFF</BackgroundColor>
|
||||
<BackgroundColor2>01FFFFFF</BackgroundColor2>
|
||||
<BackgroundGradient>Alternating</BackgroundGradient>
|
||||
<SeparatorLastSplit>True</SeparatorLastSplit>
|
||||
<DeltasAccuracy>Tenths</DeltasAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<OverrideDeltasColor>False</OverrideDeltasColor>
|
||||
<DeltasColor>FFFFFFFF</DeltasColor>
|
||||
<HeaderComparison>Current Comparison</HeaderComparison>
|
||||
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<IndentBlankIcons>True</IndentBlankIcons>
|
||||
<IndentSubsplits>True</IndentSubsplits>
|
||||
<HideSubsplits>False</HideSubsplits>
|
||||
<ShowSubsplits>False</ShowSubsplits>
|
||||
<CurrentSectionOnly>False</CurrentSectionOnly>
|
||||
<OverrideSubsplitColor>False</OverrideSubsplitColor>
|
||||
<SubsplitGradient>Plain</SubsplitGradient>
|
||||
<ShowHeader>True</ShowHeader>
|
||||
<IndentSectionSplit>True</IndentSectionSplit>
|
||||
<ShowIconSectionSplit>True</ShowIconSectionSplit>
|
||||
<ShowSectionIcon>True</ShowSectionIcon>
|
||||
<HeaderGradient>Vertical</HeaderGradient>
|
||||
<OverrideHeaderColor>False</OverrideHeaderColor>
|
||||
<HeaderText>True</HeaderText>
|
||||
<HeaderTimes>True</HeaderTimes>
|
||||
<HeaderAccuracy>Tenths</HeaderAccuracy>
|
||||
<SectionTimer>True</SectionTimer>
|
||||
<SectionTimerGradient>True</SectionTimerGradient>
|
||||
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
|
||||
<SubsplitTopColor>8D000000</SubsplitTopColor>
|
||||
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
|
||||
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
|
||||
<HeaderBottomColor>D8000000</HeaderBottomColor>
|
||||
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
|
||||
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
|
||||
<SectionTimerColor>FF777777</SectionTimerColor>
|
||||
<ShowColumnLabels>False</ShowColumnLabels>
|
||||
<LabelsColor>FFFFFFFF</LabelsColor>
|
||||
<Columns>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>+/-</Name>
|
||||
<Type>Delta</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<Name>Time</Name>
|
||||
<Type>SplitTime</Type>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<TimingMethod>Real Time</TimingMethod>
|
||||
</Settings>
|
||||
</Columns>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.Timer.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.5</Version>
|
||||
<TimerHeight>69</TimerHeight>
|
||||
<TimerWidth>225</TimerWidth>
|
||||
<TimerFormat>1.23</TimerFormat>
|
||||
<OverrideSplitColors>False</OverrideSplitColors>
|
||||
<ShowGradient>True</ShowGradient>
|
||||
<TimerColor>FFAAAAAA</TimerColor>
|
||||
<BackgroundColor>00000000</BackgroundColor>
|
||||
<BackgroundColor2>FF222222</BackgroundColor2>
|
||||
<BackgroundGradient>Plain</BackgroundGradient>
|
||||
<CenterTimer>False</CenterTimer>
|
||||
<TimingMethod>Current Timing Method</TimingMethod>
|
||||
<DecimalsSize>35</DecimalsSize>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.PreviousSegment.dll</Path>
|
||||
<Settings>
|
||||
<Version>1.6</Version>
|
||||
<TextColor>FFFFFFFF</TextColor>
|
||||
<OverrideTextColor>False</OverrideTextColor>
|
||||
<BackgroundColor>FF1C1C1C</BackgroundColor>
|
||||
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
|
||||
<BackgroundGradient>Vertical</BackgroundGradient>
|
||||
<DeltaAccuracy>Seconds</DeltaAccuracy>
|
||||
<DropDecimals>True</DropDecimals>
|
||||
<Comparison>Personal Best</Comparison>
|
||||
<Display2Rows>False</Display2Rows>
|
||||
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
|
||||
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
|
||||
</Settings>
|
||||
</Component>
|
||||
<Component>
|
||||
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
|
||||
<Settings>
|
||||
</Settings>
|
||||
</Component>
|
||||
</Components>
|
||||
</Layout>
|
57
Wiccan BeWare.lss
Normal file
57
Wiccan BeWare.lss
Normal file
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Run version="1.7.0">
|
||||
<GameIcon />
|
||||
<GameName>Elite Dangerous</GameName>
|
||||
<CategoryName>Wiccan BeWare</CategoryName>
|
||||
<LayoutPath>
|
||||
</LayoutPath>
|
||||
<Metadata>
|
||||
<Run id="" />
|
||||
<Platform usesEmulator="False">
|
||||
</Platform>
|
||||
<Region>
|
||||
</Region>
|
||||
<Variables />
|
||||
</Metadata>
|
||||
<Offset>00:00:00</Offset>
|
||||
<AttemptCount>0</AttemptCount>
|
||||
<Segments>
|
||||
<Segment>
|
||||
<Name>-Buy Cargo</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Soholia</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Soholia}Sell in Soholia</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to Gateway</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Dublin Citadel</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Dublin Citadel}Sell at Dublin Citadel</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Gateway Interchange Hub</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Gateway Interchange Hub}Jump out of Gateway Interchange Hub</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Buy Domestic Appliances</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Jump to LP 131-66</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>-Drop at Vasilyev Vision</Name>
|
||||
</Segment>
|
||||
<Segment>
|
||||
<Name>{Vasilyev Vision}Sell at Vasilyev Vision</Name>
|
||||
</Segment>
|
||||
</Segments>
|
||||
<AutoSplitterSettings />
|
||||
</Run>
|
Loading…
Reference in a new issue