require"gd" --画像を保存するため
reset_count = 0 --繰り返し回数
reset_max = 100 --最大繰り返し回数
thread_count = 300 --何フレーム後の画像を保存するか
start = 0 --スタートをしたフレーム
state = savestate.create() --ステートセーブを作成
flag = 0 --やり直しの状態を管理するフラグ
vba.registerafter( function()
if flag == 0 then
print("end")
savestate.load(state)--やり直し開始であれば
flag = 1 --フラグを1に進める
elseif flag == 1 then --フラグが1であれば
--1フレーム進めた状態をSSする
savestate.save(state)
flag = 2 --フラグを2に進める
--セーブステートをしたフレーム数
start = emu.framecount()
end
end)
while true do
if flag == 2 then --待ち中であれば、Aを押し続ける
joypad.set(1,{A=true})
--現在のフレーム - SSフレームが基準のフレーム数を超えたら
if emu.framecount() - start >= thread_count then
--スクリーンショットを取る
local gdstr = gui.gdscreenshot()
--スクリーンショットの名前と保存先
gd.createFromGdStr(gdstr):png("saveimage/"..start..".png")
flag = 0 --やり直し
--やり直し回数を1増やす
reset_count = reset_count + 1
end
end
if reset_count == reset_max then --やり直し回数が最大繰り返し回数になったら終了
print("end") --終了したことを示す
break --無限ループから脱出
end
emu.frameadvance() --1フレーム進める
end
emu.pause() --エミュレーターを一時停止
CnJlcXVpcmUiZ2QiIC0t55S75YOP44KS5L+d5a2Y44GZ44KL44Gf44KBCnJlc2V0X2NvdW50ID0gMCAtLee5sOOCiui/lOOBl+WbnuaVsApyZXNldF9tYXggPSAxMDAgLS3mnIDlpKfnubDjgorov5TjgZflm57mlbAKdGhyZWFkX2NvdW50ID0gMzAwIC0t5L2V44OV44Os44O844Og5b6M44Gu55S75YOP44KS5L+d5a2Y44GZ44KL44GLCnN0YXJ0ID0gMCAtLeOCueOCv+ODvOODiOOCkuOBl+OBn+ODleODrOODvOODoApzdGF0ZSA9IHNhdmVzdGF0ZS5jcmVhdGUoKSAtLeOCueODhuODvOODiOOCu+ODvOODluOCkuS9nOaIkApmbGFnID0gMCAtLeOChOOCiuebtOOBl+OBrueKtuaFi+OCkueuoeeQhuOBmeOCi+ODleODqeOCsAoKdmJhLnJlZ2lzdGVyYWZ0ZXIoIGZ1bmN0aW9uKCkKaWYgZmxhZyA9PSAwIHRoZW4KcHJpbnQoImVuZCIpCnNhdmVzdGF0ZS5sb2FkKHN0YXRlKS0t44KE44KK55u044GX6ZaL5aeL44Gn44GC44KM44GwCmZsYWcgPSAxIC0t44OV44Op44Kw44KSMeOBq+mAsuOCgeOCiwplbHNlaWYgZmxhZyA9PSAxIHRoZW4gLS3jg5Xjg6njgrDjgYwx44Gn44GC44KM44GwCi0tMeODleODrOODvOODoOmAsuOCgeOBn+eKtuaFi+OCklNT44GZ44KLCnNhdmVzdGF0ZS5zYXZlKHN0YXRlKQpmbGFnID0gMiAtLeODleODqeOCsOOCkjLjgavpgLLjgoHjgosKLS3jgrvjg7zjg5bjgrnjg4bjg7zjg4jjgpLjgZfjgZ/jg5Xjg6zjg7zjg6DmlbAKc3RhcnQgPSBlbXUuZnJhbWVjb3VudCgpCmVuZAplbmQpCgp3aGlsZSB0cnVlIGRvCmlmIGZsYWcgPT0gMiB0aGVuIC0t5b6F44Gh5Lit44Gn44GC44KM44Gw44CBQeOCkuaKvOOBl+e2muOBkeOCiwpqb3lwYWQuc2V0KDEse0E9dHJ1ZX0pCi0t54++5Zyo44Gu44OV44Os44O844OgIC0gU1Pjg5Xjg6zjg7zjg6DjgYzln7rmupbjga7jg5Xjg6zjg7zjg6DmlbDjgpLotoXjgYjjgZ/jgokKaWYgZW11LmZyYW1lY291bnQoKSAtIHN0YXJ0ID49IHRocmVhZF9jb3VudCB0aGVuCi0t44K544Kv44Oq44O844Oz44K344On44OD44OI44KS5Y+W44KLCmxvY2FsIGdkc3RyID0gZ3VpLmdkc2NyZWVuc2hvdCgpCi0t44K544Kv44Oq44O844Oz44K344On44OD44OI44Gu5ZCN5YmN44Go5L+d5a2Y5YWICmdkLmNyZWF0ZUZyb21HZFN0cihnZHN0cik6cG5nKCJzYXZlaW1hZ2UvIi4uc3RhcnQuLiIucG5nIikKZmxhZyA9IDAgLS3jgoTjgornm7TjgZcKLS3jgoTjgornm7TjgZflm57mlbDjgpIx5aKX44KE44GZCnJlc2V0X2NvdW50ID0gcmVzZXRfY291bnQgKyAxCmVuZAplbmQKaWYgcmVzZXRfY291bnQgPT0gcmVzZXRfbWF4IHRoZW4gLS3jgoTjgornm7TjgZflm57mlbDjgYzmnIDlpKfnubDjgorov5TjgZflm57mlbDjgavjgarjgaPjgZ/jgonntYLkuoYKcHJpbnQoImVuZCIpIC0t57WC5LqG44GX44Gf44GT44Go44KS56S644GZCmJyZWFrIC0t54Sh6ZmQ44Or44O844OX44GL44KJ6ISx5Ye6CmVuZAplbXUuZnJhbWVhZHZhbmNlKCkgLS0x44OV44Os44O844Og6YCy44KB44KLCgplbmQKZW11LnBhdXNlKCkgLS3jgqjjg5/jg6Xjg6zjg7zjgr/jg7zjgpLkuIDmmYLlgZzmraI=