科技频率回收载具  传送载具与无人机至玩家模组

科技频率回收载具 传送载具与无人机至玩家模组

TechFreqsReclaimVehicles模组v1.0专为《七日杀》游戏设计,允许玩家瞬间传送其拥有的载具(及无人机)回到当前位置。

游戏玩法

TechFreqsReclaimVehicles 模组,v1.0

专为《七日杀》游戏设计,允许玩家立即将拥有的载具(及无人机)传送回自己所在位置。

最新更新日志:

版本 1.0

主要特点:

简短版本:

该模组向游戏控制台(F1)提供详细的调试日志,显示其初始化、配置加载以及车辆传送的具体细节(例如,车辆是否已加载或卸载、它们的 ID 以及新位置)。 它利用游戏内提示为玩家提供传送过程及其完成的视觉反馈。 初始化时在日志中包含一条彩色的"感谢"信息,用于调试或故障排除。 最后但同样重要的是,在 Config.json 文件中包含可配置的键位绑定(例如 Keypad5),以立即触发车辆传送功能。 聊天命令:玩家可以在游戏内聊天框中输入 /reclaimvehicles/rv,其功能与按键绑定相同。 

尚不支持服务器...目前仅限客户端...

扩展版关键功能

车辆传送:

  • 核心功能:当激活时,该模组会识别玩家拥有的所有车辆和无人机。随后它会计算玩家附近的新位置,调整至地面高度,并将这些车辆"传送"至新地点。
  • 已加载载具:对于当前在游戏世界中“已加载”的载具(即处于玩家活动渲染和模拟范围内),模组会直接更新其位置并重置物理状态。
  • 未加载车辆(复杂方法):对于“未加载”的车辆(即距离较远且仅存储在游戏数据中的车辆),该模组采用了更先进的技术。它首先从游戏的 VehicleManager 中移除该车辆的旧记录,然后立即在玩家当前位置重新生成该车辆的新实例。这有效地将远处的车辆瞬间传送到玩家身边。
  • 地面放置:该系统尝试通过射线投射将载具精确放置在地面上。若未检测到精确的地面碰撞点,则会采用备用方法估算地面高度,并添加轻微偏移以防止载具穿入地形。
  • 物理重置:传送后,将重置载具的速度和角速度,以防止其意外滑动或移动。

激活方法:

  • 快捷键:玩家可在 Config.json 文件中配置特定键盘按键(如 Keypad5)以立即触发车辆传送。
  • 聊天指令:玩家可以在游戏内输入 /reclaimvehicles/rv。  该模组会拦截这些聊天消息(通过 GameManager.ChatMessageServer 上的 Harmony 补丁)并触发传送逻辑。  这提供了一个强大的命令替代方案,绕过了标准控制台命令注册的潜在问题。

默认配置 JSON

{
  "传送距离": 5.0,
  "切换键": "小键盘5",
  "提示持续时间": 3.0
}

示例配置:

{
  "TeleportDistance": 5.0,
  "ToggleKey": "Keypad5",
  "TooltipDuration": 3.0
}
  • TeleportDistance: 传送距离:控制传送后载具与玩家之间的距离。
  • ToggleKey: 定义用于激活模组的热键。
  • TooltipDuration: 设置游戏内通知提示的显示时长。

技术实现:

  • 和谐:利用 Harmony 库来修补游戏方法(GameManager.Update 用于热键/通用逻辑,GameManager.ChatMessageServer 用于聊天命令)。
  • 反射:利用反射访问游戏内部组件,如 SdtdConsole.m_CommandsAllVariants(尽管注意到在不同游戏版本中用于命令注册时可能不可靠)和 VehicleManager.Instance.GetVehicleList()(用于可靠的车辆数据检索)。
  • 多线程与主线程调度器:在后台线程(ThreadManager.AddSingleTask)上执行繁重任务(如遍历实体和物理计算),以防止游戏卡顿,然后通过自定义的 MainThreadDispatcher 安全地将 UI 更新任务排队回 Unity 主线程。
  • JSON.NET:使用 Newtonsoft.Json 以便轻松读写其配置文件。

本质上,这款模组是《七日杀》中防止载具丢失的强大工具,无论玩家拥有的载具位于近处还是远方,都能通过快捷键或聊天命令便捷激活,实现即时回收功能。

问题:

