動的変数 - DynamicVariables.js
▼動的変数(トリアコンタン様作) - DynamicVariables.js
https://plugin.fungamemake.com/archives/1015
指定範囲内の変数、スイッチを参照しようとした際に、「変数名称」及び「スイッチ名称」をJavaScriptとして実行した結果を返すよう変更します。
ふりがな:どうてきへんすう
機能概要: 指定範囲内の変数、スイッチを参照しようとした際に、「変数名称」及び「スイッチ名称」をJavaScriptとして実行した結果を返すよう変更します。
利用規約(ライセンス): MITライセンス
作者:トリアコンタン
作者サイト:https://triacontane.blogspot.com/
解説ページ:https://triacontane.blogspot.jp/2016/11/blog-post.html
ダウンロードページ:https://raw.githubusercontent.com/triacontane/RPGMakerM…
ファイル名:DynamicVariables.js
プラグインのヘルプ:
/*:ja * @plugindesc 動的変数プラグイン * @author トリアコンタン * * @param 動的スイッチ開始位置 * @desc 動的スイッチの開始位置番号です。 * @default 0 * @type switch * * @param 動的スイッチ終了位置 * @desc 動的スイッチの終了位置番号です。 * @default 0 * @type switch * * @param 動的変数開始位置 * @desc 動的変数の開始位置番号です。 * @default 0 * @type variable * * @param 動的変数終了位置 * @desc 動的変数の終了位置番号です。 * @default 0 * @type variable * * @param 例外処理 * @desc スクリプト実行時に例外処理を行います。不正なスクリプトで強制終了しなくなる代わりに実行速度が僅かに低下します。 * @default false * @type boolean * * @help 指定範囲内の変数、スイッチを参照しようとした際に、 * 「変数名称」及び「スイッチ名称」をJavaScriptとして実行した結果を返すよう * 変更します。JavaScript中では式の簡略化のために以下のローカル変数が利用できます。 * * id # 処理対象のスイッチ、変数ID * value # 処理対象のスイッチ、変数IDにもともと入っていた値 * v(n) # [n]番の変数の値 * s(n) # [n]番のスイッチの値 * max # Math.maxに変換されます。(例 : max(1, 2) -> 2) * min # Math.minに変換されます。(例 : min(1, 2) -> 1) * gPlayer # $gamePlayerに変換されます。(例 : gPlayer.x -> プレイヤーX座標) * dSystem # $dataSystemsに変換されます。(例:dSystem.startX -> 開始位置X座標) * ※ Math.max以外にも一般的なMathモジュールのメソッドが使用可能です。 * また、他のゲームオブジェクト、データオブジェクトも同じ記法で参照できます。 * いずれも利用には、多少のJavaScriptの知識が必要になります。 * * また、以下のスクリプトでスイッチや変数にもともと入っている値を参照できます。 * this._data[id] * * 動的変数は、指定範囲内の変数およびスイッチを参照するすべての箇所(※)で有効です。 * また、範囲内の変数及びスイッチに対する値の設定は無視されます。 * * ※変数・スイッチを参照する例 * 1. イベントページの決定処理 * 2. 敵キャラの行動決定処理 * 3. 条件分岐 * 4. イベントコマンドの各種オペランド * 5. スキルやアイテムの計算式(ただしv[1]で参照した場合は除く) * 6. その他プラグインによる参照 * * スクリプト中でさらに動的変数およびスイッチを参照することもできますが * 同じ番号の変数 or スイッチを参照しようとすると循環参照となりエラーが発生します。 * * ・設定例1 * イベントページの「スイッチ」に「名称」が以下のものを設定する。 * v(1) > 0 || s(1) # 変数[1]が[0]より大きい、もしくはスイッチ[1]がON * 以上の条件を満たした場合に対象ページが表示される。 * * ・設定例2 * イベントページの「スイッチ」に「名称」が以下のものを設定する。 * v(1) < v(2) && !s(2) # 変数[1]が変数[2]より小さい、かつスイッチ[2]がOFF * 以上の条件を満たした場合に対象ページが表示される。 * * ・設定例3 * イベントページの「スイッチ」に「名称」が以下のものを設定する。 * gPlayer.x % 2 === 0 # プレイヤーのX座標が偶数 * 以上の条件を満たした場合に対象ページが表示される。 * * ・使用上の注意 * 通常、イベントのページを決定する処理は、いずれかのスイッチもしくは変数が * 変更されたときにのみ実行されます。本プラグインでは、パフォーマンス上の理由から * その仕様を維持します。 * もし、指定している条件がスイッチおよび変数と完全に無関係な場合 * (設定例3のケース等)イベントのメモ欄に以下の通り入力すると、そのイベントのみ * 常にページの条件チェックを行うように変更できます。 * * <DV常時リフレッシュ> * <DVAlwaysRefresh> * * (参考)基本的なJavaScript演算子 * ・四則演算 : + - * / * ・論理和(Or) : || * ・論理積(And) : && * ・否定(Not) : ! * * このプラグインにはプラグインコマンドはありません。 * * 利用規約: * 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等) * についても制限はありません。 * このプラグインはもうあなたのものです。 */