LiveSplit 是一款专为速跑者打造的计时器程序,既易于使用又功能齐全。
Speedrun.com 集成: Speedrun.com 已完全集成到 LiveSplit 中。您可以浏览他们的排行榜、下载分片,甚至可以直接从 LiveSplit 提交您自己的运行。您还可以使用世界纪录组件显示您运行的游戏的世界纪录。
准确的计时: LiveSplit 自动与互联网上的原子钟同步,以估计 PC 中本地计时器的误差。 LiveSplit 的计时器会自动调整本地计时器以修复这些不准确的情况。
游戏时间和自动分割: LiveSplit 将自动检测游戏时间和/或自动分割是否可用于游戏,并让您在分割编辑器中激活它。游戏时间会自动直接从模拟器或电脑游戏中读取,您可以通过切换到“比较”下的“游戏时间”来使用它。
视频组件:使用视频组件,您可以在跑步时播放本地文件中的视频。视频将在您开始跑步时开始,并在您重置时停止。您还可以指定视频应从什么时间点开始。
赛车:在 LiveSplit 中,您可以在 LiveSplit 本身内的 SpeedRunsLive 或 racetime.gg 上开始和参加比赛。计时器在比赛开始时自动启动,并在您完成比赛时自动写入.done
。此外,您还可以在比赛期间将您当前的跑步情况与其他跑步者进行比较,只要他们也使用 LiveSplit。
比较:在 LiveSplit 中,您可以在多个比较之间动态切换,甚至可以在运行中进行切换。您可以将您的跑步与您自己定义的比较进行比较,也可以将其与多个自动生成的比较进行比较,例如最佳分段总和或平均跑步。在 SpeedRunsLive 上比赛时,也会自动生成与其他跑步者的比较。
布局系统:用户可以使用布局修改 LiveSplit 外观的每个部分。每个用户都可以添加或删除部件,并且能够重新排列和自定义 LiveSplit 的每个部件。您甚至可以使用自己的背景图像。
动态调整大小: LiveSplit 可以调整为任意大小,以便在直播时看起来不错。当 LiveSplit 的大小发生变化时,其所有部分都会自动放大以保留其外观。
共享跑步:任何跑步都可以分享到 Speedrun.com 和 X (Twitter)。还可以使用 split i/o 来分发 split,并从 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,您需要安装以下组件:
.NET 8.0 SDK
.NET Framework 4.8.1 开发人员包
克隆后,只需从存储库的根目录运行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
有关如何开发、测试和提交自动拆分器的文档可以在此处找到:
自动分配器文档
内部 LiveSplit 服务器允许其他程序和其他计算机控制 LiveSplit。服务器可以通过位于<hostname>pipeLiveSplit
的命名管道(如果客户端和服务器位于同一台计算机上,则.
是主机名)、原始 TCP/IP 或位于ws://<hostname>:port/livesplit
WebSocket (WS) 服务器接受连接ws://<hostname>:port/livesplit
。
LiveSplit 运行时命名管道始终打开,但 TCP 和 WS 服务器必须先启动,然后程序才能与它们通信(右键单击 LiveSplit -> Control -> Start TCP/WS Server)。每次启动 LiveSplit 时,您都必须手动启动您想要使用的 LiveSplit。 TCP 和 WS 服务器不能同时运行,因为 WS 服务器运行在 TCP/IP 之上。
服务器端口是计算机上该程序发送数据的门(数千个之一)。默认值为 16834。这对于大多数人来说应该没问题,但根据网络配置,某些端口可能会被阻止。另请参阅 https://en.wikipedia.org/wiki/Port_%28computer_networking%29。
Android LiveSplit 远程:https://github.com/Ekelbatzen/LiveSplit.Remote.Android
SplitNotes :https://github.com/joelnir/SplitNotes
自动分割器远程客户端:https://github.com/RavenX8/LiveSplit.Server.Client
做了一些很酷的事情?考虑将其添加到此列表中。
命令区分大小写并以新行结束。您可以通过在命令后使用空格并在之后发送参数来提供参数 ( <command><space><parameters><newline>
)。
有些命令会响应数据,有些则不会。每个响应都以换行符结尾。请注意,由于 WS 服务器有消息的概念,因此通过它发送的命令和响应不会以换行符结尾。
服务器返回的所有时间和增量均根据 C# 的常量格式说明符进行格式化。服务器将接受以下格式的时间: [-][[[d.]hh:]mm:]ss[.fffffff]
。即使存在天数,小时字段也可以大于 23。各个字段不需要用零填充。任何返回时间或字符串的命令都可以返回单个连字符-
表示“空”或无效值。采用 COMPARISON 或 NAME 的命令采用可能包含空格的纯字符串。由于它用作标记命令结束的分隔符,因此换行符可能不会出现在命令内的任何位置。
不生成响应的命令:
起始分裂
分裂
未分裂的
跳过分割
暂停
恢复
重置
启动定时器
设置游戏时间 TIME
设置加载时间 TIME
添加加载时间 TIME
暂停游戏时间
取消暂停游戏时间
总是暂停游戏时间
设置比较比较
切换到实时
切换到游戏时间
setsplitname 索引名称
设置当前分割名称 NAME
返回时间的命令:
获取增量
getdelta 比较
获取最后分割时间
获取比较分段时间
获取当前实时
获取当前游戏时间
获取当前时间
得到最终时间
获取最终时间比较
获取预测时间比较
获得尽可能好的时间
返回 int 的命令:
获取分割索引
(如果定时器没有运行则返回-1)
返回字符串的命令:
获取当前分割名称
获取上一个分割名称
获取当前计时器相位
平
(总是返回pong
)
命令在“CommandServer.cs”中的ProcessMessage
中定义。
导入套接字 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("localhost", 16834))s.send(b"starttimern")
导入 java.io.IOException;导入 java.io.PrintWriter;导入 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 = "\.pipeLiveSplit" --本地主机 LiveSplit pipe.self.LSPipe = io.open(self.LSEndpoint, "w") --打开/启动管道。每次命令后都需要刷新。self.LSPipe:write "starttimern"self.LSPipe:flush()self.LSPipe:close() --这可以根据需要保持打开状态。
Node.js 客户端实现可在此处获取:https://github.com/satanch/node-livesplit-client
更新任何已更改组件的版本(创建 Git 标签并更新每个组件的工厂文件)以匹配新的 LiveSplit 版本。
为新版本创建 Git 标签。
从新 Git 标签的 GitHub Actions 构建中下载LiveSplit_Build
和UpdateManagerExe
。
为新版本创建 GitHub 版本,并上传具有正确文件名的 LiveSplit 构建 ZIP 文件(例如LiveSplit_1.8.21.zip
)。
修改LiveSplit.github.io的update文件夹中的文件并提交更改:
将更改的文件从下载的 LiveSplit 构建 ZIP 文件复制到更新文件夹。
从下载的 Update Manager ZIP 文件中复制更改的文件以替换UpdateManagerV2.exe
和UpdateManagerV2.exe.config
。
将新版本添加到更新 XML( update.xml
、 update.updater.xml
以及任何已更改组件的更新 XML)。
修改 DLL 并更新其存储库中 LiveSplit.TheRun 的 XML。
更新下载页面上的版本。
麻省理工学院许可证 (MIT)
版权所有 (c) 2013 Christopher Serr 和 Sergey Papushin
特此免费授予获得本软件和相关文档文件(“软件”)副本的任何人不受限制地使用本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或销售软件的副本,并允许向其提供软件的人员这样做,但须满足以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有者均不对因本软件或本软件的使用或其他交易而引起的或与之相关的任何索赔、损害或其他责任负责,无论是合同、侵权还是其他行为。软件。