当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
テンプレートイベント - TemplateEvent.js
シェア用テキスト:
▼テンプレートイベント(トリアコンタン様作) - TemplateEvent.js
https://plugin-mz.fungamemake.com/archives/255
汎用的に使用するイベントをテンプレート化できます。
ふりがな:てんぷれーといべんと
機能概要: 汎用的に使用するイベントをテンプレート化できます。
利用規約(ライセンス): MITライセンス
作者:トリアコンタン
作者サイト:https://twitter.com/triacontane
ダウンロードページ:https://raw.githubusercontent.com/triacontane/RPGMakerM…
ファイル名:TemplateEvent.js
備考:RPGツクールMZ準公式プラグイン。 C:/Program Files (x86)/Steam/steamapps/common/RPG Maker MZ/dlc C:/Program Files/KADOKAWA/RPGMZ/dlc/BasicResources
プラグインのヘルプ:
/*:
* @target MZ
* @base PluginBaseFunction
* @plugindesc テンプレートイベントプラグイン
* @author トリアコンタン
*
* @param TemplateMapId
* @text テンプレートマップID
* @desc テンプレートイベントが存在するマップIDです。
* @default 1
* @type number
*
* @param KeepEventId
* @text イベントIDを維持
* @desc マップイベントを呼び出す際に、呼び出し元のイベントIDを維持します。対象を「このイベント」にした際の挙動が変わります。
* @default false
* @type boolean
*
* @param OverrideTarget
* @text 上書き対象項目
* @desc メモ欄で上書き(テンプレートイベントより固有イベントの設定を優先)指定したイベントの上書き対象項目を設定します。
* @default
* @type struct<override>
*
* @param AutoOverride
* @text 自動上書き
* @desc メモ欄で上書き設定をしなくても「上書き対象項目」の設定を上書きします。
* @default false
* @type boolean
*
* @param IntegrateNote
* @text メモ欄統合
* @desc テンプレートイベントと固有イベントのメモ欄を統合もしくは上書きします。
* @default 0
* @type select
* @option 何もしない
* @value 0
* @option 統合
* @value 1
* @option 上書き
* @value 2
*
* @command CALL_ORIGIN_EVENT
* @text 固有イベント呼び出し
* @desc 置き換え元のイベント処理を呼び出します。処理完了後、元の処理に戻ります。
*
* @arg pageIndex
* @text ページ番号
* @desc 呼び出すイベントのページ番号です。0を指定すると実行中のページと同じ番号を呼び出します。
* @default 0
* @type number
*
* @command CALL_MAP_EVENT
* @text マップイベント呼び出し
* @desc マップイベントの処理を呼び出します。
*
* @arg pageIndex
* @text ページ番号
* @desc 呼び出すイベントのページ番号です。0を指定すると実行中のページと同じ番号を呼び出します。
* @default 0
* @type number
*
* @arg eventId
* @text イベントID
* @desc 呼び出すイベントのIDです。0を指定すると実行中のイベントが対象になります。
* @default 0
* @type number
*
* @command SET_SELF_VARIABLE
* @text セルフ変数の操作
* @desc セルフ変数を操作します。
*
* @arg index
* @text インデックス
* @desc 操作対象のセルフ変数のインデックスです。
* @default 1
* @type number
*
* @arg type
* @text 操作種別
* @desc 操作種別です。
* @default 0
* @type select
* @option 0 : 代入
* @value 0
* @option 1 : 加算
* @value 1
* @option 2 : 減算
* @value 2
* @option 3 : 乗算
* @value 3
* @option 4 : 除算
* @value 4
* @option 5 : 剰余
* @value 5
*
* @arg operand
* @text 設定値
* @desc セルフ変数に設定する値です。
* @default 0
*
* @command SET_RANGE_SELF_VARIABLE
* @text セルフ変数の一括操作
* @desc セルフ変数を一括操作します。
*
* @arg startIndex
* @text 開始インデックス
* @desc 操作対象のセルフ変数の開始インデックスです。
* @default 1
* @type number
*
* @arg endIndex
* @text 終了インデックス
* @desc 操作対象のセルフ変数の終了インデックスです。
* @default 1
* @type number
*
* @arg type
* @text 操作種別
* @desc 操作種別です。
* @default 0
* @type select
*
* @arg operand
* @text 設定値
* @desc セルフ変数に設定する値です。
* @default 0
* @type select
*
* @help TemplateEvent.js[テンプレートイベントプラグイン]
*
* 汎用的に使用するイベントをテンプレート化できます。
* テンプレートイベントは、専用に用意したマップに定義してください。
* 実際のイベントのメモ欄に所定の記述をするだけで、テンプレートイベントと
* 動的に置き換えることができます。
*
* またテンプレートイベントから置き換え元のイベントを呼び出すことができます。
* 宝箱や場所移動イベント等、一部だけ固有の処理をしたい場合に有効です。
* 外観や共通部分のイベント処理をテンプレートイベントに記述し、
* アイテム入手や場所移動先指定など固有部分だけを元のイベントに記述します。
*
* 任意のマップイベントをコモンイベントのように呼び出す機能も提供します。
* IDおよびイベント名で呼び出すイベントを指定可能です。
*
* 利用手順
* 1.テンプレートマップを作成して、テンプレートイベントを配置します。
*
* 2.テンプレートイベントに置き換えたいイベントのメモ欄を記述します。
* IDとイベント名の双方が指定可能です。
* <TE:1> テンプレートマップのID[1]のイベントに置き換わります。
* <TE:aaa> テンプレートマップのイベント名[aaa]のイベントに置き換わります。
* <TE:v[1]> テンプレートマップのID[変数[1]の値]のイベントに置き換わります。
*
* 原則、初期配置以外の全設定はテンプレートイベントの設定に置き換わりますが
* 例外としてメモ欄(※1)を記述した場合は
* 以下の任意の設定について固有イベントの設定で上書きします。
* ・画像
* ・自律移動
* ・オプション
* ・プライオリティ
* ・トリガー
*
* ※1 固有イベントのメモ欄に以下の通り記述します。
* <TE上書き>
* <TEOverRide>
*
* ・セルフ変数機能
* イベントに対してセルフ変数(そのイベント専用の変数)を定義できます。
* プラグインコマンドから操作し、文章の表示やイベント出現条件として使用可能です。
*
* 「文章の表示」で使用する場合
* 制御文字「sv[n](n:インデックス)」で表示できます。
*
* 「イベント出現条件」で使用する場合
* 対象ページのイベントコマンドの先頭を「注釈」にして
* 以下の書式で条件を指定してください。複数指定も可能です。
*
* TE{条件}
*
* 条件はJavaScriptとしてで記述し、制御文字が使用可能です。
* 指定例:
* TE{sv[1] >= 3} # セルフ変数[1]が3以上の場合
* TE{sv[2] === v[1]} # セルフ変数[2]が変数[1]と等しい場合
* TE{sv[3] === 'AAA'} # セルフ変数[3]が'AAA'と等しい場合
*
* 「条件分岐」などのスクリプトで使用する場合
* 以下のスクリプトで指定したインデックスのセルフ変数が取得できます。
* this.getSelfVariable(n)
* 指定例:
* this.getSelfVariable(1) !== 0 # セルフ変数[1]が3以上の場合
*
* 本プラグインのすべてのプラグインコマンドで制御文字sv[n]を使用できます。
*
* ・スクリプト(イベントコマンドのスクリプト、変数の操作から実行)
* 固有処理呼び出し中にテンプレートイベントのIDと名称を取得します。
* this.character(0).getTemplateId();
* this.character(0).getTemplateName();
*
* 指定したインデックスのセルフ変数を取得します。
* this.getSelfVariable(index);
*
* セルフ変数に値を設定します。
* このスクリプトは「移動ルートの設定」でも実行できます。
* formulaFlgをtrueに設定すると、operandを計算式として評価します。
* this.controlSelfVariable(index, type, operand, formulaFlg);
*
* セルフ変数に値を一括設定します。
* このスクリプトは「移動ルートの設定」でも実行できます。
* this.controlSelfVariableRange(start, end, type, operand, formulaFlg);
*
* 外部のイベントのセルフ変数を操作します。
* $gameSelfSwitches.setVariableValue([マップID, イベントID, INDEX], 設定値);
*
* 外部のイベントのセルフ変数を取得します。
* $gameSelfSwitches.getVariableValue([マップID, イベントID, INDEX]);
*
* SAN_MapGenerator.jsと組み合わせる場合
* このプラグインをSAN_MapGenerator.jsより下に定義してください。
*
* 利用規約:
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
* についても制限はありません。
* このプラグインはもうあなたのものです。
*/