=begin RGSS3    ★ イベント中非表示イベント ★ イベント実行中は非表示になるイベントを作れます。 イベント中にシンボルエンカウントイベントを非表示にしたい時等に。 ● 使い方 ●======================================================== イベントの名前に「#IIV」という文字列を含ませてください ==================================================================== ver1.00 Last Update : 2015/05/13 5/13 : RGSS2にあったものを移植 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end #=========================================== # 設定箇所 #=========================================== module Invisible_on_Runevent # 非表示中はすり抜けをONにする(true/ false) THROUGH_EVENT = true end #=========================================== # ここまで #=========================================== $rsi ||= {} $rsi["イベント中非表示イベント"] = true class RPG::Event def invisible_on_runevent? @iiv ||= self.name.include?("#IIV") @iiv end end class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● インクルード Invisible_on_Runevent #-------------------------------------------------------------------------- include Invisible_on_Runevent #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :original_data # 本来の情報 [透明度, すり抜け] #-------------------------------------------------------------------------- # ● イベントページのセットアップ #-------------------------------------------------------------------------- alias invisible_event_setup_page setup_page def setup_page(new_page) invisible_event_setup_page(new_page) @original_data = [@opacity, @through] end #-------------------------------------------------------------------------- # ● イベント中に非表示にするイベントであるか #-------------------------------------------------------------------------- def invisible_on_runevent? @event.invisible_on_runevent? end #-------------------------------------------------------------------------- # ● 移動コマンドの処理 #-------------------------------------------------------------------------- def process_move_command(command) super(command) case command.code when ROUTE_THROUGH_ON; @original_data[1] = @through when ROUTE_THROUGH_OFF; @original_data[1] = @through when ROUTE_CHANGE_OPACITY; @original_data[0] = @opacity end end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias invisible_event_update update def update if invisible_on_runevent? if $game_map.interpreter.running? @opacity = [@opacity - 20, 0].max @through = true if THROUGH_EVENT else @opacity = [@opacity + 20, @original_data[0]].min @through = @original_data[1] end end invisible_event_update end end