このページの更新日: 2000年 11月 9日

グローバル インストラクション

グローバル インストラクションを使用すると、特定の条件や確率によってスクリプトの実行される部分を制御したり、独自に定数を設定したりすることができます。

グローバル インストラクションは、どのパートでも記述することができます。 いずれも独特な記述の仕方になっています。

#define

そのマップ自体のラベルを定義します。 このラベルは条件文で使用できます。

次のように記述します。

#define <ラベル>
random

指定した確率でスクリプトの実行される部分を変化させるインストラクションです。 次のように記述します。

start_random

percent_chance <パーセンテージ>
実行させたいスクリプト文A

percent_chance <パーセンテージ>
実行させたいスクリプト文B

end_start

"start_random"はインストラクションの開始を、"end_random"は終了を意味しています。 この間に実行させたいスクリプト文と、それが実行される確率を指定します。 "percent_chance"で確率を指定し、続いてスクリプト文を記述します。 これは、複数のパターンを記述できますが、それぞれの確率の合計が100を上回らないように注意してください。 また、合計が100に満たない場合、その差引分が「何も実行しない」確率になります。

よく、"define"、if文と組み合わせることでマップのタイプを毎回変化させるためなどに利用されます。

if

ラベルによってスクリプトの実行を分岐させます。 次のように記述します。

if <ラベル1>
ラベル1と一致する場合に実行するスクリプト文

elseif <ラベル2>
ラベル2と一致する場合に実行するスクリプト文

else
どのラベルとも一致しない場合に実行するスクリプト文

endif

"if"がインストラクションの開始を、"endif"が終了を意味しています。 ラベルにはマップ サイズのラベル("LARGE_MAP"など)、define文で定義したラベル、ゲームの種類のラベルを指定できます。 その時に定義されているラベルが条件であるラベルと一致する場合、"if"に続けて記述されているスクリプト文が実行されます。 その後、"endif"以降のスクリプト文にジャンプします。

"elseif"は先の条件が不一致の場合に判定され、一致すると続けて記述されているスクリプト文が実行されます。 その後、"endif"以降のスクリプト文にジャンプします。

"else"は、先の条件のいずれも不一致だった場合、続けて記述されているスクリプト文が実行されます。 その後、"endif"以降のスクリプト文にジャンプします。

"elseif"は複数記述することができますし、必要なければ記述しなくてもかまいません。 "else"も必要がなければ記述しなくてもかまいません。