一个简单的PowerShell脚本,可在你游玩时定期保存游戏进度

0 点赞
Quantum Break
转载

我刚刚第一次玩(并且通关了)这款游戏。整体来说还算 enjoyable,但当我学习如何使用【视觉】能力来寻找秘密和收集品时,在早期关卡中确实错过了一些。当我意识到游戏没有存档槽功能时,我感到很沮丧,因为如果想回去收集错过的东西,就必须重新游玩整个“第X幕,第Y部分”关卡。 我在2020年《控制》刚发售时就玩过了,开放世界的设定对于收集品来说真的好太多了。对于像《量子破碎》这样完全线性的游戏,我不喜欢在关卡中被引导前进时,错过了身后房间或区域里的收集品,而且如果我在四处探索寻找物品时不小心触发了推动剧情的过场动画,就完全没办法返回继续寻找。 所以!我编写了一个简单的PowerShell脚本,它可以在任何版本的Windows上运行,用于自动备份游戏的存档文件——前提是这些存档文件位于默认位置。 背景和入门指南 Steam不允许我上传PS1文件供你使用,因此请从本指南的最后部分获取代码,将其全部复制到一个新文件中——你可以随意命名,比如QuantumBreakSaver.ps1,但只要文件名以PS1结尾就行。按照代码中的说明,在开始游戏前,只需右键点击PS1文件并运行它即可。 如果你发现在游戏的某个部分遗漏了某些内容,想要返回重新尝试寻找收集品,可以参考每个文件夹所标注的时间戳。通常情况下,你需要返回大约5到10分钟。默认情况下,该代码会每5分钟创建一个游戏保存文件夹的新副本,但如果你想调整备份的间隔(以获得更细或更粗的粒度),只需将第18行的“Start-Sleep”值调整为你希望脚本在创建新备份副本前等待的秒数即可。 祝你游戏愉快! 免责声明 - 请谨慎使用代码!当互联网上随机出现的“热心人士”告诉你“将这段代码保存为文件,然后在你的电脑上运行”时,你应该保持高度警惕。你完全有理由对我也产生怀疑! 这就是为什么我在脚本代码的每个部分前都添加了注释(以#符号开头)。你完全有理由去了解像“Copy-Item”“Start-Sleep”和“Get-Process”这类命令的作用;你不应该仅仅因为别人说代码是安全的就轻信。 幸运的是,这是一个非常简单的PowerShell脚本。实际的脚本代码不到10行。你花不了太多时间就能查清楚。 更新日志 1.1 - 2024-01-27 - 我注意到代码中意外调用了自己的Steam个人资料,因此发布了新补丁,该补丁会查找最近编辑过的游戏文件文件夹。这是为了应对多人共享同一Windows账户(因此他们会有相同的根保存目录)但拥有独立Steam个人资料的情况。新代码会获取拥有最新存档的Steam个人资料的数字值,并对其进行备份。 1.0(初始版本)- 2022-08-21 - 初始创建版本,存在一个我在上述1.1版本中解决的漏洞 PowerShell脚本代码(将此部分文本另存为PS1文件) #《量子破碎》存档文件备份简易PowerShell脚本 #使用说明: #只需右键点击此文件,以ps1文件,然后选择“使用PowerShell运行” 然后通过Steam或其他方式启动《量子破碎》(只要使用“quantumbreak.exe”可执行文件即可正常运行) 脚本的这部分会确定你的用户目录名称, 通过代码查找最新文件所在的目录 (如果你有多个Steam个人资料访问同一个LocalAppData文件夹) $newestSave = (get-childitem $env:localappdata quantumbreak * savegames savegames *) | sort LastWriteTime | select -last 1 $latestSteamProfile = (($newestSave.(由于内容为脚本代码,无法按照游戏汉化规则进行有效处理,故删除)如果PowerShell在5分钟结束时检测到游戏进程未运行,就结束“do循环”,从而结束脚本。} while ((Get-Process quantumbreak -ErrorAction SilentlyContinue) -ne $null)