[subject]

スクリプトの基本となるのが、[subject](項目)です。SpoilerALを使ってどこをどう読み書きするかは、この項目を使って書いていくのです。 [subject]は、基本的に以下のような形式をとります。
[subject]項目名 : 項目種別 , オプション
項目種別とその概要を示します。各項目とも次セクションから詳しく説明しますので、この場は流し読みで構いません(^^;
項目種別 | ※　概要　※
dir | 階層項目。表示する際の階層を、一段下げます。
[subject]項目名:dir
calc | 電卓項目。プレーヤーのステータスなど、数値で表現されるものに使用します。
[subject]項目名:calc,0x400000,0,100
toggle | トグル項目。画像を見た／見ていないなど、ON/OFFで表現されるものに使用します。
[subject]項目名:toggle,0x400000,FF,00
list | リスト項目。装備している武器など、一定範囲の数値から、どれか一つを選択するものに使用します。
[subject]項目名:list,0x400000,リストファイル,0,1
string | 文字列項目。プレーヤーの名前など、文字列で表現されるものに使用します。
[subject]項目名:string,0x400000,7,null
b_calc | 一括(バンドル)電卓項目。メンバー全員のステータスを、まとめて書き換えたいときなどに使用します。
[subject]項目名:b_calc,0x400000,チェインファイル,offset,0,100
b_toggle | 一括(バンドル)トグル項目。CGモードの画像閲覧済みON/OFFを、まとめて書き換えたいときなどに使用します。
[subject]項目名:b_toggle,0x400000,チェインファイル,offset
b_list | 一括(バンドル)リスト項目。メンバー全員の装備を、まとめて書き換えたいときなどに使用します。
[subject]項目名:b_list,0x400000,リストファイル,0,1,チェインファイル,offset
d_list | ダブルリスト項目。リスト項目と同様、一覧から選択するものに使用します。リスト項目は書き込む値に規則性を求められるため、一覧の順番や行数に厳密ですが、ダブルリスト項目はファイルを二つ利用することで、値を自由に指定できます。
[subject]項目名:d_list,0x400000,リストファイル1,0,99,リストファイル2
d_toggle | ダブルトグル項目。トグル項目とダブルリスト項目の複合版といった感じの項目です。一覧に書いた一つ一つに対し、ONにするかOFFにするかを選択できます。なお、「どれか一つを選ぶ」というわけではありません。
[subject]項目名:d_toggle,0x400000,リストファイル1,リストファイル2,offset
bitlist | ビットリスト項目。多くの値はバイト単位で管理されていますが、まれに所持品などにビット単位のON/OFFを使用している物があります。そういった値に、この項目を使います。
[subject]項目名:bitlist,0x400000,リストファイル,1
f_calc | 実数電卓項目。基本的な部分は電卓項目と同じですが、扱う数値が実数（小数点を含む数値を許可）である点が異なります。
[subject]項目名:f_calc,0x400000, 0.2, 82.05, float
bf_calc | 一括(バンドル)実数電卓項目。実数を扱う一括電卓項目です。
[subject]項目名:bf_calc,0x400000, チェインファイル, offset, 0.2, 82.05, float
trace | トレース項目。属性を付加する[attribute][/atteribute]命令の一つに、ファンネルライトという属性があります。この属性を利用することで、「定期的に値を監視して、書き換える項目」というのを作ることができます。これを簡潔に利用するときに、トレース項目を使用します。
[subject]項目名:trace,ファンネルファイル
copy | コピー項目。他の項目のように、ユーザーが値を入力する形式ではなく、特定アドレスの値を別のアドレスにコピーしたいときに、この項目を使用します。
[subject]項目名:copy,0x400000,0x500000,4
split | 分割項目。読み書きを行うための項目ではなく、区切り線などを表示するための項目です。項目数が多く、紛らわしいときなどに、この項目を使用します。
[subject]項目名:split,描画オプション,インデント,パラメータ1,パラメータ2,パラメータ3
これらの項目が存在しますが、ほとんどの読み書きは、calcとtoggleで事足ります(^-^;)もちろん他の項目を使うことで、より楽に、直感的に利用できることも多いと思いますので、色々挑戦してみてくださいねっ♪

コメント規則

ちょっとここで補足です。SSG中では、"["からはじまる行があった場合、まずそれが命令かどうかを調べます。もし"["で始まっていなかったり、"[foo]"のように、命令として定義されていない文字列なら、コメントとみなしその行を読みとばします。 また、1バイト空白やタブ文字は無視されるので、
[subject]項目名:dir
上記のようにしても、項目として認識されます。（2バイト空白は無視されません） なお、命令はそれぞれ一行単位で書きます。当然、
[subject]項目名:calc, 0x40000,0,100
こういった書き方はできませんので、注意してください。

コラム：数値表記

SpoilerALでの数値の扱いは、10進数ならそのまま書き、16進数の場合は頭に 0x を付けて表記します。
999 0x03E7 0x3E7
これらはすべて同じ値を示すということです。

ねくすと　せくしょん⇒
≪せくしょん　ばっく