みなさまこんにちは!ぽんかです。
以前、乱数や変数による条件分岐、変数への入力についてご説明しましたが、今回はセーブデータと変数の初期化についてです。
中でもシステム変数は不可逆的で一度保存してしまったらずーっと残り続けるのでユーザー側でリセットしたいときは再インストール…なんてことになりかねません。
ユーザー側でゲームをエンディングリストもまとめて全てリセットする自由はあってもいいのでは…と思ったり、
故意的に「おきのどくながら ぼうけんのしょ1ばんは きえてしまいました。」のような理不尽な演出もありなんじゃないかと思います。
それでは変数の初期化から説明していきます!
変数を削除する
「delete 変数名」で指定の変数を削除することが出来ます。
[eval exp="delete.f.hensu"]
上記のコードはf.hensuを削除します。
[clearvar]ではゲーム変数を、[clearsysvar]ではシステム変数を全消去です。
ゲーム変数はセーブデータ毎に保存される変数、システム変数はゲーム全体で保存される変数です。
セーブデータも含めて全て削除する
[iscript]
localStorage.removeItem(TG.config.projectID + "_tyrano_data")
[endscript]
上記コードはブラウザ版で使えます。セーブデータ毎(projectIDを置換して下さい)に全てを削除します。
projectIDは data\system\Config.tjs の26行目くらいで設定できます。
…タイトルは設定してもprojectIDは規定値のまま、という方も多いのでは、と思います。
規定値のままだと上記コードを利用してセーブデータも変数も他のゲームによって削除されてしまう、ということもあり得ます。
(全てのprojectIDのセーブデータもろとも削除するコードもあるのですが、敢えてここでは記述しません)
必ずprojectIDは作品毎に決めましょう!
というか、projectIDを個別に決めないとセーブがごちゃまぜ状態になります…
今回はこの辺で!
それではまた♪