/*: * @target MZ * @plugindesc 一時的にメッセージ送り入力を禁止/許可する v1.0 * @author IvI * * @command Disable * @text メッセージ送り禁止 * @desc メッセージ送りの入力を無効化します。 * * @command Enable * @text メッセージ送り許可 * @desc メッセージ送りの入力を再び有効にします。 * * @help * 【使い方】 * 1. plugins フォルダに入れてプラグインマネージャで「ON」。 * 2. イベントコマンド「プラグインコマンド」から * ・「メッセージ送り禁止」 … 以降、入力を受け付けません * ・「メッセージ送り許可」 … 再び入力を受け付けます * * 【ポイント】 * ●メッセージウィンドウが閉じている間もフラグは保持されます。 * ●自動送り(\.^, \| などのウェイト制御)はそのまま機能します。 * ●スイッチや変数を介さず、イベント内で直感的に ON/OFF 可能です。 */ (() => { // ----------------------------------------------------------------------- // 内部フラグ(ゲーム全体で共有) // ----------------------------------------------------------------------- const Game_System_initialize = Game_System.prototype.initialize; Game_System.prototype.initialize = function() { Game_System_initialize.call(this); this._disableMessageAdvance = false; // false = 許可 / true = 禁止 }; // ----------------------------------------------------------------------- // プラグインコマンド // ----------------------------------------------------------------------- PluginManager.registerCommand(document.currentScript.src.match(/([^/]+)\.js$/)[1], "Disable", () => { $gameSystem._disableMessageAdvance = true; }); PluginManager.registerCommand(document.currentScript.src.match(/([^/]+)\.js$/)[1], "Enable", () => { $gameSystem._disableMessageAdvance = false; }); // ----------------------------------------------------------------------- // メッセージウィンドウ:入力判定をフック // ----------------------------------------------------------------------- const _Window_Message_isTriggered = Window_Message.prototype.isTriggered; Window_Message.prototype.isTriggered = function() { // 禁止フラグが立っている間は常に false を返す if ($gameSystem._disableMessageAdvance) return false; return _Window_Message_isTriggered.call(this); }; })();