bbrx 发布于一月 26, 2014 分享 发布于一月 26, 2014 话说这个 发在绅士游戏或工作组区比较多人回吧? 把游戏拆开 一般vx用的是CACAO氏的メッセージスキップ http://cacaosoft.web.fc2.com/ #****************************************************************************** # # * メッセージスキップ # # -------------------------------------------------------------------------- # バージョン : 1.0.0 # 対 応 : RPGツクールVX : RGSS2 # 制 作 者 : CACAO # 配 布 元 : http://cacaosoft.web.fc2.com/ # -------------------------------------------------------------------------- # == 概 要 == # # : 特定のボタンを押している間メッセージを早送りします。 # # #****************************************************************************** #============================================================================== # ◆ 設定項目 #============================================================================== class Window_Message # スキップ禁止スイッチの番号 SKIP_SW_NUM = 0 # スキップするボタン (Ctrlキー) SKIP_BUTTON = Input::CTRL # スキップに掛ける時間 SKIP_WAIT = 3 end #/////////////////////////////////////////////////////////////////////////////# # # # 下記のスクリプトを変更する必要はありません。 # # # #/////////////////////////////////////////////////////////////////////////////# class Window_Message #-------------------------------------------------------------------------- # ○ 早送りフラグの更新 #-------------------------------------------------------------------------- alias _cao_skip_update_show_fast update_show_fast def update_show_fast if !$game_switches[sKIP_SW_NUM] && Input.press?(SKIP_BUTTON) @show_fast = true @wait_count = SKIP_WAIT if @wait_count > SKIP_WAIT else _cao_skip_update_show_fast end end #-------------------------------------------------------------------------- # ○ 文章送りの入力処理 #-------------------------------------------------------------------------- alias _cao_skip_input_pause input_pause def input_pause if Input.press?(SKIP_BUTTON) self.pause = false if @text != nil and not @text.empty? new_page if @line_count >= MAX_LINE else terminate_message end else _cao_skip_input_pause end end end =============================================分隔线 个人是放在素材後main前 vxa是另一个不能通用 不难 很简单 脚本编辑器>拉到最後找个空白位>右边贴上内容>左下命名>储存 完工 不过若是作者有用其他脚本先定义过会失效 此时要找出来改 太麻烦一般就算了 需要vxa个人再发上来 不过其实可以自己拆有skip功能的游戏 把脚本腾移过去即可 链接到点评
bbrx 发布于一月 26, 2014 分享 发布于一月 26, 2014 星潟氏的vxa版本skip 就一起发了 #============================================================================== # ■ RGSS3 メッセージスキップ機能 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # メッセージウィンドウに表示された文章を一気に読み飛ばします。 # テストモード限定化機能と、特定のスイッチがONの時だけ # メッセージスキップを有効にする機能も併せて持っています。 #------------------------------------------------------------------------------ # Ver1.01 入力待ち無視(\^)が無効になる不具合を修正しました。 #============================================================================== module M_SKIP #メッセージスキップの効果をテストモードに限定するか? #trueでテストモード限定、falseで常時 T_LIMT = false #メッセージスキップ有効化スイッチIDの設定。 #0にするとスイッチによる判定は消滅。 #1以上にすると、そのスイッチがONの時のみメッセージスキップ有効。 SWITID = 0 #メッセージスキップに使用するキーの設定。 #文字送りキーとしても機能します。 #nilにするとメッセージスキップ機能全てを無効化。 KEY = :CTRL end class Window_Message < Window_Base #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_mb update def update if skip_execute @pause_skip = true @show_fast = true end update_mb end #-------------------------------------------------------------------------- # ● スキップ判定 #-------------------------------------------------------------------------- def skip_execute if M_SKIP::T_LIMT unless $TEST or $BTEST return false end end if M_SKIP::SWITID != 0 return false unless $game_switches[M_SKIP::SWITID] end return false unless Input.press?(M_SKIP::KEY) return true end #-------------------------------------------------------------------------- # ● 入力処理 #-------------------------------------------------------------------------- def process_input if $game_message.choice? input_choice elsif $game_message.num_input? input_number elsif $game_message.item_choice? input_item else input_pause unless @pause_skip or skip_execute end end #-------------------------------------------------------------------------- # ● 入力待ち処理 #-------------------------------------------------------------------------- def input_pause self.pause = true wait(10) if M_SKIP::KEY == nil Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) else if M_SKIP::T_LIMT == true if $TEST or $BTEST Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) || Input.press?(M_SKIP::KEY) else Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) end else Fiber.yield until Input.trigger?(:B) || Input.trigger?(:C) || Input.press?(M_SKIP::KEY) end end Input.update self.pause = false end end 链接到点评
推荐贴