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 に答える