セーブ機能を上書きセーブ機能に変更したいです。

返信する
Nichiyobi
記事: 19
登録日時: 2019年6月10日(月) 00:06

セーブ機能を上書きセーブ機能に変更したいです。

投稿記事 by Nichiyobi »

プラグインを探したり、色々やり方を調べてみたのですが、わからなかったので質問させていただきます。

ツクールMVのデフォルトのセーブ機能だと、メニュー画面からセーブを選択し、好きなセーブファイルを指定してセーブするという仕様になっていると思います。
そこで、メニュー画面からセーブを選択した際に、最後にロード/セーブしたファイルに上書きでセーブされるという仕様に変更したいです。
しかし、どこをどのようにしたらいいのかわからくて困ってます。

それともう一つあるのですが...
市販のゲームでよく見かける普通のセーブとは異なる中断セーブの機能を実装してみたいです。
『中断』というセーブ&ゲームを終了を同時に行う項目を作り、タイトル画面での項目はロードではなく『再開』という項目で、この項目からロードした瞬間セーブデータは消去する。要するにきちんと『中断』から終了せずに、途中でゲームを無理に消した場合今までのゲームデータは消失したまま、という手法です。

もしどなたかお時間あればよろしくお願い致します。
アバター
ムノクラ
記事: 2118
登録日時: 2018年2月23日(金) 11:41
連絡する:

Re: セーブ機能を上書きセーブ機能に変更したいです。

投稿記事 by ムノクラ »

まず、質問(要望?)を整理します。

1)中断コマンドを追加したい。(既存のセーブをなくしたい)
上書きセーブ後、ゲーム終了(タイトル画面へ戻る)

2)タイトル画面に「再開」の項目を入れたい。
(ロードってありますけど、コンティニューの間違いですよね?それとも違うプラグインとか使っていて変わっていますか?)

3)「再開」した瞬間にセーブデータを消去したい。

という3つを実現すれば良いでしょうか?


実験はしていませんが、まず下記でできると思います。
試して、躓いたら、そこをまた質問してください。


まず、下記でメインメニューにコモンイベントを実行するメニューを追加します。

▼メニュー画面のサブコマンド(トリアコンタン様作)
https://plugin.fungamemake.com/archives/1009
こちらで、メインメニューにコマンドを追加できます。
サブコマンドとありますが、メインの下にサブコマンドを入れなければ、メインコマンドのみで動きます。
こちらで、デフォルトのセーブやゲーム終了の選択肢を消すことも出来ます。


1)中断コマンド
セーブデータの選択肢を出さずに上書きするには下記を使用すれば可能です。

▼セーブコマンド(Ruたん様作)
プラグインコマンドからセーブ/ロードの実行ができるようになります。
https://plugin.fungamemake.com/archives/1509

* ● 前回ロード/セーブしたスロットにセーブを実行する
* SaveCommand save last

これを使ってコモンイベントを作成します。
それをサブコマンドで実行できるように設定します。

コモンイベントをサブコマンドで実行するにはスクリプトを使います。

(例)コモンイベントID1を実行する
$gameTemp.reserveCommonEvent(1);

ここは下記が参考になると思います。(自分が質問した過去トピ)
https://forum.tkool.jp/index.php?threads/1643/

2)タイトル画面に「再開」の項目を入れたい。

データベース>用語
の中の「コンティニュー」の項目に「再開」と入れてください。

3)「再開」した瞬間にセーブデータを消去したい。

▼トリガー(トリアコンタン様作)
ゲーム中のあらゆる場面転換(ニューゲーム、コンティニュー、メニュー画面等)でスイッチをONにします。
https://plugin.fungamemake.com/archives/1175
* @param コンティニュー
* @desc コンティニュー時にONになるスイッチ番号

▼セーブコマンド(Ruたん様作)
プラグインコマンドからセーブ/ロードの実行ができるようになります。
https://plugin.fungamemake.com/archives/1509
* ● 前回ロード/セーブしたスロットを削除する
* SaveCommand remove last

こちらと、コモンイベントの組み合わせで可能だと思います。

例えば、コモンイベント1番を
トリガー:自動実行
スイッチ:1
実行内容
プラグインコマンド:SaveCommand remove last
スイッチの操作:スイッチ1をOFF
と作ります。

あとはトリガープラグインでコンティニュー時にONになるスイッチを1に指定すれば完了です。


蛇足ですが、この質問になかなか返信がつかないのは「意図を読み取るのに苦労するから」だと思います。
自分は、整理・理解するのに30分位かかりました。
文章にせずに箇条書きにして整理すると分かりやすいです。
次回は、質問の意図が伝わりやすくなるように工夫しましょう。
最後に編集したユーザー ムノクラ [ 2019年10月24日(木) 22:03 ], 累計 1 回
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
Nichiyobi
記事: 19
登録日時: 2019年6月10日(月) 00:06

Re: セーブ機能を上書きセーブ機能に変更したいです。

投稿記事 by Nichiyobi »

わかりづらい文章ですみません...
次回からは要点をまとめて、箇条書きで書くことにします...

詳しく教えてくださって本当にありがとうございました。
返信する

“MV:質問”に戻る