ページ 11

セーブについて

Posted: 2016年12月16日(金) 01:29
by yuuki
質問失礼します。

ゲームを作っているのですが、とあるイベント後にセーブ画面を見ると、一つ前のセーブデータがおかしくなっています。
具体的に言うと、
セーブする

イベントでキャラクターが変わる

イベント後セーブ画面を開く

イベント前のセーブデータに、イベント後のキャラが表示されている
という状況です。

イベント前にセーブしたデータの表示が何故変わってしまうのかわかりません…。
イベント前にきちんとセーブ出来ているか確認しても、表示されているキャラは元のまま、しっかり正しく表示されているのですが
イベント後に見るとキャラが変わってしまうのです。

こんな事ってあるのでしょうか?
原因は何か考えられますか?

イベントの前後に区切って試してみたりしたのですが、前にも後ろにもエラーが見つからず、
何故か前後通してイベントが起動した時だけ発生するようです(これは私のチェックミスかもしれませんが…)

見にくいかもしれませんが、スクリーンショットをとってみましたので
何かわかった方が居たら教えて頂けますと嬉しいです。

Re: セーブについて

Posted: 2016年12月16日(金) 08:37
by 奏ねこま
プラグインなしでも再現するか確認してください。

Re: セーブについて

Posted: 2016年12月16日(金) 09:22
by yuuki
>>奏ねこま様

プラグインのTitleImageChangeをOFFにするとエラーメッセージが出て確認する事が出来なかったのですが
それ以外を全てOFFにしてもやはり同様のバグが出ました

Re: セーブについて

Posted: 2016年12月16日(金) 18:28
by yuuki
追記失礼します。

「タイトル画面変更プラグイン」のヘルプに書かれていたDataManager.saveOnlyGradeVariable();というスクリプトが原因なようです。
「セーブ画面を表示せずに、ゲームの進行度を保存できる」と書かれていたのですが
こちらをイベント実行に入れると前のセーブデータの表記がバグってしまう事が判明しました。
プログラム知識が全くないので、どこか直せそうな部分があれば教えて頂けると嬉しいです。

Re: セーブについて

Posted: 2016年12月16日(金) 19:19
by まっつUP
yuuki様
お世話になります。

TitleImageChangeのヘルプを見ると以下の記述がありました。

ゲームデータをセーブせず進行状況のみをセーブしたい場合は、
イベントコマンドの「スクリプト」から以下を実行してください。
DataManager.saveOnlyGradeVariable();

以下私見です。
このスクリプトコマンドによってセーブする場合は
パラメータの設定されたIDの変数の値は記録されるが
アクターに対するゲーム内の情報の変化などはその内容に含まれないと見ました。
(スクリプトの内容を見ただけで使ったことがないので、間違っている可能性があります。)

変数を弄った直後にその情報をセーブデータに記録させたい場合は
普通にセーブさせればよいのではないでしょうか。
(セーブ画面を開くゲームに使うにはあまり向いていないスクリプトコマンドかもしれないです。)

Re: セーブについて

Posted: 2016年12月16日(金) 21:02
by トリアコンタン
お疲れさまです。
当該スクリプトは、セーブできない状況だけどタイトル画面用の変数を保存したい場合に使用します。
たとえば、エンディング中でもうメニューを開く機会がない場合などです。

それ以外では通常のセーブで問題ありません。

現象については修正可能なので対応しますが、それまではお手数ですが通常のセーブでご対応ください。

Re: セーブについて

Posted: 2016年12月17日(土) 13:17
by yuuki
>>まっつUP様、トリアコタン様

お返事ありがとうございました

こちら正にエンディングの部分でして、このままタイトルに戻したかったので
セーブ画面を開かずにスクリプトを置こうと配置したイベントでした。
対応して頂けるとの事でしたので、しばらくはセーブ画面を表示する仕様にしておこうと思います
ありがとうございます。

Re: セーブについて

Posted: 2016年12月17日(土) 15:52
by トリアコンタン
お疲れさまです。
修正しましたので動作をご確認ください。
URLを再掲します。

https://raw.githubusercontent.com/triac ... eChange.js