ページ 11

【解決済み】プライオリティの動的な変更

Posted: 2020年10月06日(火) 21:25
by ドラムカン
いつもお世話になります。

イベント実行中にそのイベントのプライオリティを変更したい場面が出てきました。
これはシステム上、そもそもプラグインでは実現不可能なことなのでしょうか?

Re: プライオリティの動的な変更

Posted: 2020年10月06日(火) 22:01
by sally
イベントコマンドのみでイベントページを変えずに行うことはできませんが、

「ツクールMV プライオリティ変更」で検索したところ、

▼プライオリティをスクリプトで変更したい
viewtopic.php?t=8445

という記事がありました。
こちらの方法であれば、同イベントページ内でプライオリティを変えられるかと思います。

Re: プライオリティの動的な変更

Posted: 2020年10月06日(火) 23:04
by ドラムカン
sally 様

大変、有用な情報を見つけてくださり、ありがとうございます。
このスクリプトを実際に使用しましたところ
残念ながらイベントの実行中にプライオリティの変更はできませんでした。
別のイベントを実行してターゲットイベントのプライオリティを変更することはできたのですが
ターゲットイベント実行中には無理のようです。

一度コモンイベントに処理を渡しても変更できませんでしたので
実行中のイベントのプライオリティを変えることは、やはり不可能なのかもしれません。

Re: プライオリティの動的な変更

Posted: 2020年10月07日(水) 02:16
by sally
ご希望の実装が出来ない内容の回答にて失礼しました。

テストしてみたところ、おっしゃる通りでした。
イベントの自立移動では変更されますが、イベントコマンドのスクリプト・移動ルート設定では
一度イベントの中断を挟まないとプライオリティの変更は適用されませんでした。

あらためて謝罪申し上げます。申し訳ありません。

Re: プライオリティの動的な変更

Posted: 2020年10月07日(水) 20:56
by ドラムカン
sally様

とんでもないです。
ご回答くださっただけでも大変ありがたいことですし
十分に有用な情報でした。

本件においては残念ながら惜しい結果に終わってしまいましたが
ご紹介いただいたスクリプトは汎用性の高いため
他で活躍する場面がたくさんありました。

ありがたく使わせていただきます。

Re: プライオリティの動的な変更

Posted: 2020年10月08日(木) 08:31
by トリアコンタン
こんにちは!
こちらで確認したところ、ご提示の記事の方法でイベント実行中でもプライオリティを変更できました。
以下のようにイベントを組んで、イベントの下から話し掛けて実行したところ、2回目の移動ではプレイヤーの上にイベントが重なっていることが確認できました。

コード: 全て選択

◆注釈:初期状態のプライオリティは
:  :『通常キャラと同じ』
◆移動ルートの設定:このイベント (ウェイト)
:        :◇すり抜けON
:        :◇下に移動
:        :◇上に移動
:        :◇すり抜けOFF
◆注釈:このイベントのプライオリティを
:  :『通常キャラの上』に変更
◆スクリプト:var eventId = this.eventId();
:     :$gameMap.event(eventId)._priorityType = 2;
◆移動ルートの設定:このイベント (ウェイト)
:        :◇すり抜けON
:        :◇下に移動
:        :◇上に移動
:        :◇すり抜けOFF
実行したスクリプトの抜粋

コード: 全て選択

var eventId = this.eventId();
$gameMap.event(eventId)._priorityType = 2;

Re: プライオリティの動的な変更

Posted: 2020年10月09日(金) 02:49
by ドラムカン
トリアコンタン様

すばらしいです! こちらでもイベント中にプライオリティの変更が実現できました。

シリーズ通して実装されてきたおなじみのコマンドですが、これまでこういった使い方は前例がなかったので
また一つ、トリアコンタン様がツクールの歴史に大きな進化を齎したことと思います。

本当にありがとうございます。
RPGに限らず多くのジャンルに応用できそうです。