#=========================================================================== # ◆ A1 Scripts ◆ # 移動速度拡張・常にダッシュ(RGSS2/RGSS3共用) # # バージョン : 1.20 (2011/01/02) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・プレイヤーを常にダッシュ状態にします # ・移動速度を6以上に設定可能にします # ・移動速度1の移動速度を変更します #--------------------------------------------------------------------------- # 更新履歴   :2011/12/15 Ver1.00 リリース #    :2011/12/30 Ver1.10 移動速度1の移動速度を変更する機能追加 #    :2011/12/30 Ver1.10 イベントページの移動速度を設定する機能追加 #    :2011/12/30 Ver1.10 RGSS2対応 #    :2012/01/02 Ver1.20 A1共通スクリプトVer3.30対応 #--------------------------------------------------------------------------- # 設置場所 #  A1共通スクリプトより下 # # 必要スクリプト # A1共通スクリプトVer3.30以上 #--------------------------------------------------------------------------- # 使い方 # イベントコマンド「注釈」で常にダッシュの on/off を切り替えます # #  常にダッシュ on|off # # イベントコマンド「注釈」で移動速度1の移動速度を設定します # #  移動速度1 d d:移動速度 # # イベントコマンド「移動ルートの設定」「スクリプト」で # 移動速度を設定します # # move_speed(d) d:移動速度 # # イベント名で初期移動速度を設定 # [P(no)Ms d] no:ページNo d:移動速度 # # 例:イベント名[P1Ms 7] ※このイベントの、イベントページ1の移動速度を7にします # 例:イベント名[P0Ms 8] ※このイベントの、全てのページの移動速度を8にします # #============================================================================== $imported ||= {} $imported["A1_Move_Speed"] = true if $imported["A1_Common_Script"] old_common_script("移動速度拡張・常にダッシュ", "3.30") if common_version < 3.30 #============================================================================== # ■ Game_Event #============================================================================== class RPG::Event #-------------------------------------------------------------------------- # ○ イベントページの移動速度をセットアップ #-------------------------------------------------------------------------- def setup_pages_move_speed @name.scan(/\[P(\d+)Ms[ ](\d+)\]/).each {|info| page_no = info[0].to_i return change_all_move_speed(info[1].to_i) if page_no == 0 change_move_speed(@pages[page_no - 1], info[1].to_i) } end #-------------------------------------------------------------------------- # ○ 全てのイベントページの移動速度を変更 #-------------------------------------------------------------------------- def change_all_move_speed(move_speed) @pages.each {|page| change_move_speed(page, move_speed) } end #-------------------------------------------------------------------------- # ○ イベントページの移動速度を変更 #-------------------------------------------------------------------------- def change_move_speed(page, move_speed) return if page == nil page.move_speed = move_speed end end #============================================================================== # ■ Game_Event #------------------------------------------------------------------------------ #  イベントを扱うクラスです。条件判定によるイベントページ切り替えや、並列処理 # イベント実行などの機能を持っており、Game_Map クラスの内部で使用されます。 #============================================================================== class Game_Event < Game_Character #-------------------------------------------------------------------------- # ☆ オブジェクト初期化 # event : RPG::Event #-------------------------------------------------------------------------- alias a1_move_speed_ge_initialize initialize def initialize(map_id, event) event.setup_pages_move_speed a1_move_speed_ge_initialize(map_id, event) end end #============================================================================== # ◆ RGSS3用処理 #============================================================================== if rgss_version == 3 #============================================================================== # ■ Game_CharacterBase #------------------------------------------------------------------------------ #  キャラクターを扱う基本のクラスです。全てのキャラクターに共通する、座標やグ # ラフィックなどの基本的な情報を保持します。 #============================================================================== class Game_CharacterBase #-------------------------------------------------------------------------- # ☆ 移動速度の取得(ダッシュを考慮) #-------------------------------------------------------------------------- alias a1_move_speed_gc_real_move_speed real_move_speed def real_move_speed return $game_system.move_speed1 + (dash? ? 1 : 0) if @move_speed == 1 return a1_move_speed_gc_real_move_speed end end #============================================================================== # ◆ RGSS3以外用処理 #============================================================================== else end #============================================================================== # ■ Game_Character #------------------------------------------------------------------------------ #  主に移動ルートなどの処理を追加したキャラクターのクラスです。Game_Player、 # Game_Follower、GameVehicle、Game_Event のスーパークラスとして使用されます。 #============================================================================== class Game_Character #-------------------------------------------------------------------------- # ○ 移動速度の変更 #-------------------------------------------------------------------------- def move_speed(value) @move_speed = value end #-------------------------------------------------------------------------- # ◆ RGSS2用処理 #-------------------------------------------------------------------------- if rgss_version == 2 #-------------------------------------------------------------------------- # ☆ 移動時の更新 #-------------------------------------------------------------------------- alias a1_move_speed_gc_update_move update_move def update_move @move_speed = $game_system.move_speed1 if @move_speed == 1 a1_move_speed_gc_update_move end #-------------------------------------------------------------------------- # ◆ RGSS用処理 #-------------------------------------------------------------------------- elsif rgss_version == 1 end end #============================================================================== # ■ Game_Player #------------------------------------------------------------------------------ #  プレイヤーを扱うクラスです。イベントの起動判定や、マップのスクロールなどの # 機能を持っています。このクラスのインスタンスは $game_player で参照されます。 #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ☆ ダッシュ状態判定 #-------------------------------------------------------------------------- alias a1_player_dash_gp_dash? dash? def dash? return true if $game_system.player_dash return a1_player_dash_gp_dash? end end #============================================================================== # ■ Game_System #------------------------------------------------------------------------------ #  システム周りのデータを扱うクラスです。乗り物や BGM などの管理も行います。 # このクラスのインスタンスは $game_system で参照されます。 #============================================================================== class Game_System #-------------------------------------------------------------------------- # ○ 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :player_dash # プレイヤー常にダッシュフラグ attr_accessor :move_speed1 # 移動速度 1 の移動速度 #-------------------------------------------------------------------------- # ☆ オブジェクト初期化 #-------------------------------------------------------------------------- alias a1_player_dash_gs_initialize initialize def initialize a1_player_dash_gs_initialize @player_dash = false @move_speed1 = 1 end #-------------------------------------------------------------------------- # ○ 移動速度1の移動速度 #-------------------------------------------------------------------------- def move_speed1 @move_speed1 ||= 1 return @move_speed1 end end #============================================================================== # ■ A1_System::CommonModule #============================================================================== class A1_System::CommonModule #-------------------------------------------------------------------------- # ☆ 注釈コマンド定義 #-------------------------------------------------------------------------- alias a1_player_dash_define_command define_command def define_command a1_player_dash_define_command @cmd_108["常にダッシュ"] = :player_dash @cmd_108["移動速度1"] = :move_speed1 end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ○ 常にダッシュ #-------------------------------------------------------------------------- def player_dash(params) $game_system.player_dash = params[0] == "on" ? true : false end #-------------------------------------------------------------------------- # ○ 移動速度1 #-------------------------------------------------------------------------- def move_speed1(params) $game_system.move_speed1 = params[0].to_i end end end