Nanashi-softソフトメニューカルナノードドキュメント


◇カルナノード −作り方(8−

フラグの使い方を説明します
単純な命令しか無いのですが,その組み合わせで様々な条件分岐を行えます

○フラグの種類
中に入れる事ができる数値の大きさによって4種類あります
FLAG1は,0か1しか入りませんが,2048コ使えます
FLAG8は,-120〜+120の数値が入り,256コ使えます
FLAG16は,-32000〜+32000の数値が入り,128コ使えます
FLAG32は,-1000000000〜+1000000000の数値が入り,64コ使えます

指標はどれも0から開始されます
例えばFLAG1の7番と,FLAG8の7番は,別物です

○数値を代入する
『FLAGxx:指標』でどの位置に入れるのかを決めて,『FLAG16.SET:数値』で代入します
ちょうど,キャラ絵のような考え方です。場所を指定してから,中身を指定します

FLAG8の10番に77を代入する
FLAG8:10
FLAG8.SET:77

入りきらない場合は,最大(もしくは最小)に丸め込まれます
FLAG8:10
FLAG8.SET:1000
とすると,FLAG8の10番は最大値の120になってしまいます
バグの原因となるので変数のサイズには注意して下さい

1000の数値を扱いたければ,FLAG16を使って下さい
FLAG16:10
FLAG16.SET:1000
こうすると,FLAG16の10番には1000が格納されます

○変数の値によって指定シーンに飛ぶ
フラグが『0で無ければ』,指定したシーンに飛ぶ事ができます

例えば,フラグ1の50が,0ならシーン100に,1ならシーン200に分岐させたい場合
FLAG1:50  ーフラグ1の50の中身を見て判定する
IF.FLAG1:200  ー1がセットされていたらシーン200へ
GOTO:100  ー0がセットされていたらシーン100へ

FLAG8を使うと,もっと複雑に分岐させる事も出来ますが,それはまた次回説明します

○数値を足す・引く
変数に代入した値に,指定した数値を足したり,引いたりする事ができます
但し,フラグ変数の上限,下限を超えると,最大値,最小値で止まります
注意点として,フラグ1にはこの命令がありません(スクリプトリファレンス参照のこと)

例えば,FLAG8の30に,1を足したい場合
FLAG8:30
FLAG8.PLUS:1

FLAG8の30から,1を引きたい場合
FLAG8:30
FLAG8.PLUS:-1
足す命令しか無いので,マイナスを足す指定になります

FLAG8の30に,1000を足した場合
FLAG8:30
FLAG8.PLUS:1000
この場合,FLAG8の30は,上限の120に丸め込まれます
マイナス方向も同様に,下限-120までしか引けません
ここはバグの原因になるので,しっかり把握しておきましょう

○数値をコピーする
現在対象となっている変数を,別の変数にコピーします
注意点として,サイズの異なるフラグ変数間ではコピーできません
つまり,フラグ1はフラグ1同士,フラグ8はフラグ8同士でのみコピー可能です

例えば,FLAG8の25を,FLAG8の99にコピーしたい場合
FLAG8:25
FLAG8.COPY:99
これで,FLAG8の25と99が同じ値になります



トップメニューソフトメニューカルナノードドキュメント