ページ 11

【解決済】イベント動的生成プラグインを自律移動のカスタムスクリプトで使う

Posted: 2019年11月14日(木) 10:40
by MEIKOI
こんにちは!
いつも色々と教えて頂きましてありがとうございますmm

今、課題として
イベントAの自律移動のカスタムスクリプトから、
イベントAと同じ座標にイベントBを生成する。

というような事をできないかと思って試しておりまして

トリアコンタン様のイベント動的生成プラグインを利用して

イベントの「自律移動のカスタムのスクリプト」で

$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'イベントB this.x this.y'.split(' '));
では、座標が取得できなかったため

セルフ変数を使って
this.controlSelfVariable('enemyX' , 0 , this.x , true);
this.controlSelfVariable('enemyY' , 0 , this.y , true);
$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'イベントB \\sv[enemyX] \\sv[enemyY]'.split(' '));

と記述しました。

やはり、座標が取得できず、座標0,0でした。

ルールとしては、「ゲーム変数を使わない事」と「自律移動のカスタムスクリプトで実行する」事なのですが
どのような記述をすればクリアできるでしょうか?

ちなみに、こちらのトピックを参考にさせていただきました。
viewtopic.php?t=4353

Re: イベント動的生成プラグインを自律移動のカスタムスクリプトで使う

Posted: 2019年11月14日(木) 15:44
by ecf5DTTzl6h6lJj02
こんにちは。
MEIKOI さんが書きました:こんにちは!
いつも色々と教えて頂きましてありがとうございますmm

今、課題として
イベントAの自律移動のカスタムスクリプトから、
イベントAと同じ座標にイベントBを生成する。

というような事をできないかと思って試しておりまして

トリアコンタン様のイベント動的生成プラグインを利用して

イベントの「自律移動のカスタムのスクリプト」で

$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'イベントB this.x this.y'.split(' '));
では、座標が取得できなかったため

セルフ変数を使って
this.controlSelfVariable('enemyX' , 0 , this.x , true);
this.controlSelfVariable('enemyY' , 0 , this.y , true);
$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', 'イベントB \\sv[enemyX] \\sv[enemyY]'.split(' '));

と記述しました。

やはり、座標が取得できず、座標0,0でした。

ルールとしては、「ゲーム変数を使わない事」と「自律移動のカスタムスクリプトで実行する」事なのですが
どのような記述をすればクリアできるでしょうか?

この記述法だと this.x や this.y 等の変数を指定している部分がそのまま文字列としてわたってしまうため、プラグインコマンド側で正しく変換できず、0という扱いになってしまいます。
次のように記述すると正しく生成されます。

コード: 全て選択

$gameMap._interpreter.pluginCommand('ERS_MAKE_TEMPLATE', ['イベント名(もしくはイベントID)', String(this.x), String(this.y)]);


(追記)イベント名のところをシングルクォーテーション( ' )で囲み忘れてたので直しました。すみません。

Re: イベント動的生成プラグインを自律移動のカスタムスクリプトで使う

Posted: 2019年11月14日(木) 17:11
by MEIKOI
ecf5DTTzl6h6lJj02様

先日も同じような質問でご回答いただきましてありがとうございます。

今回も結果、同じような事で悩んでおりました^^;;

教えて頂いた通りの記述で問題なく処理できました。

この処理が出来たおかげで、別のプラグインの重かった並列の処理を丸々消す事ができるようになりました!

本当にありがとうございます!!mm