[sleepgame]
[awakegame]
は、セーブとロードなので、[awakegame]
時に一時変数(以下「tf
」)は消去されます。
となると、プレイ中いつでもコンフィグに飛べるデザインのゲームでは実質 tf
が使えません。
という事で改造です。
動作確認
v515beta7b
注意点
awakegame
の variable_over
パラメータも使えますが、config.ks
の [awakegame]
に variable_over='false'
指定しておかないと、コンフィグの設定も残るので変数ウォッチがやかましい。
変数ウォッチ見ないなら気にしなくてもいいかも。
コード
const ex_sleepgame = tyrano.plugin.kag.tag.sleepgame.start;
tyrano.plugin.kag.tag.sleepgame.start = function (pm) {
ex_sleepgame.apply(this, arguments);
this.kag.tmp.tf = $.extend(true, {}, this.kag.variable.tf);
}
const ex_awakegame = tyrano.plugin.kag.tag.awakegame.start;
tyrano.plugin.kag.tag.awakegame.start = function (pm) {
if (pm.variable_over == "true") this.kag.tmp.tf = $.extend(true, {}, this.kag.variable.tf);
ex_awakegame.apply(this, arguments);
this.kag.variable.tf = $.extend(true, {}, this.kag.tmp.tf);
}
そこまでして tf 使いたいか問題
ぶっちゃけ全部 sf
と f
で良いとは思います。
ロードで強制リセットされる tf
はミニゲームなどで便利なのですが、そうするとコンフィグが使いにくく悩ましいです。
私としては、[sleepgame]
[awakegame]
は「プレイ継続中」な感覚なので、プレイ継続中は tf
消えないでいて欲しいのですが、たぶん設計上の使用目的がそもそも違ってそうな気がする。