服务器端要求:由于实体生成和操作的性质,该模组的传送逻辑(特别是针对未加载载具的部分)无法在服务器上运行。它包含一项检查,若未在服务器上运行,则会向玩家发出警告。 鉴于这个服务器端的问题,我无法理解如何让车辆的传送逻辑正常工作。 如果有人有兴趣开发这个功能,请通过 DISCORD 联系我获取权限和更多细节! 目前,它无法在服务器端运行,无论是将相同的插件复制到服务器的 mods 文件夹中还是在客户端上,它都无法正常工作。 因此提示的工具提示信息为“未在服务器上运行”。

另一条备注:

  • 某些载具可能无法一次性全部传送到玩家位置,您可能需要多次按下快捷键才能让载具正确传送到您身边。
  • 车辆可能会稍微离地一点,但这属于正常功能设计
  • 另外补充说明:日志中可能会出现一条关于射线投射失败的错误信息,这是之前用于优化车辆地面追踪方法时遗留的检测代码,我在发布时忘记移除。你可以忽略这条提示信息。

免责声明:

使用此模组即表示您承认,TechFreq 不对因使用该模组而导致的任何问题、崩溃或冲突负责。 使用风险自负。在安装任何类型的模组前,请备份您的游戏文件。 感谢您的下载,祝您游戏愉快!

安装:

  - 确保 harmony 模组存在于模组目录中,因为它是必需的。

  • 下载模组文件,解压模组文件。
  • 请备份您的世界、存档或游戏文件。
  • 将它们放入你的《七日杀》游戏 Mods 目录中。
  • EAC 必须被禁用,尽管我希望未来这一点能有所改变,目前 DLLS 不受 EAC 支持,但 XML 没有问题,不幸的是这是一个 dll 修改。
  • 这仅适用于客户端
  • 但也许这也适用于服务器端和客户端兼容性?
  • 无需进一步设置。尽情享受吧!

支持公告:

对于那些想支持 "TechFreqs" 工作的人, 这个模组可能会也可能不会被交叉发布。 通过 7daystodiemods 网站经由 ModsFire 下载(广告支持,每次下载都能获得收益), 如果发布在那里或其他示例模组网站上,将对我有很大帮助。 然而! (尽管每次下载仅需 10 美分) 此外,还有一个直接镜像站点可供使用 NexusMods 网站替代,该镜像也提供直接下载链接,但这些链接不会按点击或下载次数产生收益,而是通过不同的系统使用捐赠点数来运作。

除了下载模组、与朋友分享模组、留下反馈以及为模组点赞外,支持 TechFreq 的最佳方式就是这些了,这也是我所期望的。但如果你想更进一步(尽管并非必要),你可以通过 PayPal 或 Ko-fi 页面使用捐赠链接,这同样会带来很大帮助! 不过,捐赠并非强制要求,每一份支持都将助力前行,为未来的模组、音乐和漏洞修复注入动力。再次感谢您的阅读、一如既往的支持以及对模组帖子的关注。

制作人员:

感谢 TechFreq 和 AI(包括 ChatGPT、微软 CoPilot AI 以及 Twitter/X 的 Grok AI),帮助我创建了这个模组。尽管我对游戏的模组制作知识有限,但在学习过程中,没有它们的帮助我无法完成这项工作。同时,也要感谢整个模组社区的集体智慧和脑力激荡。 我非常感谢,同时也欢迎对 mod 的任何反馈。

社交媒体:

如果你欣赏 'TechFreqs' 的工作并想表示支持,可以使用这个捐赠链接,尽管这不是必须的。 Kofi 页面https://ko-fi.com/techfreq 感谢您查看模组帖子、分享并享受这些模组内容,这本身就让我非常感激。再次感谢!祝您游戏愉快!

喜欢这个模组吗?有反馈、想法或需要故障排除?

加入 TechFreq 超酷小队的 Discord 服务器!https://discord.com/invite/SQCnGjNUhw 来我们的 Discord 一起放松,畅聊游戏、分享梗图,还有更多模组更新! 至于 TechFreqs 音乐,这是免版税音乐,可用于您的项目或休闲聆听! 源音乐文件可随意索取,欢迎在 Discord 上询问!或获取更多内容! 

TechFreqs 社交媒体https://beacons.ai/techfreq

看看今天的幕后氛围吧!再次感谢大家查看模组帖子。