【解決済み】自律移動のカスタムからプラグインコマンドを実行する方法

アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

【解決済み】自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by にいやん » 2017年8月09日(水) 06:40

イベントの自律移動カスタムのルート設定からプラグインコマンドを実行することは可能でしょうか?

トリアコンタンさんのテンプレートイベントとイベントの動的生成プラグインを使ってテンプレートマップからイベントを呼び出すプラグインコマンドを上記の自律移動の項目から実行することは可能でしょうか?実行できる場合はおそらくスクリプトになると思うのですがどのような記述になるのでしょうか?

自分で調べたところ
this.pluginCommand(プラグインコマンド記述);
というのは出てきたのですが本来のプラグインコマンドが ERS_MAKE_TEMPLATE 1 5 10 だった場合はこのプラグインコマンドをスクリプトとして使用する場合はどのような記述にすれば良いのでしょうか?
最後に編集したユーザー にいやん on 2019年5月12日(日) 23:40 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by 奏ねこま » 2017年8月09日(水) 06:55

これでどうでしょうか。
今試せないので、間違っていたらすいません。

コード: 全て選択

$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', '1 5 10'.split(' '));
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by にいやん » 2017年8月09日(水) 07:09

奏ねこまさん、スクリプトを試したところエラーも無く実行することが出来ました。
どうもありがとうございました!
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by にいやん » 2017年8月09日(水) 16:48

解決したと思ったのですがもう少しお聞きしたいことがあります。

■やりたいことはマップ上の敵(スライム1)が火や電撃を飛ばすような処理です。これを実現したいのですが下のような結果になり躓いています。

このプラグインコマンド ERS_MAKE_TEMPLATE 1 5 10 は数字の部分を別の記述にしても実行できるのですが、例えば テンプレートマップからファイア1というイベント名をこれを呼び出したイベント(スライム1)の座標に呼び出したい場合は
ERS_MAKE_TEMPLATE ファイア1 \V[1013] \V[1014]
として \V[1013] にこれを呼び出したイベントのX座標、\V[1014] にこれを呼び出したイベントのY座標としても実行することができます。(事前にそれぞれの座標を変数に代入しています)

しかしこれを
$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'ファイア1 \V[1013] \V[1014]'.split(' '));
とした場合は実際にファイア1は呼び出せるのですが格納された座標の変数を呼び出すことが出来ません。通常のプラグインコマンドから
ERS_MAKE_TEMPLATE ファイア1 \V[1013] \V[1014]
を実行すると上手くいくので自律移動のカスタムから実行したい場合は別の記述になってしまうのでしょうか?

それからイベントの座標の取得の方法ですが自律移動のカスタムから直接このイベント(スライム1)の座標を取得する方法はあるのでしょうか?自分の考え違いなところも多分にあると思うのですがどうかよろしくお願いします。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by トリアコンタン » 2017年8月09日(水) 17:49

こんにちは!
プラグインコマンドでの制御文字の使用はプラグインごとに個別に実装しています。
「イベント動的生成プラグイン」の場合は、以下の通り制御文字を記述する際にバックスラッシュをひとつ多く指定してください。

コード: 全て選択

$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'ファイア1 \\V[1013] \\V[1014]'.split(' '));
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by にいやん » 2017年8月09日(水) 18:54

トリアコンタンさん、バックスラッシュを二つ付けることでエラーすることがなく実行することが出来ました!ありがとうございます!

あと自律移動のカスタムからこのイベント(スライム1)のX座標を取得したいのですが
$gameVariables.setValue(1013, this.character(0).x)
じゃダメなのでしょうか?undefinedになってしまいます。
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by まっつUP » 2017年8月09日(水) 19:16

にいやん様
お世話になります。
多分character(0).が要らないと思います。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by 奏ねこま » 2017年8月09日(水) 20:16

イベントコマンドのスクリプトから実行するもので、「this」があるものはすべて、
そのままでは、移動ルートの設定のスクリプトには使えないと思ってください。
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: 自律移動のカスタムからプラグインコマンドを実行する方法

投稿記事by にいやん » 2017年8月09日(水) 20:48

まっつUPさんのご指摘どおり、this.xにするとエラーが出なくなりました!
ありがとうございます、とても助かりました。

奏ねこまさん、ありがとうございました。
奏ねこま さんが書きました:イベントコマンドのスクリプトから実行するもので、「this」があるものはすべて、
そのままでは、移動ルートの設定のスクリプトには使えないと思ってください。

移動ルートの設定からはそのままの形では無理なんですね。勉強になりました。実際にいろいろとネット検索してみて得た情報の中では移動ルートの設定から実行できるスクリプトの情報が皆無だったので無理なのかなと思っていました。特に今回のように移動ルートの設定の中に設定項目がないものはスクリプトの知識がない私にとっては完全にお手上げ状態でした。

トリアコンタンさん、まっつUPさん、奏ねこまさん、本当にありがとうございました。
アバター
にいやん
記事: 218
登録日時: 2016年7月02日(土) 00:38
お住まい: 地獄4丁目西のゴミ置き場
連絡を取る:

Re: 移動ルートの設定から項目にないスクリプトを実行する方法

投稿記事by にいやん » 2017年8月10日(木) 18:40

度々すみません。イベントの一時消去も移動ルートの設定の中にないのでこれも移動ルートの設定から実行したいです。
$gameMap.eraseEvent(this._eventId);
この形からどのように変化させればいいのでしょうか?

“MV:質問” へ戻る