グローバル関数

グローバル関数 とは、あらかじめ用意されている関数の一つです。

function( arg: Type[, ...] ): returnValue
Sample
Description
Scene
changeScene(sceneName: String)
changeScene("Ending");
現在のシーンを指定したシーンに切り替えます。 今の所使えるのは Title, Town, GameOver, Ending だけです。 シーンが変わると、Scripts フォルダの 「シーン名.txt」のスクリプトを実行します。
battle(enemyName: String, isRunnable = true): Number
battle("ドラゴン");
指定した名前の敵との戦闘を開始します。 isRunnable が false の場合は逃げることができません。
戻り値は 0 が全滅、1 が勝利、2 が逃走、3 がテレポートです。
Window
msg (text: String)
msg ("ここに書いた文字が\n表示されます。");
画面に文字が収まらない場合は、 「 」「、」「。」などで、自動で改行します。
menu (itemTitles: String): Number
menu ("はい\nいいえ");
「\n」を使うことで、メニューアイテムを追加できます。 戻り値はアイテムのインデックスです。
yesno (optionalMessage: String): Boolean
yesno ("Stairs up --- Take them?");
Yes: 1. Otherwise: 0.
riddle (optionalTitle: String): String
var answer = riddle ("What's your answer?");
文字入力ウィンドウを開き、入力した文字を返します。
riddle ( title: String, answers: Array ) : int

var title = StringTable.get("What's your answer?");
if (riddle(title, ["こたえ", "answer"]) != -1) // コタエ, ANSWER も該当
    msg("OK");
文字入力ウィンドウを開き、入力した内容が指定した配列に含まれるか調べ、その位置を返します。
■引数
title:
文字入力ウィンドウに表示されるタイトル answers:
1個以上の答えを設定した配列
■戻り値
-1 answers 内に答えがなかった場合
0- answers 内の答えに該当する要素を指すインデックス値
■ノート
カタカナを入力した場合は平仮名に、英数字を入力した場合は半角英数の小文字に変換して調べます。
Move
setLocation (mapName, x, y, direction=0)
setLocation ("B2.map", 0, 0);
指定した map の x, y 座標に移動します。 direction には向いている方向を指定します。 指定しない場合は現在向いている向きを変えません。
setDirection (direction: int)
setDirection (Direction.NORTH);
direction には向かせたい方向を指定します。
warp (x: Number, y: Number)
warp(0, 0);
指定座標に移動します。 ワープゾーンイベントを配置するときに、 このスクリプトが挿入されます。
Party
addItem (itemName:String): int var pcIndex = addItem("かぎ"); if (pcIndex == -1) msg("You can't have anymore!"); 指定した名前のアイテムをパーティ内のキャラに渡します。 戻り値: -1 or the index of a party character.
hasItem (itemName:String): Boolean
hasItem ("やくそう");
指定した名前のアイテムをパーティ内のキャラが持っていれば、 戻り値 1 になり、もっていなければ 0 になります。
Audio
playBGM (filename:String): String
var filename = playBGM ("last_battle.mp3");
battle("ドラゴン"); playBGM(filename);
指定した名前の MIDI, MP3, OGG ファイルをならします。
戻り値は現在再生中の音声ファイル名です。
playSound(filename:String)
playSound("footsteps.wav");
指定した名前の WAV ファイルをならします。
playVideo ( filename: String ) : Boolean

if (!playVideo("Videos/name.mp4")) {
 msg("動画を再生できませんでした。");
}
if (!playVideo("https://www.test.test/name.mp4")) {
 msg("動画を再生できませんでした。");
}
指定した動画ファイルを再生します。
■引数
filename:
動画ファイルのパスまたはURL
■戻り値
true: 動画の再生ができた場合
stopBGM()
stopBGM();
System
waitFrame(frame: Number)
waitFrame(10);
指定のフレーム数処理を停止します。
wait(milliseconds: Number)
wait(10);
指定のミリ秒処理を停止します。
ETC
setFlag (id:String, flag: Boolean): String
setFlag ("WinDragon", true);
指定した ID または index のフラグにデータをセットします。 戻り値は以前に設定したフラグです。
getFlag (id:String): Boolean
getFlag ("WinDragon");
指定した ID または index のフラグの bool 値を返します。
pit (): void

function onPit(): void {
    var text = StringTable.get("A Pit!");
    var margin = 16 * WIN_RATIO;
    var w = margin + text.length() * FONT_SIZE;
    var h = margin + FONT_SIZE;
    var x = (Renderer.getWidth() - w) / 2;
    var y = (Renderer.getHeight()- h) / 2;
    msg(text, x, y, w, h);
    pit();
}
onPit();
マップレベルに応じたダメージをパーティに与えます。

msg() の特殊文字一覧

\n
改行
\f
改ページ
\!
ボタン入力待ち
\.
文章の表示中に 1/4 秒間ウェイトする
[pc0] - [pc5]
パーティメンバーの名前を表示
msg("[pc0]");
playse
効果音を再生
msg("async se test<playse src='shutter' />\nend");
msg("sync se test<playse src='shutter' sync />\nend");