LiveSplit は、使いやすく、機能が豊富なスピードランナー向けのタイマー プログラムです。
Speedrun.com の統合: Speedrun.com は LiveSplit に完全に統合されています。 LiveSplit からリーダーボードを参照したり、スプリットをダウンロードしたり、自分のランを直接送信したりすることもできます。 World Record コンポーネントを使用して実行するゲームの世界記録を表示することもできます。
正確なタイミング: LiveSplit は、インターネット経由で原子時計と自動的に同期し、PC のローカル タイマーの不正確さを推定します。 LiveSplit のタイマーはローカル タイマーを自動的に調整して、これらの不正確さを修正します。
ゲーム時間と自動分割: LiveSplit は、ゲームでゲーム時間や自動分割が利用可能かどうかを自動的に検出し、分割エディターで有効にできるようにします。 Game Time はエミュレータまたは PC ゲームから直接自動的に読み取られ、Compare Against で Game Time に切り替えることで使用できます。
ビデオ コンポーネント:ビデオ コンポーネントを使用すると、ランニングと同時にローカル ファイルからビデオを再生できます。ビデオはランニングを開始すると開始され、リセットするたびに停止します。ビデオをどの時点から開始するかを指定することもできます。
レーシング: LiveSplit では、LiveSplit 自体内の SpeedRunsLive または Racetime.gg でレースを開始したり参加したりできます。タイマーはレースが始まると自動的にスタートし、レースを完了するたびに自動的に.done
書き込みます。また、LiveSplit を使用している限り、レース中に他のランナーと現在のランを比較することもできます。
比較: LiveSplit では、実行中でも複数の比較を動的に切り替えることができます。自分の実行を自分で定義した比較と比較することも、最良セグメントの合計や平均実行など、自動的に生成された複数の比較と比較することもできます。 SpeedRunsLive でレースをしている間、他のランナーとの比較も自動的に生成されます。
レイアウト システム:ユーザーは、レイアウトを使用して LiveSplit の外観のあらゆる部分を変更できます。すべてのユーザーは、LiveSplit の各部分を再配置およびカスタマイズできるとともに、部分を追加または削除することができます。独自の背景画像を使用することもできます。
動的なサイズ変更: LiveSplit は、ストリーム上で見栄えがするように任意のサイズに変更できます。 LiveSplit のサイズが変更されると、外観を維持するためにすべての部分が自動的に拡大されます。
ランの共有:どのランも Speedrun.com および X (Twitter) で共有できます。スプリットは、スプリット I/O を使用して配布したり、URL からインポートしたりすることもできます。分割のスクリーンショットを Imgur に共有したり、ファイルとして保存したりすることもできます。 Twitch タイトルは、プレイしているゲームに基づいて更新することもできます。
コンポーネント開発:誰でも簡単に共有して LiveSplit で使用できる独自のコンポーネントを開発できます。追加のダウンロード可能なコンポーネントは、「コンポーネント」セクションにあります。
あなたの助けが必要です!
問題を参照して、開始するのに適した問題を見つけることができます。まだ完了していないもの、または進行中のものを選択し、自分に割り当てて、「進行中」にドラッグします。
git clone --recursive https://github.com/YourUsername/LiveSplit.git
git checkout -b new-feature
git commit -am 'Add a new feature'
git push origin new-feature
LiveSplit は .NET Framework 4.8.1 を使用します。 LiveSplit をコンパイルするには、次のコンポーネントがインストールされている必要があります。
クローン作成後は、リポジトリのルートからdotnet build LiveSplit.sln
を実行するだけです。
Visual Studio を使用するには、インストールした .NET SDK バージョンをサポートするバージョンをインストールする必要があります。この記事の執筆時点での最新バージョンは Visual Studio 2022 です。
git clone --recursive https://github.com/LiveSplit/LiveSplit.git
git submodule update --init --recursive
Auto Splitter の開発、テスト、送信方法に関するドキュメントは、次の場所にあります。
自動スプリッターのドキュメント
内部 LiveSplit サーバーにより、他のプログラムや他のコンピュータが LiveSplit を制御できるようになります。サーバーは、 \
(クライアントとサーバーが同じコンピューター上にある場合は.
はホスト名) にある名前付きパイプ、生の TCP/IP、または WebSocket (WS) サーバーのいずれかを介した接続を受け入れることができます。 、 ws://
にあります。
LiveSplit の実行中、名前付きパイプは常に開いていますが、プログラムが通信できるようにするには、TCP および WS サーバーを開始する必要があります(LiveSplit を右クリックして、[コントロール] -> [TCP/WS サーバーの開始] をクリックします)。 LiveSplit を起動するたびに、使用するものを手動で開始する必要があります。 WS サーバーは TCP/IP 上で実行されるため、TCP サーバーと WS サーバーの両方を同時に実行することはできません。
サーバー ポートは、このプログラムがデータを送信するコンピューター上のドア (数千のうちの 1 つ) です。デフォルトは 16834 です。ほとんどの人にとってはこれで問題ありませんが、ネットワーク構成によっては、一部のポートがブロックされる場合があります。 https://en.wikipedia.org/wiki/Port_%28computer_networking%29 も参照してください。
何かクールなものを作りましたか?このリストに追加することを検討してください。
コマンドは大文字と小文字が区別され、改行で終わります。パラメーターを指定するには、コマンドの後にスペースを使用し、その後でパラメーターを送信します (
)。
コマンドによってはデータで応答するものと応答しないものがあります。すべての応答は改行文字で終わります。 WS サーバーにはメッセージの概念があるため、WS サーバー経由で送信されるコマンドと応答は改行文字で終わらないことに注意してください。
サーバーから返されるすべての時刻とデルタは、C# の定数形式指定子に従ってフォーマットされます。サーバーは、 [-][[[d.]hh:]mm:]ss[.fffffff]
という形式の時刻を受け入れます。日が存在する場合でも、時間フィールドは 23 より大きくてもかまいません。個々のフィールドにゼロを埋め込む必要はありません。時刻または文字列を返すコマンドはすべて、「null」または無効な値を示す単一のハイフン-
返すことができます。 COMPARISON または NAME を使用するコマンドは、スペースを含むプレーン文字列を使用します。改行文字はコマンドの終わりを示す区切り文字として使用されるため、コマンド内のどこにも改行文字が表示されない場合があります。
応答を生成しないコマンド:
時刻を返すコマンド:
int を返すコマンド:
文字列を返すコマンド:
pong
返します)コマンドは「CommandServer.cs」のProcessMessage
で定義されています。
import socket
s = socket . socket ( socket . AF_INET , socket . SOCK_STREAM )
s . connect (( "localhost" , 16834 ))
s . send ( b"starttimer n " )
import java . io . IOException ;
import java . io . PrintWriter ;
import java . net . Socket ;
public class MainTest {
public static void main ( String [] args ) throws IOException {
Socket socket = new Socket ( "localhost" , 16834 );
PrintWriter writer = new PrintWriter ( socket . getOutputStream ());
writer . println ( "starttimer" );
writer . flush ();
socket . close ();
}
}
Luaを実装したソフトウェアをクライアントとして利用できます。ただし、スクリプトで使用するには lua io ライブラリが利用可能である必要があります。完全なドキュメントはここから入手できます。
require " io "
self . LSEndpoint = " \\ . \ pipe \ LiveSplit " -- Localhost LiveSplit pipe.
self . LSPipe = io.open ( self . LSEndpoint , " w " ) -- Open/start the pipe. Flush is required after every command.
self . LSPipe : write " starttimer n "
self . LSPipe : flush ()
self . LSPipe : close () -- This can be left open as needed.
Node.js クライアントの実装はここから入手できます: https://github.com/satanch/node-livesplit-client
LiveSplit_Build
とUpdateManagerExe
ダウンロードします。LiveSplit_1.8.21.zip
) で LiveSplit ビルド ZIP ファイルをアップロードします。UpdateManagerV2.exe
とUpdateManagerV2.exe.config
を置き換えます。update.xml
、 update.updater.xml
、および変更されたコンポーネントの更新 XML) に追加します。MIT ライセンス (MIT)
著作権 (c) 2013 Christopher Serr および Sergey Papushin
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した人には、使用、コピー、変更、マージする権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が、ここに無償で与えられます。 、以下の条件を条件として、本ソフトウェアのコピーを出版、配布、サブライセンス、および/または販売すること、および本ソフトウェアが提供される人物にそれを許可すること。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。