【解決】エンディング後にセーブした場所から、最初のシーンへ戻したいです

エクストリームバニラ
記事: 18
登録日時: 2020年11月09日(月) 16:46

【解決】エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by エクストリームバニラ » 2022年2月24日(木) 19:21

こんばんは。お世話になっております。

エンディング後に強制セーブを入れ、タイトルに戻す処理のその後、エンディング後のセーブデータを選択したら、最初のシーンに戻るというのをやりたいのですが、セーブをロードしたらタイトル画面に戻ってしまいます。
自分が今まで試した処理としては、

・コモンイベントでセーブ&タイトル移行、その下にコモンイベント外で最初のシーンへ戻る
・コモンイベントを使わず上記と同じ操作
・すべてコモンイベントでセーブ&タイトル移行

です。
元々、エンドを3つすべてクリアすればおまけ部屋(トリアコンタン様のアナザーニューゲームを使わせて頂いて降ります)に入れればそれでよかったのですが、試しプレイ中に「あれ、コレおまけ部屋入れなくね?」となったのがきっかけで現在このような迷走状態になっております。事情があって3月10日までに完成させたいのですが、どうしたら良いでしょうか?
最後に編集したユーザー エクストリームバニラ on 2022年2月25日(金) 13:23 [ 編集 1 回目 ]

名無し蛙
記事: 310
登録日時: 2015年11月23日(月) 02:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by 名無し蛙 » 2022年2月24日(木) 20:51

それだけなら
非セーブ領域でフラグON
→セーブ処理
→フラグを基に条件分岐してタイトルに戻る
→最初のシーンに戻る処理
で十分そうですね

例えばイベントコマンド>スクリプトで

コード: 全て選択

$gameTemp.クリア後タイトルに戻るフラグ = true;

とする事で「非セーブ領域でフラグON」が成立するので後は条件分岐>スクリプト欄から
$gameTemp.クリア後タイトルに戻るフラグを指定すればいけるのではないかと
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by ムノクラ » 2022年2月24日(木) 21:06

エクストリームバニラ さんが書きました:こんばんは。お世話になっております。

エンディング後に強制セーブを入れ、タイトルに戻す処理のその後、エンディング後のセーブデータを選択したら、最初のシーンに戻るというのをやりたいのですが、セーブをロードしたらタイトル画面に戻ってしまいます。
自分が今まで試した処理としては、

・コモンイベントでセーブ&タイトル移行、その下にコモンイベント外で最初のシーンへ戻る
・コモンイベントを使わず上記と同じ操作
・すべてコモンイベントでセーブ&タイトル移行

です。
元々、エンドを3つすべてクリアすればおまけ部屋(トリアコンタン様のアナザーニューゲームを使わせて頂いて降ります)に入れればそれでよかったのですが、試しプレイ中に「あれ、コレおまけ部屋入れなくね?」となったのがきっかけで現在このような迷走状態になっております。事情があって3月10日までに完成させたいのですが、どうしたら良いでしょうか?


セーブ前に、クリアの目印になるスイッチ尾をONにして、条件分岐してはいかがでしょうか?

セーブデータをロードした時に出るマップに自動実行の「出現条件」で上記のスイッチを設定し、オマケ部屋へ移動するなど、やり方は色々あると思います。

具体的な組み方が知りたい場合、サンプルプロジェクト(新規プロジェクトにクリア時等の条件だけを設定したもの)をアップ(dataフォルダとjsフォルダのみだけ)いただければ、具体的な改善案を出せると思います。
(緊急で問題なければ、現状のプロジェクトまるごと)


--
余計なこと

起点となるプラグインのリンクは欲しいです。


▼アナザーニューゲーム追加(トリアコンタン様作) - AnotherNewGame.js
https://plugin-mz.fungamemake.com/archives/1822
を使っているという情報だけでは、どのように使用しているのか分かりません。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
エクストリームバニラ
記事: 18
登録日時: 2020年11月09日(月) 16:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by エクストリームバニラ » 2022年2月24日(木) 21:48

お二方とも、ありがとうございます!
なるほど、意外と簡単にできそうですね!

用事が済んだら今日中に一度やってみて、分からなくなったらサンプルプロジェクトをあげさせて頂きます。

トリアコンタン様のアナザーニューゲームプラグインは今回はおまけ部屋のみに使っているので、詳しくは要らないかな~と思ってしまいました。申し訳ございません。
プラグインは、3つのエンドすべてをクリアした時(各エンドにスイッチがあります)に発動するようにしております。
エクストリームバニラ
記事: 18
登録日時: 2020年11月09日(月) 16:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by エクストリームバニラ » 2022年2月24日(木) 23:37

すいません、嘘をつきました。
私の頭では何をどう条件分岐させればいいか全然わかりませんでした。

