#============================================================================== # ■ RGSS3 メッセージスキップ機能 Ver1.04 by 星潟 #------------------------------------------------------------------------------ # メッセージウィンドウに表示された文章を一気に読み飛ばします。 # テストモード限定化機能と、特定のスイッチがONの時だけ # メッセージスキップを有効にする機能も併せて持っています。 #------------------------------------------------------------------------------ # Ver1.01 入力待ち無視(\^)が無効になる不具合を修正しました。 # Ver1.02 強制ウェイトの変更機能・テロップ高速化機能を追加。 # Ver1.03〜1.04 # キーの複数設定に対応。 # メッセージスキップの効果の限定に関する仕様を調整。 #============================================================================== module M_SKIP #メッセージスキップの効果の限定についての仕様を決定 #0でテストモード時のみ無条件で有効、通常時は不可 #1でテストモード時は無条件、通常時はスイッチによる条件つきで有効 #0と1以外で常時スイッチによる条件つきで有効 T_LIMT = 1 #テロップも高速化するか? SCROLL = true #テロップを高速化する場合の速度を指定。 SCROLS = 25 #メッセージスキップ有効化スイッチIDの設定。 #0にするとスイッチによる判定は消滅。(常時) #1以上にすると、そのスイッチがONの時のみメッセージスキップ有効。 SWITID = 1 #メッセージの強制ウェイトを設定。(デフォルトでは10。1以上を推奨) WAIT = 1 #メッセージスキップに使用するキーの設定。 #文字送りキーとしても機能します。 #nilにすると強制ウェイトの変更機能以外を無効化。 KEY = [:CTRL,:L] #-------------------------------------------------------------------------- # スキップ封印判定 #-------------------------------------------------------------------------- def self.seal tst = $TEST or $BTEST lmt = M_SKIP::T_LIMT case lmt when 0 return false unless tst flag1 = true when 1 flag1 = tst else flag1 = false end return false if !(flag1 or (SWITID == 0 ? true : $game_switches[SWITID])) KEY && M_SKIP::KEY.any? {|k| Input.press?(k)} end end class Window_Message < Window_Base #-------------------------------------------------------------------------- # フレーム更新 #-------------------------------------------------------------------------- alias update_mb update def update if M_SKIP.seal @pause_skip = true @show_fast = true end update_mb end #-------------------------------------------------------------------------- # 入力待ち処理 #-------------------------------------------------------------------------- def input_pause return if M_SKIP.seal self.pause = true wait(M_SKIP::WAIT) Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) || M_SKIP.seal Input.update self.pause = false end end class Window_ScrollText < Window_Base #-------------------------------------------------------------------------- # スクロール速度の取得 #-------------------------------------------------------------------------- alias scroll_speed_skip scroll_speed def scroll_speed if !$game_message.scroll_no_fast && M_SKIP::SCROLL && M_SKIP.seal M_SKIP::SCROLS else scroll_speed_skip end end end