客户端修改快速指南
<NolebasePageProperties />
客户端模组入门基础指南。
本页面适用于任何 SPT 版本
要为 SPT(或任何其他使用 BepInEx 的 Unity 游戏)编写客户端模组,您需要掌握 C# 编程。如果您是编程新手,请参阅资源部分以开始学习。
资源:
步骤 0:安装所需程序
- 安装Visual Studio
- 点击
Download Visual Studio。 - 安装程序下载完成后,运行它。点击
Available顶部,然后点击Install under Visual Studio Community 2022。 - 向下滚动
Workloads标签页,直到看到Game development with Unity“工作负载”。选中该工作负载旁边的复选框,然后单击Install右下角。
- 点击
- 安装 .NET 运行时(最低版本:6.0,最新版本应该可以正常工作)下载。
- 安装dnSpy。
- 滚动到该版本底部的相应
Assets部分,然后根据您的系统选择其中一个dn-spy-net-win32.zip或。dn-spy-net-win64.zip - 创建一个
C:\dnSpy文件夹,然后将下载的压缩文件拖入该文件夹中。 - 或者,右键单击
dnSpy.exe并创建快捷方式,然后将其放置在桌面上。
- 滚动到该版本底部的相应
步骤 1:SPT 开发安装设置
- 创建一个新的 SPT 安装用于开发。
- 在新的 SPT 安装目录下创建一个 Development 文件夹,用于存放您的 mod 项目,例如
[spt install folder]/Development:- 这样做的好处是,当需要将你的 mod 更新到新的 SPT 版本时,你可以直接将整个 Development 文件夹粘贴到安装目录中,然后就可以开始工作,而无需更新引用路径等(感谢 Drakia 的想法!)。
- 下载Unity Explorer的
Mono最新版本。像安装其他客户端模组一样安装它。BIE 5.X - 导航至
[spt install folder]/BepInEx/config并打开[Logging.Console] 部分BepInEx.cfg,进行LogChannels = all设置Enabled = true。这将使 BepInEx 控制台在您启动 SPT 时启动。您的模组中的所有日志记录都将显示在此控制台中。 - 请务必运行一次开发安装程序,一直运行到主菜单,然后退出。这样可以对程序集进行反混淆处理。
步骤 2:导出 Assembly-CSharp.dll 文件以查看 Tarkov 的反编译源代码
我们这样做是为了研究 Tarkov 的源代码,看看我们需要修改哪些地方,以及应该在哪里修改。我建议创建一个 Visual Studio 项目来存放反编译后的源代码。幸运的是,dnSpy 可以帮我们做到这一点!
- 创建一个文件夹来存储反编译后的源代码。我建议以源代码所对应的 SPT 版本命名该文件夹,以便将其与 SPT 更新到新的 EFT 客户端版本时您反编译的程序集区分开来,例如
SPT400_assembly: - 打开 dnSpy。
- 前往
File > Open并导航至此路径:[game folder]/EscapeFromTarkov_Data/Managed,选择Assembly-CSharp.dll文件并单击Open。 - 文件打开后
Assembly-CSharp.dll,您应该能在 dnSpy 中看到它。您可以直接在 dnSpy 中查看代码,但我建议您创建一个 Visual Studio 项目来存放它。您可以通过访问并File > Export to Project…选择我们在步骤 1 中创建的文件夹来实现这一点。 - 打开项目!
Assembly-CSharp.sln在 dnSpy 创建的项目文件夹中运行。
您可以使用CTRL“++ Shift”F搜索整个解决方案中的代码。不妨试试搜索“跳跃”或“门”之类的关键词,看看能找到什么!
步骤 3:模组项目设置
- 设置并登录 GitHub 帐户 ( https://github.com/ ),然后前往示例仓库。
Use this template > Create a new repository点击示例仓库 GitHub 页面右上角的绿色按钮。- 使用 GitBash 之类的工具将你的新仓库克隆到计算机上的文件夹中(https://git-scm.com/downloads),或者手动下载
Code > Download ZIP。- 请确保您克隆的是您自己的新仓库,而不是示例仓库本身。
- 将以下文件重命名
SPTClientModExamples为你的新模组名称:- 项目所在的文件夹
- .csproj文件
- .sln文件
- 用文本编辑器打开**.sln**文件,输入CTRL+并将 ll 替换为你的新模组名称。F
SPTClientModExamples - 用文本编辑器打开**.csproj**文件,输入CTRL+并替换所有内容为你的模组名称。F
SPTClientModExamples - 双击**.sln文件打开解决方案,然后双击Plugin.cs 文件**。
- 按CTRL+ Shift+ F,单击“文件中的替换”:
- 确保
Look in已设置为Entire solution - 在字段中
Find输入:SPTClientModExamples - 在
Replace字段中,输入你的新模组名称 - 点击
Replace All右下角,如果出现提示,请点击“是”
- 确保
第四步:开始编写代码!
- 不妨参考示例仓库中的示例,亲自动手实践一下!
- 准备好测试后,前往
Build > Build Solution或按下F6构建按钮来构建你的模组。如果你的项目解决方案正确放置在<project-path>中YourSPTInstall/Development,编译后的插件应该会自动复制到<plugin-path>BepInEx/plugins,因此你只需构建并启动游戏即可进行测试。 - 玩得开心!
感谢这些酷炫的人们:
感谢所有帮助我学习这些知识并为这份文档提供反馈的朋友们,你们太棒了!非常感谢!
DrakiaXYZ
Cj
Arys
Kiki
mpstark
Tyfon
参见
贡献者
<NolebaseGitContributors />
文件历史
<NolebaseGitChangelog />