命令文一覧
スクリプト実行する際に記載する、命令・関数・構文などの一覧です。
- 基本構文
- 条件分岐や繰り返し処理など、スクリプト実行の制御処理を行います。
- if、while、switchなどが含まれます。
- 命令文
- 単体で作動し、表示や内部制御など様々な処理を行います。
- mes、warp、monster、getitemなどが含まれます。
- 関数
- 基本構文や命令文と組み合わせて、特殊な値・文字の取得を行います。
- getitemname、countitem、getskilllvなどが含まれます。
- csv操作
- 表計算形式のファイル「csv」の読み込み、書き込みなどの制御を行います。
- それぞれの命令・関数が用意されており、別途csvファイルが必要となります。
- ラベル
- スクリプトの開始位置を指定するユーザー定義ラベルと、特殊な条件下で実行する定数ラベルがあります。
- OnPCイベントラベルを使用する際は設定で有効にしなければなりません。
- その他
- 変数のデータ型、配列変数、演算子などについて紹介していきます。
if 文
真偽値により、処理を2つに分岐させる文。
スクリプトが行う処理には、条件によって処理の分岐が必要なことがあります。
if文は「もしも〜だったら」という判定を行う、最も基本的な条件分岐です。
if文は、与えられた条件の判定結果である真偽値によって分岐を行います。
条件に適合する状態を真と呼び、真偽値は0以外の整数値で表現します。
逆に条件に適合しない状態を偽と呼び、真偽値は0で表現します。
実際にif文を使用する際は、真偽値を返す式を指定することによって、分岐のための条件を表現します。
主に関係演算子(==、>=、<など)や論理演算子(&&、||など)を使って条件を表現します。
条件に適合したときの処理を {} 内に記述します(構造化)。
分岐時の処理が1文のみの場合は、 {} を省略して処理のみ記述することが可能です。
【if文の構文】
if(真偽値1){
処理1
}
【if文のイメージ】
if - else 文
if文の条件に適合しなかった場合に行う処理を記述するための文。
if文では条件に適合した場合の処理を記述しますが、スクリプトによっては条件に適合しなかった場合にも別の処理を行う場合があります。
そのような場合は、if文と合わせてelse文を使用します。
else文を使用することにより、真偽値が偽の時に特別な処理を行うことができるようになります。
if - else文を使用する際は、elseに続けてさらにif文を記述することも可能です。
これにより、3つ以上の分岐も表現できます。
if文同様、else文でも分岐時の処理が1文のみの場合は、 {} を省略して処理のみ記述することが可能です。
【if - else文の構文】
if(真偽値1){
処理1
}
else if(真偽値2){
処理2
}
else{
処理3
}
【if - else文のイメージ】
switch 文
式の値(整数または文字)により処理を分岐させる文。
switch文は式の値によって複数の分岐を行う構文です。
スクリプトの処理に多方向の分岐があり、if文(またはif - else文)が羅列してしまうときにはswitch文で表現できることがあります。
switch文は「値が 100 以下のとき」のように範囲を指定することは出来ませんが、選択肢が限られている場合はより簡潔にスクリプトを記述できます。
switch文を利用する際は、分岐の基準となる式として計算式や変数を指定します。
式には結果が整数または文字となるもののみ記述ができます。
式の値によって分岐する先は、「case 値:」や「default:」といったラベルにより表現します。
ラベルは、何らかの処理を行うものではなく、分岐先の目印となるための記述です。
分岐後の処理は、ラベルの次に記述します。
caseラベルは値とセットで記述し、式の値と適合されたときに実行されます。
defaultラベルはcaseの値が全て適合しなかったときに実行されます。
通常、分岐後の処理ごとにbreak文を記述してswitch文を抜けるようにします。
break文が記述されていなければ、switch文を抜けずにそのまま次の処理を実行します。
【switch文の構文】
switch(式){
case 値1:
処理1
break;
case 値2:
処理2
break;
・・・
default:
処理X //全ての条件に適合しなかった場合に実行される
break;
}
【switch文のイメージ】
while 文
条件が適合している間、繰返し処理を行う文。
処理を繰返すかどうかの判定は処理の実行前に行う(前判定)。
スクリプトでは、同じ処理を何度か繰返し行うことがあり、繰返し専用の構文が用意されています(ループ処理)。
while文は繰返し処理を行える構文の1つで、条件が適合する間、繰返し処理を行います。
while文はif文同様に関係演算子や論理演算子を利用して、繰返しの条件(継続条件)を記述します。
ここで指定した条件が真であれば処理を行い、また継続条件の判定へ戻ります(条件が偽になるまで繰返し)。
継続条件を評価した後に繰返し処理を行うため、場合によっては処理が一度も実行されないことがあります。
while文で繰返し実行したい処理は、 {} で囲んで記述します(構造化)。
繰返し行いたい処理が1文のみの場合、 {} を省略して記述することが可能です。
【while文の構文】
while(真偽値){ //繰返しの継続条件 ※この式の値が「真」である間、繰返しを続ける
処理
}
【while文のイメージ】
do - while 文
条件が適合している間、繰返し処理を行う文。
処理を繰返すかどうかの判定は処理の実行後に行う(後判定)。
while文では、まず条件の判定を行ってから処理を行うので、処理が一度も実行されないことがありました。
しかし、スクリプトによっては少なくとも1回は処理を行いたい場合もあります。
そのような場合には、do - while文を利用します。
do - while文では、while文同様に継続条件のみを指定して繰返し処理を記述します。
しかし、do - while文は先に一度処理を行い、最後に条件式の判定が真であれば、また繰返し処理の先頭へ戻ります。
このように処理を行った後に真偽値を判定するため、処理は少なくとも一度は実行されることになります。
while文同様、繰返し行いたい処理が1文のみの場合は {} を省略可能です。
【do - while文の構文】
do{
処理
}while(真偽値); //繰返しの継続条件 ※この式の値が「真」であればdoまで戻る
【do - while文のイメージ】
for 文
条件が適合している間、繰返し処理を行う文。
繰返しに入った時に1回だけ実行される初期化処理、
繰返しが1回終了するごとに実行される後処理が記述可能。
for文もwhile文、do - while文同様の繰返し処理を行う構文で、真偽値が真の間、繰返しを行います。
しかしfor文には真偽値のほかに、初期化処理、後処理を記述できます。
初期化処理は、for文を実行する最初の段階で一度だけ実行する処理を記述します。
後処理は、for文の先頭に戻る段階で毎回実行される処理を記述します。
for文では変数の値を1つずつ増加(または減少)をすることで繰返し回数をカウントし、決められた回数だけ繰返す、という処理が表現できます。
for文で繰返し実行したい処理は、 {} で囲んで記述します(構造化)。
繰返し行いたい処理が1文のみの場合、 {} を省略して記述することが可能です。
【for文の構文】
for(初期化処理,真偽値,後処理){ //初期化処理は繰返しに入ったときに1度のみ、後処理は繰返しが1回終了するごとに毎回実行される
処理
}
【for文のイメージ】