サンプルプロジェクトをzipにして持ってきましたので、本当に申し訳ございませんがお教え頂けたら幸いです……。
添付ファイル
newfolder.zip
(796.25 KiB) ダウンロード数: 5 回
名無し蛙
記事: 310
登録日時: 2015年11月23日(月) 02:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by 名無し蛙 » 2022年2月25日(金) 00:06

コード: 全て選択

◆画面のフェードアウト
◆スクリプト:$gameTemp.クリア後タイトルに戻るフラグ = true;
◆セーブ画面を開く
◆条件分岐:スクリプト:$gameTemp.クリア後タイトルに戻るフラグ
  ◆タイトル画面に戻す
  ◆
:分岐終了
◆場所移動:MAP004 (0,0)
◆画面のフェードイン

こんな感じじゃないですか
注意点としては$gameTempにフラグを保存する事です。
画面状態($gameScreen)やイベント状態($gameMap)、スイッチ・変数等はセーブデータに保存されますし
グローバル変数に保存するとソフトリセット等をした時に残留する可能性があります。
$gameTemp(temprary = 一時的オブジェクト)に適当なフラグ変数を確保すれば
ニューゲームやロード時に消去され再開する時にはフラグがOFF(正確にはnull)として扱われます。
再開直後は元のマップが映ってしまうので事前に画面のフェードアウトもしておいた方が良いでしょうね。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by ムノクラ » 2022年2月25日(金) 10:58

エクストリームバニラ さんが書きました:お二方とも、ありがとうございます!
なるほど、意外と簡単にできそうですね!

用事が済んだら今日中に一度やってみて、分からなくなったらサンプルプロジェクトをあげさせて頂きます。

トリアコンタン様のアナザーニューゲームプラグインは今回はおまけ部屋のみに使っているので、詳しくは要らないかな~と思ってしまいました。申し訳ございません。
プラグインは、3つのエンドすべてをクリアした時(各エンドにスイッチがあります)に発動するようにしております。

質問は
・エンディング後に強制セーブ
・タイトルに戻す
・エンディング後のセーブデータを選択したら、最初のシーンに戻る
を実現したいと解釈しています。

サンプルを拝見した所、
・アナザーニューゲームを使ってない?(稼働していない)
・条件分岐について混乱していて、整理されていない?
と思いました。

イベントを組み直してみましたので、動作が合っているか確認してください。
ロード後にどこから動作が始まるのか分かりやすくするために、文章の表示を入れました。
(Map2,3は似た感じなので、手を付けませんでした)

セーブ後に一連の動作でタイトルへ戻す動作の場合、名無し蛙氏のおっしゃるとおり、スクリプトを使用せざるを得ないです。
(自分も勉強になりました。)

ページを分けました。

P1

コード: 全て選択

◆文章:なし, なし, ウィンドウ, 下
:  :P1開始
◆スイッチの操作:#0001 全クリフラグA = ON
◆条件分岐:全クリフラグAがON
  ◆条件分岐:全クリフラグBがON
    ◆条件分岐:全クリフラグCがON
      ◆スイッチの操作:#0005 全クリ = ON
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆
:分岐終了
◆スイッチの操作:#0004 最初へ = ON
◆スクリプト:$gameTemp.goTitle = true;
◆セーブ画面を開く
◆文章:なし, なし, ウィンドウ, 下
:  :セーブ完了
◆条件分岐:スクリプト:$gameTemp.goTitle;
  ◆タイトル画面に戻す
  ◆
:分岐終了


P2

コード: 全て選択

◆文章:なし, なし, ウィンドウ, 下
:  :P2
◆スイッチの操作:#0004 最初へ = OFF
◆場所移動:MAP004 (8,6)
◆イベントの一時消去
添付ファイル
Map001.zip
(1.11 KiB) ダウンロード数: 15 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
エクストリームバニラ
記事: 18
登録日時: 2020年11月09日(月) 16:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by エクストリームバニラ » 2022年2月25日(金) 13:13

お二方とも、本当にありがとうございます!

名無し蛙様、とても参考になります!画面のフェードアウトも、やってみます!

ムノクラ様、質問はそんな感じであっております。
確かに条件分岐についてよく分かっていないところがあります……。
アナザーニューゲーム、起動出来てませんでしたか!?これは失礼いたしました。

イベントの組み直し、ありがとうございます!早速拝見いたします!
エクストリームバニラ
記事: 18
登録日時: 2020年11月09日(月) 16:46

Re: エンディング後にセーブした場所から、最初のシーンへ戻したいです

投稿記事by エクストリームバニラ » 2022年2月25日(金) 13:23

ムノクラ様が組み直してくださったイベント、やりたいことが出来ていました!ありがとうございます!
アナザーニューゲームもちゃんと動かすことが出来ましたし、綺麗に解決しました!

名無し蛙様、ムノクラ様、本当にありがとうございます!

“MZ:質問” へ戻る