きっかけ
積んでたFF13-2(Steam版)で戦闘が自動化されすぎててクリックするだけというお手軽さから寝落ちが多発したためです。
レベル上げてできるかぎり戦闘時間を少なくして寝落ちを防ぐことが目的でした。
必要な環境
UWSCが動作する環境。
スクリプト内容
Aキーを押しっぱなしにすることで円を描くように動かします。
そうすることでエンカウントさせます。
またクリックを200msごとに実行するようにします。
クリックボタンが攻撃という前提になります。
上記の内容をずっと回すようになります。
ENDキーを押下することでスクリプトが停止するようにさせています。
自動戦闘用スクリプト(UWSC)
以下がソースコードになります。
以下を保存して読み込ませれば動作するはずです。
// ID取得
DIM EXEGETID=GETID("FINAL FANTASY XIII-2","SQEX.CDev.")
// ウィンドウアクティブ
ACW(EXEGETID,0,0,1680,1050,0)
// アクティブ待ち
SLEEP(5)
// 対象IDのウィンドウサイズ取得
DIM EXEWIDTH=STATUS(EXEGETID, ST_WIDTH)
DIM EXEHEIGHT=STATUS(EXEGETID, ST_HEIGHT)
// Aキー押しっぱなし
KBD(VK_A,DOWN)
WHILE TRUE
// 左クリック(画面真ん中あたり)
BTN(LEFT,CLICK,EXEWIDTH/2,EXEHEIGHT/2)
// 200ms待つ
SLEEP(0.200)
// ENDキーがクリックされていたら抜ける
IFB GETKEYSTATE(VK_END) THEN
BREAK
ENDIF
WEND
// Aキーはなす
KBD(VK_A,UP)
GETIDやACW関数部分は、UWSCの記憶機能で一度対象ゲーム選択したのをそのまま使っています。
その部分を変更すれば他のゲームにも使用できると思います。