EventScript

イベントスクリプトとは音楽を鳴らしたり、画像表示、マップの移動、戦闘など、ゲームを作る上で欠かせないイベントを作成するためのテキストファイルです。エディタでイベントを作成した場合には mapName.xml 形式で保存されたファイルの CODE セクションにその内容が書かれています。

基本的な文法は ActionScript 3.0 を参考に作ってあります。スクリプトを受け取るとアセンブラ風の言語にコンパイルし、スタックベースのバーチャルマシーンで順に実行していきます。

変数

変数の宣言するには var というキーワードを使います。 現在対応しているリテラルは文字列と数字と配列です。

// int var val1 = 10; var val2 = 0xFFFF; // Number var num = 3.14; // Boolean var b = true; // String var str = "Test"; // Array 要素にアクセスするには array[0] というようにします var array = [ 0, 1, 2, "test", 4 };

制御文

制御文とは、式を評価することで条件分岐をし、処理を振り分けることができるようにしたりする文です。
if while for が使えます。

for (var i = 0; i < 10; ++i) { if (i == 5) { MB(i); break; } } var i = 0; while (i < 20) { ++i; } MB(i);

関数

変数の宣言するには function というキーワードを使います。

function test(p1, p2) { MB(p1 + p2); } test("Hello ", "World");

予約語

予約語とは、スクリプトで使う if などの制御文や、String などの変数の型を定義した物です。
変数の名前に使うことはできません。

break case catch class continue
default delete do else finally
function for if import in
instanceof new return switch suspend
while this throw try typeof
with var void Number String
_ret true false

現在仕えるのは以下の通りです。

// 指定したファイルを挿入します #include "Scripts/test.txt" // Boolean 型の変数 var b = true; MB(typeof b);

システム変数

システム変数とは、宣言をすることなく、最初から定義されている変数で、特殊な用途で使われます。

現在用意されている変数は _ret のみです。この変数はコマンドを使った後の戻り値を保存しておく物で、例えば menu 関数を実行した後の戻り値として、選択されたメニューアイテムのインデックスが保存されます。