セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

アバター
しろへび
記事: 13
登録日時: 2018年7月20日(金) 02:11

セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

投稿記事by しろへび » 2018年7月20日(金) 02:38

こんにちは!
表題の件で質問させていただきます。

トリアコンタン様のタイトル画面仕様変更プラグインと、鳥小屋様のセーブコマンドプラグインを併用させていただき、オリジナルのタイトル画面を経由して次のような仕様の処理を行いたいと思っております。

1.ゲーム起動後のタイトルスキップ後、スクリプト:DataManager.isAnySavefileExists();でセーブファイルの有無を判定して条件分岐。
 A.(オートセーブで保存したもの含む)セーブファイルが存在しない場合、自動的に新しいゲームをスタートする。
 B.セーブファイルが1つでも存在する場合、自作したオリジナルのタイトル画面を表示する(通常のタイトル画面のような扱いのマップ処理を行う)。
2.ゲームプレイ中に鳥小屋様のプラグインコマンド:SaveCommand save Xを実行し、特定の番号のセーブデータにオートセーブを行う処理を入れる。

ここで、1-A・2の処理自体は問題なく実行されるのですが、2でオートセーブを行ったあとメニュー画面から「タイトルに戻る」処理を行うと、1-Bの処理が行われずまた新たなゲームが始まってしまいます。
2つのプラグインを併用しているからかな……と思い、2の処理をトリアコンタン様のプラグインコマンド:AL_オートセーブ に変更しましたが、同じような結果となってしまいました。

セーブ画面を経由して手動でセーブしていた場合は、「タイトルに戻る」を選択後もきちんと1-Bの処理が行われて自作のタイトル画面が表示されるので、おそらくはオートセーブでのセーブデータは1のスクリプトでは判定できないのではないかと思っております……。

もし、上記のような「オートセーブ」でセーブしたデータの有無も条件分岐に含める方法があれば、ご教示いただきたいです……!
大変不躾な質問ではございますが、よろしくお願いいたします。

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

投稿記事by トリアコンタン » 2018年7月22日(日) 14:42

こんにちは!
プラグインのご利用ありがとうございます。

こちらで近い状況を作成して確認してみましたが、現象を再現できませんでした。。

問題の切り分けのため、以下を試してみるのはどうでしょうか。
・オートセーブ直後に「DataManager.isAnySavefileExists();」を実行する

trueが返る場合:判定自体はオートセーブがあっても正常に機能するが、別の箇所に問題の原因がある
falseが返る場合:判定が誤っている
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
しろへび
記事: 13
登録日時: 2018年7月20日(金) 02:11

Re: セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

投稿記事by しろへび » 2018年7月22日(日) 19:34

トリアコンタン様
ご返信ありがとうございます!
初めてのゲーム制作なのですが、トリアコンタン様のプラグインが他のものもとても便利かつ種類も豊富で、こちらこそ使わせていただくたびに大変感謝しております……!


ご教示ありがとうございます!
教えていただいた通りに条件分岐で文章表示を試してみたところ、trueで返されたので、オートセーブと判定はきちんとなされているようです……。
それからいろいろと試してみたところ、記載していた
【オートセーブ直後に再起動orタイトルに戻る処理を行った場合、自作タイトル画面が表示されず新しいゲームが開始される】
というのは正確ではなくて、正しくは
【一番最近にセーブしたファイルがオートセーブによるものだった場合、再起動orタイトル画面に戻った際に最新のセーブデータをロードする】
という仕様になっているようです。
(オートセーブ処理の確認をニューゲーム直後に行っていたため、完全なニューゲームと区別がつかず判別できていませんでした;;ややこしいことを書いてしまい申し訳ないです……)

こちら、完全スキップをONにしてもOFFにしても同様の状況となります。
できれば「ゲーム起動・タイトルへ戻る処理後、最新のオートセーブデータをロードするか・しないかも設定できる」ようにしたいのですが、可能でしょうか……!
こちらで勝手に判別してしまっているので、もし間違えて考えてしまっていたらご容赦ください。

また、こちらのプラグイン実行の際、キャラクターの初期位置は「自作タイトル画面用に作成したマップ」に設定した上でマップIDもそちらの番号に設定、で問題なかったでしょうか?
(上記確認事項、全てこの初期位置の設定で行いました)

質問ばかりで申し訳ございません;; お手すきの際にご返信いただけると大変ありがたいです!
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

投稿記事by トリアコンタン » 2018年7月26日(木) 23:01

こんばんは!
当プラグインはもともと、セーブデータが存在する場合に自動で最新データをロードし、直接マップ画面を表示するプラグインとして作ったものに対して機能追加していったものであるため、現在ではやや分かりづらい仕様となっています。
仕様変更できるかどうかやり方を検討してみます。

また、こちらのプラグイン実行の際、キャラクターの初期位置は「自作タイトル画面用に作成したマップ」に設定した上でマップIDもそちらの番号に設定、で問題なかったでしょうか?
(上記確認事項、全てこの初期位置の設定で行いました)

こちら、ご認識の通りで問題ありません。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
しろへび
記事: 13
登録日時: 2018年7月20日(金) 02:11

Re: セーブ画面を経由せずセーブしたデータの有無を判定に含める方法について

投稿記事by しろへび » 2018年7月27日(金) 02:42

トリアコンタン様
こんばんは!
再びのご返信ありがとうございます。

なんと、そうした経緯でのプラグインだったのですね……!
想定と違う使い方をしてしまっていたようです。
特に「完全スキップ」の項目の仕様がいまいちよくわかっておらず、大変失礼いたしました。

こちらのプラグイン、ゲームスタート時の仕様をいろいろ設定できたらタイトル画面を自分の自由に作ることができて、特にノベル系ゲームを作る際さまざまな演出に対応するのにとても重宝しそうです。
もしお手数でなければで大丈夫ですので、お手すきの際にでも改修ご検討いただけますと幸いです!

“MV:質問” へ戻る