【1月プラン記事①】移動ルート拡張プラグイン
(ver1.0.1 <2022/1/24> セーブ・ロードの不具合修正)
こんにちは!
今月の有料プラン記事の内容は「移動ルートの拡張プラグイン」です!
ちなみに、2回目にして今月が最後になります!!
▷バックナンバー
* 12月:マップ上でのアニメーション表示の拡張/調整プラグイン
最後ということで気合入れすぎて、かなりすごいプラグインが出来たのでぜひぜひご活用くださいませ〜
主な機能
- スクリプト欄へのコマンド入力で移動ルートの記述
└制御文字も○ - 多彩なコマンドを追加
└イベントコマンドから抜粋(画面演出、バルーン、プラグインコマンドなど)
└角度・拡大率などの表示拡張&アニメーション
└あると便利なコマンド群(X=5まで歩く、イベント実行…など)
└簡易なif、指定回数ループ、ラベルで複雑なルート制御 - 注釈/スクリプトコマンドを使ったルート設定
└自律移動をイベントページの頭部分で設定
└通常の移動ルートの設定コマンドも○
一見地味なプラグインですが、用途の幅はかなり広いと思います!
- イベントシーンの歩行キャラ演出の強化&制作効率化
- シンボルエンカウントやマップギミックなど複雑な挙動のルートの作成
機能が多くて細かなルールもありますが、後ほど紹介するチートシートを手元に印刷しておけば大体なんとかなるはずなので、この記事の解説はゆるく読み飛ばしてもOKです。
次回の記事では、実際にマップギミックを作りながら解説する予定です!
プラグインの使い方
プラグインの導入
このページ一番下のダウンロードリンクからダウンロードしたファイルを解答し、すべてのプラグインを導入してください。
(※TRP_CommandManager.jsの方が上にくるように配置)
TRP_AnimationExとの併用
12月有料プラン配布のTRP_AnimationExと併用する場合の手順
- TRP_AnimationExのバージョンを1.10にアップデート
- TRP_CommandManager.jsとTRP_MoveRouteEx.jsはこの記事で配布してる方を導入
基本の使い方(チートシートのダウンロード)
移動ルートのスクリプト欄に「cmd コマンド名 パラメータ名:値…」
の形式で入力します。
70を超える全コマンドとパラメータ名、注意点などをチートシートにまとめてるので、印刷してご利用ください↓
cheat_sheet.zip (422.68kB)
ダウンロード例)下に移動
└「cmd down」
例)右に+2、上に+1だけジャンプ
└「cmd jump x:2 y:1」
また、セミコロン「;」で繋げることで、1行で複数のコマンドを実行できます。
(※2つ目以降のコマンドは「cmd」が不要となります)
- 例)右に90度回転して6フレーム待機
└「cmd turn90l; wait 6」
同じ処理を続ける場合は、1行をコピペするばよいので便利です。
//左回りに一回転
cmd turn90l; wait 6
cmd turn90l; wait 6
cmd turn90l; wait 6
cmd turn90l; wait 6
移動ルートは各行を実行するごとに1フレーム待機する仕様ですが、同じフレームに同時に実行したい場合にも有効です。
また、「@」
を最後につけることで、即座に次の行を実行することも可能です。
//通り抜けをONにして即座に下に一歩移動
cmd througn on @
cmd down
その他のコマンド記述方法の便利なルールは次の次の項で詳しく解説します。
コマンドの紹介
70種類以上あるすべてのコマンドを紹介するのは難しいので、ここではオリジナル機能のコマンドを中心に紹介していきます。
その他のコマンドや詳しい情報はチートシートを参照してください。
かゆいところに手が届くコマンド
walkX/walkY:指定歩数or指定座標まで連続
移動ルートを組むとき…
「えーと、右に8歩、上に3歩だから…」
↓
移動だけで画面内にコマンドいっぱいいっぱいで、
「右に移動」が何個あるかも分かりづらかったり……
walkX/walkYコマンドを使うとスッキリ!
↓
「abs」
フラグを立ててマップ上の絶対座標で指定も可能です。
移動距離長い場合はこっちの指定方法も便利です!
cmd walkX 10 abs
cmd walkY 3 abs
pattern:パターンの変更
ありそうでなかったパターン番号のみの変更コマンド!
「cmd pattern 0」
└パターンを0に変更
他にも移動ルートにありそうでなかったコマンドも多数整備!
- バルーン表示
- プライオリティの変更
- 変数/セルフスイッチのセット
位置の保存&復元
「save」
コマンドで位置・向きを保存して「restore」
コマンドで復元!
↑の落石みたいな「繰り返し動作するギミック」で座標を元に戻すのに役立ちます!
画面演出系のイベントコマンドも網羅
- 色調変更:
「cmd tint r:赤 g:緑 b:青 gray:グレー d:所要フレーム」
- フラッシュ:
「cmd flash r:赤 g:緑 b:青 str:強さ d:所要フレーム」
- シェイク:
「cmd shake power:強さ speed:スピード d:所要フレーム」
「SE」
コマンドも合わせれば、移動ルートに合わせた演出もばっちり○
↓歩くたびに画面が揺れるボスとか
移動ルートからプラグインコマンド実行
「cmd plugin MV形式プラグインコマンド…」
MV形式のプラグインコマンドも呼び出せます!
実行中のイベントIDが必要な場合は制御文字「\EID」
で指定すれば○
ただし、プラグインによっては移動ルートからじゃ動かないこともあるので注意。
ちなみに、パーティクルプラグインはもともと移動ルートから実行する処理が入っているため「cmd plugin particle」
じゃ動かないです。
省略形コマンド「par」
を用意してるのでお持ちの方はご活用ください。
「cmd par play 管理ID this 設定名」
など
イベント実行の制御コマンド
event:イベントの実行
「if」
コマンドと組み合わせると、移動ルート中の任意のタイミングでイベントを開始させることができます!
「cmd if dist 3; event」
└距離が3以下ならイベント実行
parallel:並列処理で1回だけ実行
「cmd parallel page:1」
└「page:インデックス」でページの指定も可。page:0で1ページ目なので注意
(※並列処理を普通に繰り返したい場合は↓のトリガーコマンドで値を「parallel」にして並列処理を開始しましょう。)
trigger:トリガーの変更
「cmd trigger トリガーの値」
トリガーの値は↓の通り
- none:なし(-1)
- enter:決定ボタン(0)
- player:プレイヤーから接触(1)
- event:イベントから接触(2)
- auto:自動実行(3)
- parallel:並列処理(4)
例)「cmd trigger none」
└トリガーを無効にしてイベントを発生させない
例えば、透明のときは触れても戦闘が発生しない幽霊など、移動ルート中で発生条件を操作したいときに便利!
表示拡張用のコマンド
角度、拡大率を変更するコマンドを用意!
また、オパシティ・X座標・Y座標・XY座標の変更と合わせてイージングをかけてスムーズにアニメーションが可能です。
▷コマンド例
フェードイン:
「cmd opacity 0 d:10」
└20フレームかけて不透明度0に完全フェードアウト回転ジャンプ:
「cmd angle 360 relative jump easeOut」
└ジャンプに合わせてイーズアウトで+360度だけ回転「cmd scale x:50 y:200 d:30 backOut」
└30フレームかけてバックアウトで横に50%、縦に200%に変化「cmd move x:5 y:10 d:60 abs easeInOut」
└60フレームかけてx=5、y=60の絶対座標(abs)までイーズインアウトで移動
└d:所要フレームを省略すると、現在の移動スピードで所要フレーム計算
フェードアウトさせるのに
みたいにせずに済むので楽ですね!
(※「拡大率」「角度」の変更機能は他のプラグインと競合する可能性も高めなので、フリーズしたり動作が変な場合はプラグイン設定で機能を個別に切るなどしてご対応ください。)
複雑なルートを制御するコマンド
なんちゃってif文やラベルジャンプなど、複雑な移動ルートを設計する上級者向けコマンドを取り揃えてます!
マップ上のギミックなどアクション要素を作るのに役立つはず!
- repeat:リピート開始地点の設定
└初期化処理と繰り返し部分を分けたいときに○
└サイクルフレーム数を指定して他のイベントと同期したりも - label&labelJump:ラベルの設定とラベルジャンプ
└ifコマンドにelse/else ifが無いですが、ラベルを使って擬似的にelse処理も書けます! - if:条件を満たすときに実行するコマンドを書けます
└確率、(セルフ)スイッチ、距離、通行可能か、メモ欄のメタパラメータなどで判定
次回の記事で、実際にマップ上のギミックの作り方を紹介するのでそのときに詳しく解説予定です!
コマンドの形式
コマンド・パラメータの種類が多くて大変に見えると思いますが、簡単に記述するための便利なルールがたくさんあります。
どれも1つ1つは単純なので順にみてみましょう!
パラメータの省略
パラメータは省略して自由な順番で設定可能です。
省略したパラメータのデフォルト値はチートシートでは大括弧[]内に表示してます。
例)X=5、Y=10の座標にセット
- すべて記述:
「cmd locate x:5 y:10 relative:false target:this」
- 一部省略:
「cmd locate x:5 y:10」
- 順番は自由:
「cmd locate y:10 x:5」
また、順番通りに指定する場合はパラメータ名を省略可能です。
- パラメータ名省略:
「cmd locate 5 10」
「値のみの記述」と「パラメータ名:値」の記述を組み合わせることができますが、「値のみの記述」は順番通りに記述する必要があります。
- ○:
「cmd locate 5 10 target:player」
- ×:
「md target:player 5 10」
フラグ形式のパラメータ
trueかfalseで指定するフラグ形式のパラメータは、値がtrueの場合はパラメータ名のみで記述できます。
「cmd locate 5 10 relative:true」
「cmd locate 5 10 relative」
ちなみに「relative:false」
、つまり絶対値指定の場合は「absolute」
と記述することもできます。
「cmd locate 5 10 relative:false」
「cmd locate 5 10 absolute」
略号
上述の「relative:false」
=「absolute」
のように、一部のパラメータには省略できる記述方法があり、ここでは略号と呼びます。
▷略号のあるパラメータ例)
- イージング:
「easing:easeOut」
=「easeOut
」` - トリガー:
「value:0」
=「enter」
などなど。
詳しくはチートシートの最下部などを参照。
コメントで整理
「//」以降はコメントとして処理に影響しません。
複雑なルートを組むときはコメントを活用して整理しましょう。
//初期化
cmd opacity 0 @ //透明に
cmd scale 500 500 @ //拡大率500%に
cmd through on @ //通り抜けON
//登場
cmd opacity 255 d:20 @ //フェードイン
cmd scale 100 100 d:20 easeOut //500%から縮小
制御文字の活用
各パラメータは各種制御文字が使用可能です。
変数「\V[変数ID]」などは使い勝手が良いでしょう。
「cmd locate x:\V[1] y:\V[2]」
└x=変数ID1の値、y=変数ID2の値
また、以下のオリジナル制御文字も使用可能です。
スイッチ
「\SW[スイッチID]」
「cmd selfSw key:A value:\SW[1]」
└セルフスイッチAにスイッチID1の値をセット
セルフスイッチ
「\SS[セルフスイッチキー]
」`
「cmd transparent value:\SS[A]」
└セルフスイッチAがONなら透明化、OFFなら透明化解除
メモ欄のメタ値
「\MT[メタパラメータ名@デフォ値]」
「cmd wait \MT[waitFrame]」
└メモ欄に「<waitFrame:任意のウェイトの値>」のように記述- @デフォ値はメモ欄に設定していない場合に使用する値。省略可
イベントやルートをコピペするときにメモ欄で動作を手軽に変更・調整できて便利です。
乱数
「\RN[最大値]」
「cmd wait \RN[60]」
└0~60のランダムなフレーム待機「cmd speed \RN[6.0]」
└0~6.0のランダムな移動スピードに変更
└※小数表記にすると整数ではなく実数の乱数になる
最小値と最大値を指定することも可能です。
「\RN[最小値,最大値]」
「cmd wait \RN[10-60]」
└10~60のランダムなフレーム待機「cmd speed \RN[4.0-5.0]」
└4.0~5.0のランダムな実数の移動スピードに変更
ループとの組み合わせも○
//1~3回プレイヤーに近づく
cmd loop num:\RN[1,3] @
cmd toward
cmd loopend
注釈/スクリプトコマンドでのルート設定
イベントコマンド「注釈・スクリプト」を使ってルートの設定が可能です。
少し上級者向けですがマウス操作なしで入力できるので慣れれば便利でしょう。
また、自律移動のルートも設定できるので、ルート内容全体が見やすく編集もしやすいと思います。
注釈・スクリプトどちらを使うか
注釈コマンドは複数のコマンドをつなげて設定が可能です。
一方、スクリプトコマンドでの入力では1つのコマンド内にすべて記述する必要があります。
MZではスクリプトコマンドの行数に制限がないので、MZではスクリプトコマンド、MVでは注釈コマンドを使うと良いでしょう。
自律移動ルートの設定
- 自律移動のタイプを「カスタム」にして、ルートは設定しないでおく
- ページの最初の行に注釈かスクリプトで
「@route custom」
とヘッダーを記述
└繰り返す場合は「repeat」を追加
└スキップ可能な場合は「skippable」を追加
└例)「@route custom repeat skippable」 - その下にコマンドを順に指定
また、おまけ機能として「@route」から始まるヘッダ行で移動速度・移動頻度の設定も可能です。
「speed:移動速度の値」
「freq:移動頻度の値」
- 値は数値で入力するか「min」「normal」「max」の指定も可
- 例)
「@route custom repeat skippable speed:5 freq:max」
「移動ルートの設定」コマンドのルート設定
イベントで移動ルートを実行したい任意の行で、注釈・スクリプトコマンドでルートを設定します。
上の項で解説した自律移動ルート用のヘッダー設定「@route custom」
のcustomの代わりに移動ルートを実行させたい対象を記述します。
- プレイヤー:
「@route player ~~~」
- このイベント:
「@route this ~~~」
- イベント:
「@route event:イベントID ~~~」
また、移動ルートが終わるまで待機する場合は「wait」
を付け足します。
- 例)
「@route this repeat skippable wait」
ちなみに、移動ルートでスクリプトを実行したい場合には「cmd script スクリプト内容」
で実行可能です。
おまけ機能
移動ルート設定時に便利な機能がいくつかついているので簡単に紹介しておきます。
(※他のプラグインと競合する場合はプラグイン設定から個別に機能の無効が可能です)
画面外でも自律移動を実行
- イベントメモ欄に「<forceMove>」または「<force>」
コモンイベント上のルートを使用
スクリプト・注釈コマンド欄を使った記述で、コモンイベント上の移動ルート設定を呼び出すことができます。
- 自律移動:
「@route custom common:コモンイベントID」
└自律移動「カスタム」としてイベントページの頭に記述 - 移動ルートの指定:
「@route this common:コモンイベントID」
▷補足
- コモンイベントIDのかわりにコモンイベント名でも可
- コモンイベント上の移動ルートは「移動ルートの指定」、「スクリプト・注釈コマンドによる記述」の両方とも可
- 「common:コモンイベントID:インデックス(0~)」でコモンイベント上の「何番目のルート設定」かを指定可能(インデックス0が1番目)
セルフスイッチを自動でクリア
マップ移動ごとにイベントのセルフスイッチを自動でクリアすることができます!
- イベントのメモ欄に「<clearSelfSw>」と記述
毎回、復活する採掘ポイントなどに設定すると便利でしょう。
また、マップ上の全イベントのセルフスイッチを毎回クリアする強引な設定も可能です。
- マップのメモ欄に「<clearSelfSw>」と記述
同じマップを使い回すランダム系のダンジョンマップなどで使うと便利でしょう。
以上、主な機能をざっと紹介しました!
紹介しきれてない機能もたくさんなので、次回記事で実際にマップギミックをいくつか作ってみようと思います!
プラグインのダウンロード
利用規約
利用規約については以下の記事に書いてあるのでご確認ください。
ダウンロードリンク
【 1000円 】プラン以上限定 支援額:1,000円
プラグインのダウンロードリンク
このバックナンバーを購入すると、このプランの2022/01に投稿された限定特典を閲覧できます。 バックナンバーとは?
支援額:1,000円