75 lines
3.7 KiB
JavaScript
75 lines
3.7 KiB
JavaScript
//=============================================================================
|
|
// CommonEventBeforeAfterMenu.js
|
|
//=============================================================================
|
|
|
|
/*:
|
|
* @plugindesc メニューを開く直前、または閉じた直後に、指定したコモンイベントを実行します。
|
|
* @author 奏ねこま(おとぶきねこま)
|
|
*
|
|
* @param Common Event ID (before Menu)
|
|
* @desc メニューを開く直前に実行するコモンイベントのIDを指定してください。
|
|
* @default 0
|
|
*
|
|
* @param Common Event ID (after Menu)
|
|
* @desc メニューを閉じた直後に実行するコモンイベントのIDを指定してください。
|
|
* @default 0
|
|
*
|
|
* @help
|
|
* *このプラグインには、プラグインコマンドはありません。
|
|
*
|
|
* [ 利用規約 ] ................................................................
|
|
* ・本プラグインの利用は、RPGツクールMV/RPGMakerMVの正規ユーザーに限られます。
|
|
* ・商用、非商用、有償、無償、一般向け、成人向けを問わず、利用可能です。
|
|
* ・利用の際、連絡や報告は必要ありません。また、製作者名の記載等も不要です。
|
|
* ・プラグインを導入した作品に同梱する形以外での再配布、転載はご遠慮ください。
|
|
* ・不具合対応以外のサポートやリクエストは、基本的に受け付けておりません。
|
|
* ・本プラグインにより生じたいかなる問題についても、一切の責任を負いかねます。
|
|
* [ 改訂履歴 ] ................................................................
|
|
* Version 1.03 2017/04/24 ウェイトを含んだコモンイベントを実行すると、
|
|
* イベント後にメニューが開かない問題を修正
|
|
* Version 1.02 2017/02/13 メニュー後コモンイベントが、マップ以外への
|
|
* シーン遷移時にも実行予約されていた問題を修正
|
|
* Version 1.01 2017/01/05 メニュー後コモンイベントIDを0に設定しても
|
|
* コモンイベントの予約が実行されていた問題を修正
|
|
* Version 1.00 2016/07/21 初版
|
|
* -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|
|
* Web Site: http://makonet.sakura.ne.jp/rpg_tkool/
|
|
* Twitter : https://twitter.com/koma_neko
|
|
* Copylight (c) 2017 Nekoma Otobuki
|
|
*/
|
|
|
|
(function () {
|
|
'use strict';
|
|
|
|
const _PNAME = 'CommonEventBeforeAfterMenu';
|
|
const _PARAMETERS = PluginManager.parameters(_PNAME);
|
|
|
|
const _COMMON_EVENT_ID_BM = +_PARAMETERS['Common Event ID (before Menu)'] || 0;
|
|
const _COMMON_EVENT_ID_AM = +_PARAMETERS['Common Event ID (after Menu)'] || 0;
|
|
|
|
function _(f) { return f[_PNAME] = f[_PNAME] || {} }
|
|
|
|
var _Scene_Map_isMenuCalled = Scene_Map.prototype.isMenuCalled;
|
|
Scene_Map.prototype.isMenuCalled = function () {
|
|
return _Scene_Map_isMenuCalled.call(this) || _(this).reserveCallMenu;
|
|
};
|
|
|
|
var _Scene_Map_callMenu = Scene_Map.prototype.callMenu;
|
|
Scene_Map.prototype.callMenu = function () {
|
|
if (_COMMON_EVENT_ID_BM && !_(this).reserveCallMenu) {
|
|
_(this).reserveCallMenu = true;
|
|
$gameTemp.reserveCommonEvent(_COMMON_EVENT_ID_BM);
|
|
} else {
|
|
_(this).reserveCallMenu = false;
|
|
_Scene_Map_callMenu.call(this);
|
|
}
|
|
};
|
|
|
|
var _Scene_Menu_terminate = Scene_Menu.prototype.terminate;
|
|
Scene_Menu.prototype.terminate = function () {
|
|
if (_COMMON_EVENT_ID_AM && SceneManager.isNextScene(Scene_Map)) {
|
|
$gameTemp.reserveCommonEvent(_COMMON_EVENT_ID_AM);
|
|
}
|
|
_Scene_Menu_terminate.call(this);
|
|
};
|
|
}());
|