savegame
 ふと気になったので、savegame命令周りについて調べてみました。

 savegame命令は引数として2147483647~-2147483648までの値を受け取れます。つまり、最大で約43億個のセーブデータを作れます。マイナスの値を指定した場合、ファイル名はsave-1.datのようになります。
 全ての変数に何の値も格納していない素の状態の場合、セーブファイルの容量は約36KB。文字変数に値を格納すると容量が増えます。数字変数の場合は、格納する値の大小によらず容量は一定です。
 また、セーブファイルの容量を決定する要因の一つとして、グローバル変数があります。グローバル変数は基本的に変数番号100200番からですが、value命令によって変えることが可能です。value命令によってグローバル変数の開始番号を500、1000、2000……と後にずらせばずらすほど、セーブデータに格納するべき普通の変数の値が増えるので、その分セーブデータの容量も増加し、それとは反対にgloval.savの容量が減少します。

 errorsave命令のセーブ番号が999なので1000以上はセーブできないんじゃないかという思い込みがあったのですが、思いのほか沢山セーブできるようですね。さすがに43億個をフルに使うことはないでしょうが。セーブデータだけでテラに到達しますしね。

[追記]
 間違っていた点があったので修正。
[PR]
by lyricist_m | 2009-01-27 15:36 | NScripter
<< 吉里吉里始めました。 セーブデータの有効活用 >>