sacred-ritual-academy/Scripts/_.4.rb
2025-03-18 19:45:34 -05:00

88 lines
3.2 KiB
Ruby

#==============================================================================
# ■ RGSS3 メッセージスキップ機能 Ver1.02 by 星潟
#------------------------------------------------------------------------------
# メッセージウィンドウに表示された文章を一気に読み飛ばします。
# テストモード限定化機能と、特定のスイッチがONの時だけ
# メッセージスキップを有効にする機能も併せて持っています。
#------------------------------------------------------------------------------
# Ver1.01 入力待ち無視(\^)が無効になる不具合を修正しました。
# Ver1.02 強制ウェイトの変更機能・テロップ高速化機能を追加。
#==============================================================================
module M_SKIP
#メッセージスキップの効果をテストモードに限定するか?
#trueでテストモード限定、falseで常時
T_LIMT = false
#テロップも高速化するか?
SCROLL = true
#テロップを高速化する場合の速度を指定。
SCROLS = 25
#メッセージスキップ有効化スイッチIDの設定。
#0にするとスイッチによる判定は消滅。(常時)
#1以上にすると、そのスイッチがONの時のみメッセージスキップ有効。
SWITID = 0
#メッセージの強制ウェイトを設定。(デフォルトでは10。1以上を推奨)
WAIT = 1
#メッセージスキップに使用するキーの設定。
#文字送りキーとしても機能します。
#nilにするとメッセージスキップ機能全てを無効化。
KEY = :CTRL
#--------------------------------------------------------------------------
# スキップ封印判定
#--------------------------------------------------------------------------
def self.seal
(T_LIMT ? ($TEST or $BTEST) : true) &&
(SWITID == 0 ? true : $game_switches[SWITID]) &&
KEY && Input.press?(M_SKIP::KEY)
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