# # 非範囲指定型のスイッチ一括操作 #  (C)2006 TYPE74RX-T # class Interpreter #-------------------------------------------------------------------------- # ★ 注釈 #-------------------------------------------------------------------------- alias rx_sw_batch_ctrl_command_108 command_108 def command_108 # スイッチの一括オン処理(非範囲指定型) if @parameters[0].include?("スイッチ一括オン") # 初期設定 rx_str = @parameters[0] # 複数行にわたって設定している場合 # それらを全て変数に代入する。 i = 1 loop do # 次の行に文字列がある場合 if @list[@index+i].code == 408 rx_str += " " + rx_str += @list[@index+i].parameters[0] i += 1 else break end end # 文字列から数字の文字列のみを抽出 rx_r_spec = rx_str.scan(/\d+/) # 配列変数の初期化 rx_range_specification = [] # 数字の文字列を数値化 for i in 0...rx_r_spec.size rx_range_specification[i] = rx_r_spec[i].to_i end # スイッチの一括オン処理 for i in 0...rx_range_specification.size $game_switches[rx_range_specification[i]] = true end # 継続(競合対策) return true end # スイッチの一括オフ処理(非範囲指定型) if @parameters[0].include?("スイッチ一括オフ") # 初期設定 rx_str = @parameters[0] # 複数行にわたって設定している場合 # それらを全て変数に代入する。 i = 1 loop do # 次の行に文字列がある場合 if @list[@index+i].code == 408 rx_str += " " + @list[@index+i].parameters[0] i += 1 else break end end # 文字列から数字の文字列のみを抽出 rx_r_spec = rx_str.scan(/\d+/) # 配列変数の初期化 rx_range_specification = [] # 数字の文字列を数値化 for i in 0...rx_r_spec.size rx_range_specification[i] = rx_r_spec[i].to_i end # スイッチの一括オフ処理 for i in 0...rx_range_specification.size $game_switches[rx_range_specification[i]] = false end # 継続(競合対策) return true end rx_sw_batch_ctrl_command_108 end end