0

我想在游戏覆盖之前使用一个简单的脚本来备份现有的快速保存文件。本质上,我想要的是每次按 F5 时都有一个新的保存文件:

F5::
OldQuickSave := "c:\Users\Me\Documents\My Games\Skyrim\Saves\quicksave.ess"
FileGetTime, qstime, %OldQuickSave%
BackupFileName := "c:\Users\Me\Documents\My Games\Skyrim\Saves\OldQuicksave" . qstime . ".ess"
FileCopy, %OldQuickSave%, %BackupFileName%
SendPlay {F5}
return

在游戏之外它可以工作,但在游戏运行时,命令不会到达 AutoHotkey。游戏按原样保存,但脚本未启动。就好像我从来没有按下过键一样。我的猜测是 Skyrim 使用 DirectInput 来读取键盘,它消耗事件并且不会进一步发送它。有什么解决方法吗?或者任何其他为每个快速保存创建新的游戏存档文件的解决方案?

4

1 回答 1

0

我找到了使用以下脚本的解决方法:

Label:
KeyWait, F5, D
OldQuickSave := "c:\Users\Me\Documents\My Games\Skyrim\Saves\quicksave.ess"
FileGetTime, qstime, %OldQuickSave%
BackupFileName := "c:\Users\Me\Documents\My Games\Skyrim\Saves\OldQuicksave" . qstime . ".ess"
FileCopy, %OldQuickSave%, %BackupFileName%
Sleep, 5000
Goto, Label

睡眠是为了防止在长时间按下键的情况下多次执行。不过,我仍然很好奇第一次出了什么问题。

于 2013-03-26T23:26:08.230 回答