[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
これらはすべて同じ値を示すということです。




ねくすと せくしょん⇒

≪せくしょん ばっく