#============================================================================== # ■ RGSS3 イベント実行中の自律移動停止 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # イベント(並行処理除く)実行中の各イベントの自律移動を停止します。 # 特定のイベントを例外にする事も出来ます。 #============================================================================== module EV_STOP #イベント設定用キーワード #ここで設定したキーワードをイベントの名前に含める事で #そのイベントはこのスクリプトによる自律移動の停止を受け付けなくなります。 #例. EVENT1 WORD = "" #メッセージ表示中は強制的にイベント中と判断するか? #(例.レベルアップメッセージ中等) #これは並列も含みますので注意が必要です。 MUF = true end class Game_Event < Game_Character attr_reader :event #-------------------------------------------------------------------------- # リフレッシュ #-------------------------------------------------------------------------- alias refresh_event_stop refresh def refresh refresh_event_stop stop_data_create end #-------------------------------------------------------------------------- # 停止判定の作成 #-------------------------------------------------------------------------- def stop_data_create @event_move_data = @event.name.include?(EV_STOP::WORD) end #-------------------------------------------------------------------------- # 自律移動の更新 #-------------------------------------------------------------------------- alias update_self_movement_event_stop update_self_movement def update_self_movement stop_data_create if @event_stop_data == nil return if !@event_move_data && ($game_map.interpreter.running? or mht_usm_flag) update_self_movement_event_stop end #-------------------------------------------------------------------------- # メッセージ表示中のイベント中判定 #-------------------------------------------------------------------------- def mht_usm_flag EV_STOP::MUF ? $game_message.has_text? : false end end