#============================================================================== # ■ 全実行、全解除 #------------------------------------------------------------------------------ #  ツクール200Xにあった機能、「指定動作の全実行」、「指定動作の全解除」 # の二つのイベントコマンドを再現します # 指定動作の全実行:イベントコマンド"スクリプト"で「move_all_events」 # 指定動作の全解除:イベントコマンド"スクリプト"で「clear_all_moves」 # 「指定動作の全解除」を実行しても最初の一歩だけは解除されません。仕様です。 # # *月の下の宿 # URL:http://gekkasou.shiteyattari.com/ #============================================================================== #============================================================================== # ■ Game_Temp #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :moving_events # 現在移動中のイベント(IDの配列) attr_writer :move_all_events # "指定動作の全実行"フラグ #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias an_mae_initialize initialize def initialize @moving_events = [] @move_all_events = false an_mae_initialize end #-------------------------------------------------------------------------- # ● 移動中のイベントがあるかどうか確認 #-------------------------------------------------------------------------- def events_moving? return !@moving_events.compact.empty? end #-------------------------------------------------------------------------- # ● "指定動作の全実行"フラグ #-------------------------------------------------------------------------- def move_all_events @move_all_events = false unless events_moving? return @move_all_events end end #============================================================================== # ■ Game_Character #============================================================================== class Game_Character #-------------------------------------------------------------------------- # ● 移動ルートの強制 #-------------------------------------------------------------------------- alias an_mae_force_move_route force_move_route def force_move_route(move_route) $game_temp.moving_events << @id an_mae_force_move_route(move_route) end #-------------------------------------------------------------------------- # ● 移動タイプ : カスタム #-------------------------------------------------------------------------- alias an_mae_move_type_custom move_type_custom def move_type_custom if stopping? and @move_route.list[@move_route_index].code== 0 and !@move_route.repeat and @move_route_forcing $game_temp.moving_events.delete(@id) end an_mae_move_type_custom end end #============================================================================== # ■ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● エンカウントの更新 #-------------------------------------------------------------------------- alias an_mae_update_encounter update_encounter def update_encounter return if $game_temp.move_all_events an_mae_update_encounter end end #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● 指定動作の全実行 #-------------------------------------------------------------------------- def move_all_events $game_temp.move_all_events = true end #-------------------------------------------------------------------------- # ● 指定動作の全解除 #-------------------------------------------------------------------------- def clear_all_moves @moving_character = nil move_route = RPG::MoveRoute.new move_route.repeat = false for i in $game_map.events i[1].force_move_route(move_route) end $game_player.force_move_route(move_route) end #-------------------------------------------------------------------------- # ● スクリプト #-------------------------------------------------------------------------- alias an_mae_command_355 command_355 def command_355 result = an_mae_command_355 return false if $game_temp.move_all_events return result end end #Ver1.00