ドラクエ風 セーブデータロード後NPCからの会話の自動イベントについて

ツクールMZ購入1ヶ月の初心者です。
ドラクエ6の真似をしたRPGを作っていますが、ゲームをロードした直後の神父さんからのセリフを設定したいので、自動イベントで設定してみたのですが、初めて教会に入った瞬間にイベントが起きてしまいました。セーブをロードした時だけイベントが始まるようにするにはどうすればよいでしょうか?
 

温州みかん

ユーザー
セーブをロードした時だけイベントが始まるようにするにはどうすればよいでしょうか?
プラグインを入れるのが一番の解決策です。
自作用に書いたのがあるので、もしよろしければご利用ください。
ゲームロード時にプラグインの設定画面の右欄で指定したコモンイベントが実行されます。
クレジット記載、利用通知等の必要はありません。
 

Attachments

  • CommonEventLoadgame_3MZ.js
    2.2 KB · 閲覧: 17
ありがとうございます。
思った動きになりました。

一つ質問があります。
設定できるコモンイベントは1つだけなのでしょうか?
セーブポイント(教会)ごとに神父様やシスターのセリフを変えたいのですが。
 
最後に編集:

mizu

ユーザー
ありがとうございます。
思った動きになりました。

一つ質問があります。
設定できるコモンイベントは1つだけなのでしょうか?
セーブポイント(教会)ごとに神父様やシスターのセリフを変えたいのですが。
こんにちは!
実際に確かめた訳ではないので間違ってたらすいません。

セーブポイント毎に変数を使って、コモンイベント内で分岐させればコメントもその都度変えられるのではないでしょうか?

例えば、セーブポイントで設定用の変数を用意します。
セーブした段階で変数に任意の数字を代入します。
後はコモンイベント内で分岐させれば、コメントを変えることができるかもしれません。
(あくまで推測なので違った場合はすいません。)

また、このケースだとセーブ画面を開いてキャンセルした場合だと変な挙動になると推察されます。

鳥小屋プラグイン置き場様のRuたん氏製作の
Torigoya_SaveCommand2などを用いて

セーブしますか?→はい→キャンセルなしでセーブされる。

という動作が理想なのかもしれません。
セーブしたかを条件分岐できれば可能なのかもしれませんが、、、

全て推測で申し訳ありません。
ドラクエの様なセーブシステムだとこんな感じなのかなと思いました。
 

温州みかん

ユーザー
設定できるコモンイベントは1つだけなのでしょうか?
セーブポイント(教会)ごとに神父様やシスターのセリフを変えたいのですが。
残念ですが、設定できるコモンイベントは一つです。
ですので、このプラグインを利用される場合、mizuさんのご助言通りコモンイベント内で分岐する方法が望ましいです。
セーブポイント(教会)が同一マップにない場合、
汎用変数あるいは教会の特定用の変数に「変数の操作」によりマップIDを取得し、それによりセーブポイントを特定して分岐をつくる方法を提案します。
同一マップに複数のセーブポイントが存在する場合は、
プレイヤーが踏んでいるマスにリージョン(マップのR)を設定し、「指定位置情報の取得」によりリージョン情報を取得して各セーブポイントを特定する方法があります。 こちらのほうが、かえって管理されやすいかもしれません。

汎用変数にマップID.jpg指定位置の情報取得.jpgリージョン情報1.jpgこんなかんじ.jpg
 
最後に編集:
こんばんは。

セーブデータには実行中のイベントの情報も保存されるので、ロード直後にセリフをしゃべらせたいだけならこれで行けるっす...。
イメージと違ってたら無視してもらって構わないんですが。

いじょーです。

1646835231593.png
 

温州みかん

ユーザー
テストしてから助言をお願いします。
セーブをキャンセルしたときや、続けてプレイするときもロード時を想定したセリフが流れてしまいます。
 

大鳥椎名

ユーザー
プラグインを入れるのが一番の解決策です。
自作用に書いたのがあるので、もしよろしければご利用ください。
ゲームロード時にプラグインの設定画面の右欄で指定したコモンイベントが実行されます。
クレジット記載、利用通知等の必要はありません。
横から失礼いたします。
面白そうなプラグインだったので、テスト用のプロジェクトに入れて、いくつかのコモンイベントを試してみました。
そこでなんですが、機能拡張の提案があるので、もし良ければご検討いただけたらと思います。

プラグインパラメータに『ロード時にフェードアウトで開始するか?』という項目があったらいいのではないかな思います。
理由なんですが、ゲームを再開したときのスタート地点を設定するようなコモンイベントの場合、コモンイベントの冒頭にフェードアウトを入れても、セーブした場所の映像が一瞬だけ映ってしまうからです。
セーブポイントが限られているRPGゲームなら問題にならないかと思うんですが、オープンワールドや探索メインのゲームを作るとき、ゲームの再開場所を自宅や神殿、最後に立ち寄った宿屋などに設定したい場面で役立ちそうな機能だと思うのです。

今すぐ必要、という段階までは来ていないのですが、この機能があれば今後の製作で間違いなく使用するプラグインになると思うので、ご検討いただけたら幸いです。
 
最後に編集:
返信をくださった多くの方々ありがとうございました。

温州みかん様 画像もつけて説明していただきありがとうございました。リージョンを使用する方法でやってみたところ、思ったような動きになりました。ありがとうございました。
まだセーブポイントが1つしかないので制作を続け、他のセーブポイントを作ってまた試してみます。そのとき上手くいかなかったらまた質問したいと思います。

温かいご指導・ご助言ありがとうございました。
 

温州みかん

ユーザー
横から失礼いたします。
面白そうなプラグインだったので、テスト用のプロジェクトに入れて、いくつかのコモンイベントを試してみました。
そこでなんですが、機能拡張の提案があるので、もし良ければご検討いただけたらと思います。

プラグインパラメータに『ロード時にフェードアウトで開始するか?』という項目があったらいいのではないかな思います。
理由なんですが、ゲームを再開したときのスタート地点を設定するようなコモンイベントの場合、コモンイベントの冒頭にフェードアウトを入れても、セーブした場所の映像が一瞬だけ映ってしまうからです。
セーブポイントが限られているRPGゲームなら問題にならないかと思うんですが、オープンワールドや探索メインのゲームを作るとき、ゲームの再開場所を自宅や神殿、最後に立ち寄った宿屋などに設定したい場面で役立ちそうな機能だと思うのです。

今すぐ必要、という段階までは来ていないのですが、この機能があれば今後の製作で間違いなく使用するプラグインになると思うので、ご検討いただけたら幸いです。
がんばって作ってみます。
できましたら、プラグイン素材のほうにスレを立ててお知らせします。
 

温州みかん

ユーザー

>大鳥椎名さん
Awaya_Matanaさんがすでに制作されていたので、お伝えします。
いまだに、スプライトの優先順位がよくわかりません。
 

Awaya_Matana

ユーザー

>大鳥椎名さん
Awaya_Matanaさんがすでに制作されていたので、お伝えします。
いまだに、スプライトの優先順位がよくわかりません。
「ニューゲーム時のお約束を無くすプラグイン」ではニューゲーム時にしかその機能は使えません。

なので温州みかんさんまたはトリアコンタンさんのプラグインのパラメータで指定したコモンイベントにスクリプトで
$gameScreen.startFadeOut(1);
とするのが最適解だと思います。

「ニューゲーム時のお約束を無くすプラグイン」でも同じことをやってます。
1657349632895.png
 
トップ