当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
YEP Event Timer Control - YEP_EventTimerControl.js

▼YEP Event Timer Control(Yanfly様作) - YEP_EventTimerControl.js
https://plugin.fungamemake.com/archives/10642
イベントタイマー機能に一時停止・カウントアップ等を拡張
ふりがな:いべんとたいまーこんとろーる
機能概要: イベントタイマー機能に一時停止・カウントアップ等を拡張
利用規約(ライセンス):http://www.yanfly.moe/wiki/Category:Yanfly_Engine_Plugi…
作者:Yanfly
作者サイト:http://yanfly.moe/
解説ページ:https://fungamemake.com/archives/1540
ダウンロードページ:http://yanfly.moe/2017/12/08/yep-160-event-timer-contro…
ファイル名:YEP_EventTimerControl.js
プラグインのヘルプ:
/*:ja
* @plugindesc v1.01 イベントタイマー機能を拡張し、詳細にコントロールできます。
* @author Yanfly Engine Plugins
*
* @help
* 翻訳:ムノクラ
* https://munokura.tk/
* https://twitter.com/munokura/
*
* ============================================================================
* Introduction
* ============================================================================
*
* イベントタイマーはカウントダウンの目的でよく使用されます。
* ただし、タイマーを一時停止して再開したり、タイマーの秒数、
* 分数、さらには数時間を増減したりできるように、
* もう少し制御したい場合があります。
* カウントダウンタイマーは不要ですか?
* 代わりにそれを上向きに数えないようにしませんか?
* 経験豊富なルナティックモードのコーダーも
* 自分のプラグインコマンドを追加することができるでしょう。
*
* 注目すべき変更点
* - スプライトセットからタイマースプライトを分離する機能
* - タイマーは時間を表示できるようになりました
* - タイマーの一時停止/再開機能
* - タイマーからの増減秒
* - 単なるカウントダウンではなくカウントアップ
*
* ============================================================================
* Plugin Commands
* ============================================================================
*
* 以下のプラグインコマンドを使用して、イベントタイマーを制御します。
*
* プラグインコマンド
*
* --- 一時停止/再開 ---
*
* 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
*
* ============================================================================
* Lunatic Mode - Effect Code
* ============================================================================
*
* 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 Separate from Spriteset
* @parent ---メカニカル---
* @type boolean
* @on YES
* @off NO
* @desc ゲームタイマーをスプライトセットから分離します。
* YES - true NO - false DEFAULT: true
* @default true
*
* @param TextAlign
* @text Timer Text Alignment
* @parent ---メカニカル---
* @type combo
* @option left
* @option center
* @option right
* @desc テキスト配置
* Default: center
* @default right
*
* @param ---ルナティックモード---
*
* @param Effect Code
* @parent ---ルナティックモード---
* @type note
* @desc LUNATIC MODE:各プラグインコマンドに使用されるコードです。
* @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
* @parent ---ルナティックモード---
* @type note
* @desc LUNATIC MODE:カウントダウンタイマーが切れると実行されることができるユニークなコード。
* @default ”BattleManager.abort();”
*
*/