스레드
Thomadin8 years ago

Hey guys,

I recently played through OTS and had a lot of fun, so I casually started doing some faster runs through it. I know that it is timed by using the IGT, but in order to see my improvements, I made an Autosplitter Script for Livesplit for OTS.

You can find it here: http://www.mediafire.com/download/omj1d9m8kk5mw5r/OutThereSomewhereV2.asl

IMPORTANT EDIT: The old version (without the abandoned core / checkpoint splitting functions) can still be found here:

http://www.mediafire.com/download/fpd334qdi494c4a/OutThereSomewhere.asl

In order to use it, you can basically just follow the Instructions for the Autosplitter Component of Livesplit on

https://github.com/LiveSplit/LiveSplit/blob/master/Documentation/Auto-Splitters.md

You also need to change the script to point it to your speedrunning-savefile of OTS.

In order to do this, open the .asl Script file with any text editor and change the following line:

var path = "YOUR_SAVEFILE_PATH";

Put the full path to your OTS savefile there. The script will automatically check if the File exists or not, and start the run-timer as soon as the save file is created. This will cause runs to start after the shmup-section in the beginning. (Which is not equal to the IGT, but since the splits are only used to show differences in runs and not for timing, that doesn't really matter.)

It also automatically resets your run if you delete your savefile.

The script will split every time the savefile changes, e.g. when using a checkpoint or picking up an alien artifact.

In the new versions, you can configure your savefile by editing the .asl file.

You can change and modify the following things to your liking:

vars.splitEveryNSaves = 1;

vars.splitEveryNSaves determines after how many save file changes the program should split, if the 'Split every N Saves' option is enabled in the layout settings. For 1, it splits every time the file changes. For 2, every other time...

vars.splitStrings = new string[] {"lava", "getAbandonedCore", "gauss", "autofire", "FIRST_HEART", "LINK_TO_THE_HEART", "SKIP_TREEMAN_DOMAIN", "getLightorb"};

vars.splitStrings contains the strings found in the save file which the program should split. Make sure the syntax stays correct here.

vars.splitAbandonedCores = new int[] {1, 3, 5, 9, 11};

vars.splitAbandonedCores contains a "Split list" for the amount of abandoned cores you collected. In this case, it would split when 1, 3, 5, 9 and 11 cores are collected.

vars.splitCPXCoordinates = new int[] {7, 8}; vars.splitCPYCoordinates = new int[] {5, 5};

The coordinates are a little more advances, as they require some knowledge on the internals of the game. On "Crash Site", the checkpoint/level coordinates start at X = 5 and Y = 5. Going right increases the X value, while going left decreases it. Similar behavior for the Y coordinate. If you want, you can use these checkpoint coordinates to specify custom checkpoints where you want to split.

I hope some of you find it useful, it's at least a lot of fun to casually play it that way :-)

EDIT: fixed a bug where the script splitted instantly, that was not supposed to happen ;) Newer version can be downloaded at the same link.

EDIT2: More bugfixes. Didn't actually test what happens if you pick up artifacts or kill enemies. Should work now. The splitter now should split whenever the savefile changes.

EDIT3: ¤sigh¤ should work now. I finished a whole run with correctly detected splits, hopefully it works for all categories :-)

thisishowmymindworks, PrettzL 그리고 3 기타 이것을 좋아함
Thomadin에 대해서
가입 날짜
8 years ago
온라인
4 years ago
런들
4
플레이한 게임
Out There Somewhere
Out There Somewhere
최근 플레이 8 years ago
3
런들
Assault Android Cactus
Assault Android Cactus
최근 플레이 7 years ago
1