里々の特殊変数を「空」にするには - kanadelab/satori_note GitHub Wiki
里々の特殊変数のうち、変数が無いときには自動的にデフォルトの値を使う仕組みになっている変数があります。
「$スコープ切り換え時」と「$選択肢終了時」がそれにあたります。セーブデータに残ったりするわけではないですが、変数が設定されていない場合は、里々の起動時に一時的にセットされるようになっています。
これらは変数があるわけではなく里々が自動的に適用しているものになるので、変数がない状態で例えば(スコープ切り替え時)と書いても何か取得できるわけでもないです。
$スコープ切り換え時【タブ】\n[half]
$選択肢終了時【タブ】\n
さて、ここでちょっと困ったケースがあります。
「スコープ切り替え時」に「何もしたくない」場合などです。 普通は、
$スコープ切り換え時【タブ】
と書いて変数を消してしまえば良さそうなのですが、実は意外に落とし穴があります。 「起動時に変数がなければデフォルトの値が一時的に設定される」という挙動のため、これをつかって変数を削除しても、次の起動時にはまた「変数がないのでデフォルトの値が使われる」ということになってしまうのです。
解決方法
里々の変数設定の順番を考えてみると対策することが簡単です。
里々の変数は「里々のシステム的なデフォルトを設定」→「satori_conf.txtの設定」→「セーブデータ」の順に読み込まれるので、「satori_conf.txt」に変数を削除するように書いてしまえばいいだけです。 例えばこのように。
$さくらスクリプトによるスコープ切り換え時【タブ】
こうすれば、変数がない場合は里々によってデフォルトの値が設定されてもsatori_conf.txtによって上書きされますし、逆にセーブデータに何か設定されている場合にはセーブデータが優先されるので、勝手に里々のデフォルトが使用されずにすむわけです。