57 lines
2.5 KiB
JavaScript
57 lines
2.5 KiB
JavaScript
/*:
|
|
* @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);
|
|
};
|
|
})();
|