●LuaScriptディレイ下スクロールBOTダウンロード
ここからどうぞ→delaydownbot.zip

●使い方
1:リプレイ動画ファイルを使いつつ、
 この位置にロックマンを誘導する(FCEUを停止状態にする)

2:FCEU0.98.28以上のRun Lua Scriptからdelaydownbot.lua読み込み
3:あとは「+」押してスピードはやくしたりとか。
4:成功するまで永遠に実行が続きます。成功したら、ステートセーブされてBOT実行が終了します。
 こりゃー成功しねーわと思った場合はFCEU閉じてください

delaydownbot.luaの行頭に以下のコマンド加えると、
画面が描画されなくなるため、BOT試行が最速になります。
FCEU.speedmode("maximum")
 

●設計概要
穴に落ちるのが決まった後にLuaScriptを読み込み、BOTを動かす。

・X座標=(memory.readbyte(0x460)*256+memory.readbyte(0x480))/256.0;
 Y座標=(memory.readbytesigned(0x600)*256+memory.readbytesigned(0x620))/256.0;
 Xスピード=(memory.readbyte(0x4a0)*256+memory.readbyte(0x4c0))/256.0;
 Yスピード=(memory.readbytesigned(0x640)*256+memory.readbytesigned(0x660))/256.0;
 部屋番号= (memory.readbyte(0x20));
 毎ターン読み込みながらFrameAdvance

・Y座標が特定の範囲内(※1)に1度だけアイテム2号→1号に切り替え。
 ここまではショット等は打たない。(切り替えが不可能になるため)
 切り替え処理は完全にフレーム数も固定なので、ずれることはない。
 関数化しておき、1度だけ読み込めばおk

・Y座標がどの範囲でも、「左」または「右」に移動する。
 シャッターが見える位置(X座標=128以上)に移動する必要がある。
 最大に入れられる左の回数を制限する必要あり?

・アイテム1号に切り替え後は、ショットを3回以上打つ。
 (エネルギーを残すかどうかを設定できるのが望ましい。)
 ショットを連続で打つ際は、最低1フレームずつはあけること。

・穴に到達(Y座標=232以上)したらしばらく待機し、
 失敗(部屋番号=8)したらステートロードで再度やりなおし
 次の画面(部屋番号=20)に行くことができたら終了。

※1 スタートによる、落下速度キャンセルの切り替えの位置がずれすぎると、
   シャッターに到達するのが不可能になるため。
(Y座標=88以上〜170以下)