「イベントタイマー機能を拡張し、詳細に制御できるプラグイン」です。
プラグイン本体は 下記ページで英語版が配布されています。
www.yanfly.moe/wiki/Event_Timer_Control_(YEP)
プラグイン本体と日本語化パッチをダウンロードして、パッチを貼ってください。
パッチの貼り方は下記記事を参考にしてください。
fungamemake.com/archives/5167
類似機能のプラグイン
- Hz Custom Timer(ひず様作)
- タイマーをミリ秒まで表示(にゃたま様作)
- オリジナルタイマー(fftfantt様作)
- タイマー制御(tokineko様作)
- GALV Timer End Event
- MOG Visual Timer
- HIME Timer Pause
どなたかのお役に立てば幸いです。
/*:ja
* @plugindesc v1.01 イベントタイマー機能を拡張し、詳細に制御できます。
* @author Yanfly Engine Plugins
*
* @help
* 翻訳:ムノクラ
* https://fungamemake.com/
* https://twitter.com/munokura/
*
* ===========================================================================
* 導入
* ===========================================================================
*
* イベントタイマーはカウントダウンの目的でよく使用されます。
* ただし、タイマーを一時停止して再開したり、タイマーの秒数、
* 分数、さらには数時間を増減したりできるように、
* もう少し制御したい場合があります。
* カウントダウンタイマーは不要ですか?
* 代わりにそれを上向きに数えないようにしませんか?
* 経験豊富なルナティックモードのコーダーも
* 自分のプラグインコマンドを追加することができるでしょう。
*
* 注目すべき変更点
* - スプライトセットからタイマースプライトを分離する機能
* - タイマーは時間を表示できるようになりました
* - タイマーの一時停止/再開機能
* - タイマーからの増減秒
* - 単なるカウントダウンではなくカウントアップ
*
* ===========================================================================
* プラグインコマンド
* ===========================================================================
*
* 以下のプラグインコマンドを使用して、イベントタイマーを制御します。
*
* プラグインコマンド
*
* --- 一時停止/再開 ---
*
* EventTimer Pause
* - イベントタイマーを一時停止します。
*
* EventTimer Resume
* - イベントタイマーが一時停止されている場合は再開します。
*
* --- COUNT DOWN/UP ---
*
* EventTimer Countdown
* - イベントタイマーをカウントダウンするように変更します。
*
* EventTimer Count Up
* - 手動で停止するまで、
* イベントタイマーをカウントアップするように変更します。
*
* EventTimer Count Toggle
* - イベントタイマーの方向を、増減方向を逆に切り替えます。
*
* --- 増加/減少 ---
*
* EventTimer Increase x Frames
* EventTimer Decrease x Frames
* - イベントタイマーを増減するフレーム数を'x'を数値で置き換えます。
*
* EventTimer Increase x Seconds
* EventTimer Decrease x Seconds
* - 'x'を数値で置き換えて、イベントタイマーを増減する秒数を決定します。
*
* EventTimer Increase x Minutes
* EventTimer Decrease x Minutes
* - 'x'を数値で置き換えて、イベントタイマーを増減する分数を決定します。
*
* EventTimer Increase x Hours
* EventTimer Decrease x Hours
* - 'x'を数値で置き換えて、イベントタイマーを増減する時間数を決定します。
*
* これらを組み合わせることもできます。
*
* EventTimer Increase x Hours, y Seconds
* EventTimer Increase x Hours, y Minutes
* EventTimer Increase x Minutes, y Seconds
* EventTimer Increase x Hours, y Minutes, z Seconds
*
* ===========================================================================
* ルナティックモード - エフェクトコード
* ===========================================================================
*
* JavaScriptを使って、このプラグインにプラグインコマンドを追加するか、
* プラグインパラメータエントリから現在存在するプラグインコマンドの
* コードを変更することができます。
* これは次のようになります。
*
* ---
*
* // ------------
* // Pause/Resume
* // ------------
* if (data.match(/PAUSE/i)) {
* $gameTimer.pause();
*
* } else if (data.match(/RESUME/i)) {
* $gameTimer.resume();
*
* ...
*
* // --------------------------------
* // Add new commands above this data
* // --------------------------------
* } else {
* // Do nothing
* }
*
* ---
*
* 'data'変数は、
* 'EventTimer'キーワードの後のプラグインコマンドの残りの部分を指します。
* 例えば:
*
* EventTimer Increase 2 Hours, 30 Minutes, 15 Seconds
*
* 'data'は'Increase 2 Hours, 30 Minutes, 15 Seconds'となり、
* 'EffectCode'パラメータの行をチェックする時、文字列'data'が使用されます。
*
* ---
*
* エフェクトコードを元に戻す必要がある場合、
* プラグイン管理からプラグインを削除してから、もう一度追加してください。
* コードはデフォルトに戻ります。
*
* ===========================================================================
* Changelog
* ===========================================================================
*
* Version 1.01:
* - Bypass the isDevToolsOpen() error when bad code is inserted into a script
* call or custom Lunatic Mode code segment due to updating to MV 1.6.1.
*
* Version 1.00:
* - Finished Plugin!
*
* ===========================================================================
* End of Helpfile
* ===========================================================================
*
* @param ---メカニカル---
*
* @param SpritesetSplit
* @text スプライトセットから分離
* @parent ---メカニカル---
* @type boolean
* @on 分離する
* @off 分離しない
* @desc ゲームタイマーをスプライトセットから分離
* 分離する:true / 分離しない:false / デフォルト:true
* @default true
*
* @param TextAlign
* @text タイマーテキスト行揃え
* @parent ---メカニカル---
* @type select
* @option 左
* @value left
* @option 中央
* @value center
* @option 右
* @value right
* @desc テキスト行揃え
* デフォルト:中央
* @default center
*
* @param ---ルナティックモード---
*
* @param Effect Code
* @text エフェクトコード
* @parent ---ルナティックモード---
* @type note
* @desc 各プラグインコマンドに使用されるコードです。
* @default "// ------------n// Pause/Resumen// ------------nif (data.match(/PAUSE/i)) {n $gameTimer.pause();nn} else if (data.match(/RESUME/i)) {n $gameTimer.resume();nn// -------------n// Count Down/Upn// -------------n} else if (data.match(/(?:COUNTDOWN|COUNT DOWN)/i)) {n $gameTimer.changeDirection(-1);nn} else if (data.match(/(?:COUNTUP|COUNT UP)/i)) {n $gameTimer.changeDirection(1);nn} else if (data.match(/(?:COUNTOGGLE|COUNT TOGGLE)/i)) {n $gameTimer.changeDirection(-1 * $gameTimer._direction);nn// -----------------n// Increase/Decreasen// -----------------n} else if (data.match(/(?:INCREASE|DECREASE)/i)) {n if (data.match(/DECREASE/i)) {n var direction = -1;n } else {n var direction = 1;n }n var frames = 0;n if (data.match(/(d+)[ ]FRAME/i)) {n frames += parseInt(RegExp.$1);n }n if (data.match(/(d+)[ ]SEC/i)) {n frames += parseInt(RegExp.$1) * 60;n }n if (data.match(/(d+)[ ]MIN/i)) {n frames += parseInt(RegExp.$1) * 60 * 60;n }n if (data.match(/(d+)[ ](?:HR|HOUR)/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60;n }n if (data.match(/(d+)[ ]DAY/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24;n }n if (data.match(/(d+)[ ]WEEK/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 7;n }n if (data.match(/(d+)[ ]MONTH/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 30;n }n if (data.match(/(d+)[ ](?:YR|YEAR)/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 365;n }n if (data.match(/(d+)[ ]DECADE/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 365 * 10;n }n if (data.match(/(d+)[ ]CENTUR/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 365 * 100;n }n if (data.match(/(d+)[ ]MILLEN/i)) {n frames += parseInt(RegExp.$1) * 60 * 60 * 60 * 24 * 365 * 1000;n }n frames *= direction;n $gameTimer.gainFrames(frames);nn// --------------------------------n// Add new commands above this datan// --------------------------------n} else {n // Do nothingn}"
*
* @param Expire Code
* @text 期限切れコード
* @parent ---ルナティックモード---
* @type note
* @desc カウントダウンタイマーが切れると実行されることができるユニークなコード。
* @default "BattleManager.abort();"
*
*/
