=begin ・「イベントコマンド:スクリプト」で一行で結果がfalseなスクリプトを実行したときに フリーズするバグを修正。 ・==が変なオブジェクトを結果として返してもエラーにならないように修正 =end class Interpreter #-------------------------------------------------------------------------- # ● スクリプト #-------------------------------------------------------------------------- # 再定義 def command_355 # script に 1 行目を設定 script = @list[@index].parameters[0] + "\n" # ループ loop do # 次のイベントコマンドがスクリプト 2 行目以降の場合 if @list[@index+1].code == 655 # script に 2 行目以降を追加 script += @list[@index+1].parameters[0] + "\n" # イベントコマンドがスクリプト 2 行目以降ではない場合 else # ループ中断 break end # インデックスを進める @index += 1 end # 評価 result = eval(script) # 戻り値が false の場合 if result.is_a?(FalseClass) @index += 1 # 終了 return false end # 継続 return true end end