変数・値

数値
LiveMakerでは次のような表現の数値を使用することができます。

12345 | 整数
123.45 | 小数
$12345 | 16進数

真(TRUE)と偽(FALSE)
条件に適合している・ON状態・値が0以外を真、条件に適合しない・OFF状態・値が0を偽と言います。LiveMakerでは真をTRUE、偽をFALSEと表すことができます。
例えば左ボタンがクリックされたかどうかを判断する場合、以下は同じ意味です。

@LClick == TRUE | @LClick

逆に左ボタンがクリックされていないことを判断する場合は以下のようになります。

@LClick == FALSE | Not( @LClick )

文字列
文字列はダブルクォーテーション( " )で囲みます。

"あいうえお"

文字列中にダブルクォーテーションを使用したい時は\"とします。

"あい\"う\"えお"　→　あい"う"えお

また文字列中に\を使用したい時は\\とします。

"あい\\うえお"　→　あい\うえお

エスケープシーケンス(\)
ダブルクォーテーションで囲まれた文字列の中ではバックスラッシュ( \ )に続く文字は特別な意味を持ちます。

表記 | 意味
\n | 改行
\\ | \
\" | "

変数
変数には数値や文字列を代入することができます。整数(小数が使えない)、実数(小数が使える)、フラグ(TRUE・FALSE)、文字列（文字数制限なし）があり、変数作成時にどの型か指定します。
変数名には半角英数字とアンダーバー( _ )、及び全角文字が使えます。

配列
変数名[添え字]という形式で配列を表現できます。添え字は0から始まります。
配列変数を直接作成するコマンドはありません。変数を作成した後にSetArray関数で配列にします。例えば、変数abcを10x10の二次元配列にするなら、SetArray( abc,10,10 )とします。この配列にアクセスする場合はabc[x,y]と記述します。
なお、abc と abc[0] は同じ扱いになります。

文字列と数値
文字列と数値は混合して使えます。例えば、以下のような２つの変数があったとして、

変数名 | 型 | 値
N | 整数 | 50
S | 文字列 | "100"

次のような計算をすると

N = N + S

Nは150になります。また、次のような場合は

S = S ++ N

Sは"10050"になります。

動作タイプ

通常 | ゲーム起動時またはリセット時に初期化されます リセット時とは以下のような時です ・プレイヤーがシステムメニューを使ってタイトル画面に戻った時 ・「シーン回想」モードで話を始めた時 ・ゲームが終了してタイトル画面に戻った時
起動時のみ初期化 | ゲーム起動時にだけ初期化されます
ステータス | インストール後、最初にゲームを起動した時にだけ初期化されます。また、ソフト起動時に値を復帰し、ソフト終了時に値を保存します（その間にプレイヤーが行うゲームセーブ・ロードの影響は受けません）

システム変数

特殊な変数としてシステム変数があります。システム変数は@で始まり、システムの状態を取得したり設定したりすることができます。

変数名 | 型 | 意味 | 設定可
@Year | 整数 | 現在の日付の年。 | 不可
@Month | 整数 | 現在の日付の月。 | 不可
@Day | 整数 | 現在の日付の日。 | 不可
@Week | 整数 | 曜日を１(日)～７(土)で返す。 | 不可
@Hour | 整数 | 現在の時刻の時。 | 不可
@Min | 整数 | 現在の時刻の分。 | 不可
@Sec | 整数 | 現在の時刻の秒。 | 不可
@1Hour | 実数 | 1日を1とした時の1時間の値 | 不可
@1Min | 実数 | 1日を1とした時の1分の値 | 不可
@1Sec | 実数 | 1日を1とした時の1秒の値 | 不可
@MouseX | 整数 | マウスカーソルのX座標を返す。 | 可
@MouseY | 整数 | マウスカーソルのY座標を返す。 | 可
@LClick | フラグ | 左ボタンがクリックされた時にTRUEを返す。 | 不可
@RClick | フラグ | 右ボタンがクリックされた時にTRUEを返す。 | 不可
@LPush | フラグ | 左ボタンが押されている時にTRUEを返す。 | 不可
@RPush | フラグ | 右ボタンが押されている時にTRUEを返す。 | 不可
@KeyClick[キー番号] | フラグ | 指定のキーがクリックされた時にTRUEを返す | 不可
@KeyPush[キー番号] | フラグ | 指定のキーが押されていればTRUEを返す | 不可
@KeyRepeat[キー番号] | フラグ | 指定のキーがクリックされた時、または押されている間、一定周期毎にTRUEを返す | 不可
@Pi | 実数 | 円周率 | 不可
@TickCount | 整数 | プログラムが開始してからの時間をミリ秒単位で返す。 | 不可
@PCTickCount | 整数 | Windowsが起動してからの時間をミリ秒単位で返す。 | 不可
@Title | 文字列 | ソフトウェアのタイトルを返す | 不可
@FullScr | フラグ | フルスクリーンならTRUEを返す。 | 可
@ScrHeight | 整数 | 画面の高さ。 | 不可
@ScrWidth | 整数 | 画面の幅。 | 不可
@SelIndex | 整数 | 文字列選択や画像選択でプレイヤーが選択した番号(0～)。画像選択の場合は、LivePreviewMenuで表示される番号と同じものが入る。 ※右クリックでクローズした場合は-1。 | 可
@SelStr | 文字列 | 文字列選択や画像選択でプレイヤーが選択した文字列。画像選択の場合は、LivePreviewMenuで付けた名前が入る。 | 可
▼以下の変数はLiveMakerPro用なので、通常LiveMakerでは使いません
@ActiveCompo | 文字列 | キーボードからの入力を受け取るコンポーネントの名前。 | 可
@CGDither | フラグ | TRUEならフルカラー画像を読み込む時、ディザで減色処理を行う | 可
@Cursor | 文字列 | デフォルトのマウスカーソルのファイル名。コンポーネントのカーソルが設定されている場合はそちらが優先される。 | 可
@DisplayModeCount | 整数 | ディスプレイモードの数を返す。ディスプレイモードの情報はGetDisplayMode関数で取得できる | 不可
@DisplayModeIndex | 整数 | フルスクリーン時のディスプレイモード番号。フルスクリーンの状態でこの変数に値を設定すると即反映される。 | 可
@FixedFonts | 文字列 | システムで使える固定ピッチTrueTypeフォントの名前を改行で区切って返す。 | 不可
@Fonts | 文字列 | システムで使えるTrueTypeフォントの名前を改行で区切って返す。 | 不可
@HistoryCount | 整数 |
履歴書式登録 している場合 | テキスト履歴の高さ(ピクセル単位)
履歴書式登録 していない場合 | 呼び出し可能なテキスト履歴の数
| 不可
@HistoryMaxCount | 整数 | 記憶可能なテキスト履歴の最大ページ数。
履歴書式登録 している場合 | 履歴表示用メッセージボックスでのページ数
履歴書式登録 していない場合 | テキスト挿入時のページ数
| 可
@IsDebug | フラグ | デバッグモードで実行中ならTRUEを返す。 | 不可
@ParamStr | 文字列 | 引数の値。アクセスできる範囲は @ParamStr[0] ～ @ParamStr[@ParamCount-1] | 不可
@Result | - | コール元に返す戻り値を設定する。 | 可
@Sender | 文字列 | 呼び出したコンポーネントの名前。 | 不可
@SoundON | フラグ | FALSEでサウンド再生を無効にします。 | 可
@StackCount | 整数 | コールスタック数。 | 不可
@Temp | - | AssignTempで変数を割り当てると、その変数の代わりとして使える | 可
@TextDelay | 整数 | テキスト挿入のデフォルトウエイト。 | 可
@MidiPort | 文字列 | 現在のMIDIポート。 | 可
@MidiPorts[インデックス] | 文字列 | 使用可能なMIDIポート。インデックスは0～(GetArraySize(@MidiPorts)-1) | 不可

演算子

代入

例 | 意味
x = 5 | 変数ｘに5を代入する
s = "あいうえお" | 変数sに文字列 あいうえお を代入する

算術演算子

x = 1 + 3 | 足し算
x = 3 - 1 | 引き算
x = 5 * 3 | 掛け算
x = 5 / 2 | 割り算
x = 5 % 2 | 割った余り(この場合は1)

ビット演算子

| | 論理和(OR)
& | 論理積(AND)
^ | 排他的論理和(XOR)
<< | 左シフト
>> | 右シフト

比較演算子

a == b | aとbが等しければ(文字列でも可)
a <> b | aとbが等しくなければ(文字列でも可)
a < b | aがbより小さければ(文字列でも可)
a > b | aがbより大きければ(文字列でも可)
a <= b | aがb以下であれば(文字列でも可)
a >= b | aがb以上であれば(文字列でも可)
(a == 1) & (b == 2) | aが1で、かつ、bが2であれば
(a == 1) | (b == 2) | aが1、または、bが2であれば

文字列連結

a ++ b | 文字列aとbを連結します
a + b | 文字列aとbを連結します

+は、代入先が文字列変数ではない場合に、文字列連結ではなく加算と解釈されてしまいます。++の場合は常に文字列連結となります。

関数

関数は計算ノードの中で使うことができます。

カテゴリ | 関数 | 機能 | 引数 | 戻り値 の型 | 使用例
DB | DBGetActive | 現在のアクティブテーブルの名前を返す。 | - | 文字列 | s=DBGetActive()
DB | DBSort | アクティブテーブルのレコードをソートする。成功ならTRUEを返す。 | ①ソートキーにする項目名(配列可) ②逆順フラグ(配列可) | フラグ | name[]={"HP","MP"} rev[]={FALSE,TRUE} f=DBSort(name,rev)
DB | DBClearRecord | 指定された名前のテーブルまたはアクティブテーブルの全レコードを削除する（項目リストは消えない）。成功ならTRUEを返す。 | ①テーブルの名前(省略時はアクティブテーブル) | フラグ | f=DBClearRecord()
DB | DBGetRecNo | 指定された名前のテーブルまたはアクティブテーブルのアクティブレコードの番号を返す。アクティブレコードがない場合は-1を返す。 | ①テーブルの名前(省略時はアクティブテーブル) | 整数 | n=DBGetRecNo()
DB | DBInsertTable | 指定テーブルの全てのレコードまたは条件に合致したレコードをアクティブテーブルに追加する。成功ならTRUEを返す。 | ①コピー元テーブル名 ②レコード条件の項目名(配列可・省略時は無条件) ③レコード条件の内容(配列可・省略時は無条件) ④TRUEなら大小文字を区別しない(省略時はFALSE) ⑤部分一致許可(省略時はFALSE) | フラグ | f=DBInsertTable("DB2","職業",2,FALSE,FALSE)
DB | DBDeleteTable | 指定された名前のテーブルまたはアクティブテーブルを削除する。成功ならTRUEを返す。 | ①テーブルの名前（省略時はアクティブテーブル） | フラグ | f=DBDeleteTable()
DB | DBClearTable | 全てのテーブルを削除する。成功ならTRUEを返す。 | - | フラグ | f=DBClearTable()
DB | DBCopy | アクティブテーブルのアクティブレコードの内容を指定テーブルに追加する。成功ならTRUEを返す。 | ①追加先テーブルの名前 | フラグ | f=DBCopy("DB2")
DB | DBGetStr | アクティブテーブルのアクティブレコードの指定項目の内容を文字列で返す。 | ①項目名 | 文字列 | s=DBGetStr("名前")
DB | DBSetActive | 指定名のテーブルをアクティブにする。成功ならTRUEを返す。 | ①テーブルの名前 | フラグ | f=DBSetActive("DB1")
DB | DBCreateTable | 指定名のテーブルを作成し、そのテーブルをアクティブにする。成功ならTRUEを返す。 | ①名前 ②ステータス扱いならTRUE | フラグ | f=DBCreateTable("DB1",FALSE)
DB | DBGetTableCount | 存在するテーブルの個数を返す。 | - | 整数 | n=DBGetTableCount
DB | DBGetTable | 指定インデックスのテーブル情報を変数にセットする。成功ならTRUEを返す。 | ①インデックス(0～DBGetTableCount-1) ②名前を受け取る変数 ③ステータスかどうかを受け取る変数 | フラグ | f=DBGetTable(0,Name,IsStatus)
DB | DBSetRecNo | アクティブテーブルの指定番号のレコードをアクティブにする。成功ならTRUEを返す。 | ①レコード番号 | フラグ | f=DBSetRecNo(0)
DB | DBAddField | アクティブテーブルに項目を追加する。成功ならTRUEを返す。 | ①項目名 ②型 ③文字数(文字列型の場合のみ) | フラグ | f=DBAddField("HP",PT_INT,0)
DB | DBGetBool | アクティブテーブルのアクティブレコードの指定項目の内容をフラグで返す。 | ①項目名 | フラグ | f=DBGetBool("男")
DB | DBSetBool | アクティブテーブルのアクティブレコードの内容をフラグで設定する。成功ならTRUEを返す。 | ①項目名 ②内容 | フラグ | f=DBSetBool("男",FALSE)
DB | DBGetFloat | アクティブテーブルのアクティブレコードの指定項目の内容を実数値で返す。 | ①項目名 | 実数 | e=DBGetFloat("成功率")
DB | DBSetFloat | アクティブテーブルのアクティブレコードの内容を実数値で設定する。成功ならTRUEを返す。 | ①項目名 ②内容 | フラグ | f=DBSetFloat("成功率",78.3)
DB | DBFindPrior | アクティブテーブルのアクティブレコードの前のレコードをアクティブにする。成功ならTRUEを返す。 | - | フラグ | f=DBFindPrior()
DB | DBFindNext | アクティブテーブルのアクティブレコードの次のレコードをアクティブにする。成功ならTRUEを返す。 | - | フラグ | f=DBFindNext()
DB | DBLoadTsvFile | アクティブテーブルにTSVファイルを読み込む。成功ならTRUEを返す。 ※TSVの最初の行はフィールド設定となります | ①ファイル名 | フラグ | f=DBLoadTsvFile("データ.tsv") 【データ.tsvの例】※<T>はタブ文字 名前 char 10<T>年齢 int<T>視力 float<T>眼鏡 bool 太郎<T>20<T>2.0<T>FALSE 花子<T>18<T>0.1<T>TRUE フィールド設定は「フィールド名 型 長さ(文字列のみ)」と記述します。型には、int(整数)、float(実数)、bool(フラグ)、char(文字列)があります。文字列の長さは半角文字単位で指定します(指定しなかった場合は80文字)。 フィールド名のみ記述した場合は半角80文字の文字列型となります。
DB | DBLocate | アクティブテーブルの中から指定レコードを検索しアクティブにする。成功ならTRUEを返す。 | ①項目名(配列可) ②内容(配列可) ③TRUEなら大小文字を区別しない(省略時はFALSE) ④部分一致許可(省略時はFALSE) | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBLocate(name,val,TRUE,FALSE)
DB | DBRecordCount | 指定された名前のテーブル(省略時はアクティブテーブル)のレコード数を返す。テーブルが存在しない場合は-1を返す。 | ①テーブルの名前（省略可） | 整数 | n=DBRecordCount("DB1")
DB | DBSetStr | アクティブテーブルのアクティブレコードの内容を文字列で設定する。成功ならTRUEを返す。 | ①項目名 ②内容 | フラグ | f=DBSetStr("名前","太郎")
DB | DBFindLast | アクティブテーブルの最後のレコードをアクティブにする。成功ならTRUEを返す。 | - | フラグ | f=DBFindLast()
DB | DBFindFirst | アクティブテーブルの最初のレコードをアクティブにする。成功ならTRUEを返す。 | - | フラグ | f=DBFindFirst()
DB | DBDirectGetInt | 指定テーブルの指定レコードの内容を整数値で返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥取り出す項目名 ⑦取得できなかった時に返す値 | 整数 | name[]={"名前","HP"} val[]={"太郎",100} n=DBDirectGetInt("DB1",name,val,TRUE,FALSE,"MP",0)
DB | DBDirectGetStr | 指定テーブルの指定レコードの内容を文字列で返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥取り出す項目名 ⑦取得できなかった時に返す値 | 文字列 | name[]={"名前","HP"} val[]={"太郎",100} s=DBDirectGetStr("DB1",name,val,TRUE,FALSE,"ニックネーム","")
DB | DBDirectSetBool | 指定テーブルの指定レコードの内容をフラグで設定する。成功ならTRUEを返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥設定する項目名 ⑦値 | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBDirectSetFlag("DB1",name,val,TRUE,FALSE,"男",TRUE)
DB | DBCopyTable | アクティブテーブルの全てのレコードまたは条件に合致したレコードを別のテーブルにコピーする。成功ならTRUEを返す。 | ①コピー先テーブル名 ②レコード条件の項目名(配列可・省略時は無条件) ③レコード条件の内容(配列可・省略時は無条件) ④TRUEなら大小文字を区別しない(省略時はFALSE) ⑤部分一致許可(省略時はFALSE) | フラグ | f=DBCopyTable("DB2","職業",2,FALSE,FALSE)
DB | DBDirectSetStr | 指定テーブルの指定レコードの内容を文字列で設定する。成功ならTRUEを返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥設定する項目名 ⑦値 | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBDirectSetStr("DB1",name,val,TRUE,FALSE,"ニックネーム","タロ")
DB | DBDirectGetFloat | 指定テーブルの指定レコードの内容を実数値で返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥取り出す項目名 ⑦取得できなかった時に返す値 | 実数 | name[]={"名前","HP"} val[]={"太郎",100} e=DBDirectGetFloat("DB1",name,val,TRUE,FALSE,"成功率",54.3)
DB | DBDirectSetInt | 指定テーブルの指定レコードの内容を整数値で設定する。成功ならTRUEを返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥設定する項目名 ⑦値 | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBDirectSetInt("DB1",name,val,TRUE,FALSE,"MP",10)
DB | DBDirectGetBool | 指定テーブルの指定レコードの内容をフラグで返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥取り出す項目名 ⑦取得できなかった時に返す値 | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBDirectGetBool("DB1",name,val,TRUE,FALSE,"男",FALSE)
DB | DBDirectSetFloat | 指定テーブルの指定レコードの内容を実数値で設定する。成功ならTRUEを返す。 | ①テーブル名 ②レコード条件の項目名(配列可) ③レコード条件の内容(配列可) ④TRUEなら大小文字を区別しない ⑤部分一致許可 ⑥設定する項目名 ⑦値 | フラグ | name[]={"名前","HP"} val[]={"太郎",100} f=DBDirectSetFloat("DB1",name,val,TRUE,FALSE,"成功率",82.3)
DB | DBGetInt | アクティブテーブルのアクティブレコードの指定項目の内容を整数値で返す。 | ①項目名 | 整数 | n=DBGetInt("HP")
DB | DBSetInt | アクティブテーブルのアクティブレコードの内容を整数値で設定する。成功ならTRUEを返す。 | ①項目名 ②内容 | フラグ | f=DBSetInt("HP",100)
DB | DBInsert | アクティブテーブルにレコードを追加し、そのレコードをアクティブにする。成功ならTRUEを返す。 | ①～項目の内容を入れる(省略可) | フラグ | f=DBInsert(10,TRUE,"太郎")
DB | DBDelete | アクティブテーブルのアクティブレコードを削除し、その次のレコードをアクティブにする。成功ならTRUEを返す。 | - | フラグ | f=DBDelete()
コンポ | Exists | コンポーネントが存在するか調べ、あればTRUEを返す | ①コンポーネント名 | フラグ | IF Exists( "画像1" )
ファイル | FileExists | 指定された名前のファイルが存在すればTRUEを返す。 | ①ファイル名 | フラグ | FileExists("画像\\画像1.gal")
ファイル | ExtractFileExt | ファイル名の拡張子部分(ピリオド含)を返す | ①ファイル名 | 文字列 | S=ExtractFileExt( "画像\\背景\\BG1.GAL" ) S==".GAL"
ファイル | ExtractFileName | ファイル名の名前部分と拡張子部分を返す | ①ファイル名 | 文字列 | S=ExtractFileName( "画像\\背景\\BG1.GAL" ) S=="BG1.GAL"
ファイル | ExtractFilePath | ファイル名のディレクトリ部分を返す | ①ファイル名 | 文字列 | S=ExtractFilePath( "画像\\背景\\BG1.GAL" ) S=="画像\\背景\\"
ファイル | ChangeFileExt | ファイル名の拡張子を変更し、変更後のファイル名を返す 拡張子文字列を空にすれば、拡張子を取り除くことができる | ①ファイル名 ②拡張子 | 文字列 | S=ChangeFileExt( "BG1.GAL",".LCM" ) S=="BG1.LCM" S=ChangeFileExt( "BG1.GAL","" ) S=="BG1"
ファイル | SelectOpenFile | ユーザーに読み込み用のファイル(パス)を選択させる ユーザーがファイルを選択した場合はTRUEを返す | ①ファイル名(フルパス)が入る変数 ②ファイルマスク（省略可）（表記|マスク|表記|マスク...となる） | フラグ | f=SelectOpenFile( path ) f=="c:\\tmp\\test.txt" f=SelectOpenFile( path,"PNG|*.png" ) f=SelectOpenFile( path,"PNG|*.png|JPEG|*.jpg;*.jpeg" )
ファイル | SelectSaveFile | ユーザーに保存用のファイル(パス)を選択させる ユーザーがファイルを選択した場合はTRUEを返す | ①ファイル名(フルパス)が入る変数 ②ファイルマスク（省略可）（表記|マスク|表記|マスク...となる） | フラグ | f=SelectSaveFile( path ) f=="c:\\tmp\\test.txt" f=SelectSaveFile( path,"PNG|*.png" ) f=SelectSaveFile( path,"PNG|*.png|JPEG|*.jpg;*.jpeg" )
ファイル | SelectDirectory | ユーザーにフォルダを選択させる ユーザーがフォルダを選択した場合はTRUEを返す パスの末尾には必ず「\」が付く | ①フォルダのフルパスが入る変数 | フラグ | f=SelectDirectory( path ) f=="c:\\tmp\\"
ファイル | ExtractFile | ゲームデータから特定のファイルを抽出し保存する 保存した場合はTRUEを返す | ①抽出するファイル名（runimageがルート・配列可・ワイルドカード可） ②ユーザーに上書き確認するならTRUE（省略可・省略時はTRUE） ③保存するパス。EXEのあるフォルダがルートとなる。また、{Desktop}でデスクトップ、{MyDocuments}でマイドキュメントを指定できる（省略可・省略時はフォルダ選択ダイアログを表示） | フラグ | SetArray( files,2 ) files[0] = "グラフィック\\test.jpg" files[1] = "サウンド\\*.ogg" f=ExtractFile( files,TRUE,"プレゼント" ) ↑ 実行フォルダの中に「プレゼント」フォルダが作られ、その中に「test.jpg」と、「サウンド」フォルダ内の全てのoggファイルが保存される f=ExtractFile( files,TRUE,"{Desktop}\\プレゼント" ) ↑ デスクトップに「プレゼント」フォルダが作られる
計算 | Hypot | 直角三角形の斜辺の長さを返す | ①X ②Y | 実数 | n=Hypot(x,y)
計算 | Random | 0 <= X < Range の範囲の乱数を返す | ①Range | 整数 | n=Random( 100 ) n==0～99
計算 | Fabs | 実数の絶対値を返す | ①実数 | 実数 | n=Fabs(-100.5) n==100.5
計算 | ArcTan2 | ArcTan(Y/X) を計算して、正しい象限の角度を返す | ①Y ②X | 実数 | n=ArcTan2(y,x)
計算 | ArcTan | Xのアークタンジェントを返す | ①X | 実数 | n=ArcTan(r)
計算 | ArcSin | Xのアークサインを返す | ①X(-1～1) | 実数 | n=ArcSin(r)
計算 | ArcCos | Xのアークコサインを返す | ①X(-1～1) | 実数 | n=ArcCos(r)
計算 | Sin | ラジアン単位で指定した角のサインを返す | ①角 | 実数 | n=Sin(r)
計算 | Calc | 文字列で記述された式を実行し、成功ならTRUEを返す | ①式 | フラグ | f=Calc("a = a + b")
計算 | Cos | ラジアン単位で指定した角のコサインを返す | ①角 | 実数 | n=Cos(r)
計算 | Tan | Xのタンジェントを返す | ①X | 実数 | n=Tan(r)
計算 | Abs | 整数の絶対値を返す | ①整数 | 整数 | n=Abs(-100) n==100
計算 | Min | 2つの整数値のうち、小さいほうの値を返す | ①整数値 ②整数値 | 整数 | n = Min(12,45) n==12
計算 | Max | 2つの整数値のうち、大きいほうの値を返す | ①整数値 ②整数値 | 整数 | n = Max(12,45) n==45
計算 | Fmin | 2つの実数値のうち、小さいほうの値を返す | ①実数値 ②実数値 | 実数 | n = Fmin(12.3,45.6) n==12.3
計算 | Fmax | 2つの実数値のうち、大きいほうの値を返す | ①実数値 ②実数値 | 実数 | n = Fmax(12.3,45.6) n==45.6
日時 | EncodeDate | 年月日を日時値に変換する | ①年 ②月 ③日 | 実数 | dt=EncodeDate(2002,8,10)
日時 | GetSec | 日時値から何秒かを返す | ①日時値 | 整数 | s=GetSec(tm)
日時 | GetMonth | 日時値から何月かを返す | ①日時値 | 整数 | m=GetMonth(dt)
日時 | EncodeTime | 時分秒を日時値に変換する | ①時 ②分 ③秒 | 実数 | tm=EncodeTime(20,10,30) 2002/8/10 20:10 30秒を表すには上記EncodeDateと組み合わせて dt+tm とすればよい
日時 | DecodeDate | 日時値の日付部分を年月日に変換する | ①日時値 ②年を受け取る変数 ③月を受け取る変数 ④日を受け取る変数 | なし | DecodeDate(dt,y,m,d)
日時 | DecodeTime | 日時値の時間部分を時分秒に変換する | ①日時値 ②時を受け取る変数 ③分受け取る変数 ④秒を受け取る変数 | なし | DecodeTime(tm,h,m,s)
日時 | GetMin | 日時値から何分かを返す | ①日時値 | 整数 | m=GetMin(tm)
日時 | GetWeekJStr | 日時値から何曜日かを日本語で返す | ①日時値 | 文字列 | w=GetWeekJStr(dt) w=="月"
日時 | GetHour | 日時値から何時かを返す | ①日時値 | 整数 | h=GetHour(tm)
日時 | GetDay | 日時値から何日かを返す | ①日時値 | 整数 | d=GetDay(dt)
日時 | GetWeek | 日時値から何曜日かを整数で返す（日曜日が1、土曜日が7） | ①日時値 | 整数 | w=GetWeek(dt) w==2
日時 | GetYear | 日時値から何年かを返す | ①日時値 | 整数 | y=GetYear(dt)
日時 | GetWeekStr | 日時値から何曜日かを英語で返す | ①日時値 | 文字列 | w=GetWeekStr(dt) w=="Monday"
配列 | IndexOfStr | 配列から文字列を検索し、見つかった場合はインデックスを返す。見つからなかった場合は-1を返す。 | ①変数 ②文字列 ③大文字小文字を区別するならTRUE（省略した場合はTRUE） ④部分一致も含めるならTRUE(省略した場合はFALSE) | 整数 | S[0]="あい" S[1]="うえお" n=IndexOfStr( S,"うえお" ) n==1
配列 | InsertArray | 配列Bを配列Aの指定位置に結合し、結合後の要素数を返す。なお、配列は1次元でなくてはならない。 | ①配列A ②挿入位置(0～) ③配列B | 整数 | A[]=={0,1} B[]=={2,3} InsertArray(A,1,B) A[]=={0,2,3,1}
配列 | SetArray | 配列のサイズを設定する | ①変数 ②～サイズ | なし | n[5,8,2]にする場合は SetArry( n,5,8,2 )
配列 | LoadTextFile | テキストファイルの内容を変数に読み込む。変数は行数分の配列変数になる。読み込みに成功した場合はTRUEを返す。 | ①変数 ②ファイル名 | フラグ | LoadTextFile(S,"Data\\名前.txt")
配列 | AddArray | 配列Bを配列Aの最後に結合し、結合後の要素数を返す。なお、配列は1次元でなくてはならない。 | ①配列A ②配列B | 整数 | A[]=={0,1} B[]=={2,3} AddArray(A,B) A[]=={0,1,2,3}
配列 | StringToArray | 改行(または指定文字)で区切られた文字列を配列に変換 | ①文字列 ②変数 ③区切り文字(複数指定可・全角は禁止)。省略した場合は改行。 | なし | StringToArray( "あい\nうえお",S ) S[0]=="あい" S[1]=="うえお" StringToArray( "あい+うえお",S,"+" ) S[0]=="あい" S[1]=="うえお"
配列 | SortStr | 配列を並べ替える | ①変数 ②TRUEなら逆順(省略可・省略時=FALSE) ③FALSEなら文字列として比較、TRUEなら数値として比較(省略可・省略時=FALSE) | なし | S[0]=="うえお" S[1]=="あい" SortStr( S ) S[0]=="あい" S[1]=="うえお"
配列 | GetArraySize | 配列のサイズを取得 | ①変数 ②次元を指定(省略した場合は１次元配列としてのサイズを返す) | 整数 | S[]=={10,20} n=GetArraySize( S,0 ) n==20 n=GetArraySize( S ) n==200
配列 | CopyArray | 配列Aを配列Bの内容と同じにする。 | ①配列A ②配列B | なし | A[]=={0} B[]=={2,3} CopyArray(A,B) A[]=={2,3}
配列 | CopyMem | 変数2の内容を変数1にコピーする 変数1と変数2は同じ型・同じサイズでなくてはならない | ①変数1 ②変数2 | なし | CopyMem( n1,n2 )
配列 | ArrayToString | 配列を改行(または指定文字)区切りの文字列に変換 | ①配列 ②区切り文字。省略した場合は改行。 | 文字列 | S[0] = "あい" S[1] = "うえお" SS=ArrayToString( S ) SS=="あい\nうえお" SS=ArrayToString( S,"+" ) SS=="あい+うえお"
配列 | DeleteArray | 配列の一部を削除し、削除後の要素数を返す。なお、配列は1次元でなくてはならない | ①配列 ②削除位置(0～) ③削除する要素数 | 整数 | A[]=={0,1,2,3} DeleteArray(A,1,2) A[]=={0,3}
配列 | TrimArray | 配列から指定値を削除し、削除後の要素数を返す | ①配列 ②削除する値(省略時は0または空文字列) | 整数 | A[]=={1,0,2,0,3} n=TrimArray(A) A[]=={1,2,3} n==3
配列 | UniqueArray | 配列から重複した値を削除し、削除後の要素数を返す | ①配列 | 整数 | A[]=={0,1,2,2,3} n=UniqueArray(A) A[]=={0,1,2,3} n==4
配列 | FillMem | 配列を指定された値で埋める | ①変数 ②値 | なし | FillMem( n,0 )
文字列 | AddDelimiter | 文字列が空でない場合に文字列の末尾に区切り文字を付加して返す。文字列が空の場合はそのまま空文字列を返す | ①区切り文字 ②文字列 | 文字列 | S=AddDelimiter("+","文字列") S=="文字列+" S=AddDelimiter("+","") S==""
文字列 | AddBackSlash | 文字列の最後が\でなければ\を付加した文字列を返す | ①文字列 | 文字列 | S=AddBackSlash( "画像\\背景" ) S=="画像\\背景\\"
文字列 | Chr | 指定されたASCII値に対応する文字を返す | ①ASCII値(0～255) | 文字列 | S=Chr(65) S=="A"
文字列 | CompareStr | 文字列を比較 文字列1が文字列2より小さければ負の値を、等しければ0を、1が2より大きければ正の値を返す | ①文字列1 ②文字列2 | 整数 | n = CompareStr("abc","abc") n==0
文字列 | CompareText | 大文字と小文字を区別せずに文字列を比較 文字列1が文字列2より小さければ負の値を、等しければ0を、1が2より大きければ正の値を返す | ①文字列1 ②文字列2 | 整数 | n = CompareText("ABC","abc") n==0
文字列 | Copy | 文字列の一部を返す | ①文字列 ②何バイト目からコピーするか(1～) ③コピーするバイト数(省略時は最後まで) | 文字列 | SS = "あいうえお" S = Copy( SS,3,2 ) い
文字列 | Delete | 文字列の一部を削除 | ①文字列 ②何バイト目から削除するか(1～) ③削除するバイト数(省略時は最後まで) | なし | S = "あいうえお" Delete( S,3,2 ) S=="あうえお"
文字列 | FixStr | 文字列の末尾に、２バイト文字の先頭バイトがあれば、それを削除してから文字列を返す | ①文字列 | 文字列 | s=FixStr( Copy("あい",1,3) ) s=="あ"
文字列 | HanToZen | 文字列の中に半角文字があれば全角文字に変換して文字列を返す | ①文字列 | 文字列 | s=HanToZen("今日は2月15日だ!") s=="今日は２月１５日だ！"
文字列 | Insert | 文字列に別の文字列を挿入 | ①挿入する文字列 ②文字列 ③何バイト目に挿入するか(1～) | なし | S="あいうえお" Insert( "かき",S,3 ) S=="あかきいうえお"
文字列 | IntToHex | 整数を16進文字列に変換 | ①変換する整数 ②桁数 | 文字列 | S=IntToHex( 100,3 ) S=="064"
文字列 | IntToStr | 整数を文字列に変換して返す | ①変換する整数 ②桁数(省略可) | 文字列 | S=IntToStr( 87 ) S=="87" S=IntToStr( 87,3 ) S=="087"
文字列 | StrToIntDef | 文字列を整数に変換して返す | ①文字列(16進数の場合は先頭に$を付加) ②変換できない時に返す整数値 | 整数 | n=StrToIntDef("$100",0) n==256 n=StrToIntDef("xxx",-1) n==-1
文字列 | StrToFloatDef | 文字列を実数に変換 | ①文字列 ②変換できない時に返す実数値 | 実数 | n=StrToFloatDef("4.56",0) n==4.56 n=StrToFloatDef("xxx",0.5) n==0.5
文字列 | IsDelimiter | 文字列の指定位置が区切り文字ならTRUEを返す | ①区切り文字(複数可・全角は禁止) ②文字列 ③何バイト目か(1～) | フラグ | F=IsDelimiter( "/","あい/うえお",5 ) F==TRUE
文字列 | IsPathDelimiter | 文字列の指定位置が\ならTRUEを返す | ①文字列 ②何バイト目か(1～) | フラグ | F=IsPathDelimiter( "画像\\BG1.GAL",5 ) F==TRUE
文字列 | JCopy | 文字列の一部を返す(日本語対応) | ①文字列 ②何文字目からコピーするか(1～) ③コピーする文字数(省略時は最後まで) | 文字列 | S=JCopy( "あいうえお",3,2 ) S=="うえ"
文字列 | JDelete | 文字列の一部を削除(日本語対応) | ①文字列 ②何文字目から削除するか(1～) ③削除する文字数(省略時は最後まで) | なし | S=="あいうえお" JDelete( S,3,2 ) S=="あいお"
文字列 | JInsert | 文字列に別の文字列を挿入(日本語対応) | ①挿入する文字列 ②文字列 ③何文字目に挿入するか(1～) | なし | S=="あいうえお" JInsert( "かき",S,3 ) S=="あいかきうえお"
文字列 | JLength | 文字列の長さ(文字単位)を返す | ①文字列 | 整数 | n=JLength( "あ" ) n==1
文字列 | JPos | 文字列から別の文字列を検索(日本語対応) 文字列2から文字列1を探し、文字のインデックスを返す。見つからなかった場合は0を返す | ①文字列1 ②文字列2 | 整数 | n=JPos( "うえ","あいうえお" ) n==3
文字列 | JTrim | 文字列から先頭部分および末尾部分の空白(全角含む)と制御文字を取り除く(日本語対応) | ①文字列 | 文字列 | S=JTrim( "　あいうえお\n" ) S=="あいうえお"
文字列 | Length | 文字列の長さ(バイト単位)を返す | ①文字列 | 整数 | n=Length( "あ" ) n==2
文字列 | LowerCase | 文字列を小文字に変換して返す | ①文字列 | 文字列 | S=LowerCase("ABC") S=="abc"
文字列 | Ord | 指定された文字のASCII値(0～255)を返す | ①文字 | 整数 | n=Ord("A") n==65
文字列 | Pos | 文字列から別の文字列を検索 文字列2から文字列1を探し、文字のインデックスを返す。見つからなかった場合は0を返す | ①文字列1 ②文字列2 | 整数 | n=Pos( "うえ","あいうえお" ) n==5
文字列 | StringOfChar | 指定文字を指定した数だけ繰り返してできた文字列を返す | ①文字 ②繰り返す数 | 文字列 | S=StringOfChar("あ",5) S=="あああああ"
文字列 | StringReplace | 文字列の中にある部分文字列を別の文字列に置換して返す | ①検索対象文字列 ②検索文字列 ③置換文字列 ④FALSEなら最初に見つかった文字列のみ・TRUEなら全部置換(省略時はFALSE) ⑤TRUEなら大小文字を区別しない(省略時はFALSE) | 文字列 | S=StringReplace("ABCabc","A","X") S=="XBCabc" S=StringReplace("ABCabc","A","X",TRUE,TRUE) S=="XBCXbc"
文字列 | Trim | 文字列から先頭部分および末尾部分の空白と制御文字を取り除く | ①文字列 | 文字列 | S=Trim( " あいうえお\n" ) S=="あいうえお"
文字列 | UpperCase | 文字列を大文字に変換して返す | ①文字列 | 文字列 | S=LowerCase("abc") S=="ABC"
文字列 | ZenToHan | 文字列の中に全角文字があれば半角文字に変換して文字列を返す | ①文字列 | 文字列 | s=ZenToHan("今日は２月１５日だ！") s=="今日は2月15日だ!"
変数 | Not | TRUEとFALSEを反転して返す | ①フラグ | フラグ | F=Not( TRUE ) F==FALSE
変数 | Int | 整数値に変換して返す | ①変数 | 整数 | n = Int("100") n==100 n = Int(1.23) n==1
変数 | GetVarType | 変数の型(PT_INT、PT_FLOAT、PT_BOOL、PT_STR))を返す | ①変数 | 整数 | n=GetVarType(s) n==PT_STR
変数 | VarExists | 変数が存在するか調べ、あればTRUEを返す | ①変数名 | フラグ | IF VarExists( "A1" )
変数 | Float | 実数値に変換して返す | ①変数 | 整数 | n = Float("1.23") n==1.23 n = Float(100) n==100
コンポ | GetItem | メニューやプレビューメニューの項目(名)を返す | ①メニューの名前②選択肢のインデックス(0～) | 文字列 | s=GetItem("メニュー",0)
コンポ | GetCheck | メニューのチェックの状態を取得 チェックが付いていればTRUEを返す | ①メニューの名前 ②選択肢のインデックス(0～) | フラグ | F=GetCheck( "メニュー1",3 )
コンポ | SetCheck | メニューのチェックの状態を設定 | ①メニューの名前 ②選択肢のインデックス(0～) ③チェックを外す場合はFALSE、付ける場合はTRUE | なし | SetCheck( "メニュー1",3,TRUE )
コンポ | GetEnabled | プレビューメニューの項目が有効ならTRUEを返す | ①メニューの名前 ②選択肢のインデックス(0～)または選択肢の名前 | フラグ | F=GetEnabled( "Pメニュー","選択肢1" )
コンポ | SetEnabled | メニューのチェックの状態を設定 | ①メニューの名前 ②選択肢のインデックス(0～) ③有効ならTRUE、無効ならFALSE | なし | SetEnabled( "Pメニュー","選択肢1",TRUE )
コンポ | GetVisible | プレビューメニューの項目が表示されていればTRUEを返す | ①メニューの名前 ②選択肢のインデックス(0～)または選択肢の名前 | フラグ | F=GetVisible( "Pメニュー","選択肢1" )
コンポ | SetVisible | プレビューメニューの項目の表示状態を設定する | ①メニューの名前 ②選択肢のインデックス(0～) ③表示ならTRUE、非表示ならFALSE | なし | SetVisible( "Pメニュー","選択肢1",TRUE )
コンポ | GetSelected | プレビューメニューの指定項目が選択状態ならTRUEを返す | ①メニューの名前 ②選択肢のインデックス(0～)または選択肢の名前 | フラグ | F=GetSelected( "Pメニュー","選択肢1" )
コンポ | SetSelected | プレビューメニューの項目の選択状態を設定する | ①メニューの名前 ②選択肢のインデックス(0～)または選択肢の名前 ③選択するならTRUE、非選択ならFALSE | なし | SetSelected( "Pメニュー","選択肢1",TRUE )
コンポ | GetGroupIndex | プレビューメニューの項目のグループ番号を返す | ①メニューの名前 ②選択肢のインデックス(0～) | 整数 | n=GetGroupIndex( "Pメニュー","選択肢1" )
コンポ | GetProp | プロパティを取得 | ①コンポーネント名 ②プロパティ番号 | プロパティの型による | n=GetProp( "img",PR_COUNT )
コンポ | SetProp | プロパティを設定 | ①コンポーネント名 ②プロパティ番号 ③設定する値 | なし | SetProp( "img",PR_INDEX,0 )
コンポ | GetCinemaProp | シネマ内クリップのプロパティを取得 | ①コンポーネント名 ②クリップ名 ③プロパティ番号 | プロパティの型による | n=GetCinemaProp( "cinema","chara",COP_SOURCE )
コンポ | SetCinemaProp | シネマ内クリップのプロパティを設定 | ①コンポーネント名 ②クリップ名 ③プロパティ番号 ④設定する値 | なし | SetCinemaProp( "cinema","chara",COP_SOURCE,"グラフィック\\人2.gal" )
コンポ | InCabinet | 指定された名前のコンポーネントがキャビネットの中に入っていればTRUEを返す | ①コンポーネント名 | フラグ | InCabinet("画像1")
コンポ | InPrimary | 指定された名前のコンポーネントが表画面にあればTRUEを返す。 | ①コンポーネント名 | フラグ | InPrimary("画像1")
コンポ | IndexOfMenu | 指定された文字列がメニューの項目の何番目に合致するかを返す。最初の項目なら0、2番目なら1、また合致しない場合は-1を返す | ①メニューの名前 ②検索する文字列 | 整数 | n=IndexOfMenu("メニュー1","選択肢3")
コンポ | ListCompo | コンポーネントの名前を列挙し、列挙した数を返す | ①名前を格納する変数 ②列挙するコンポーネントの種類 LT_NONEなら全種類 ③列挙するコンポーネントの[親]の名前 表画面なら"" 裏画面ならBACKSURFACE 省略した場合は(または"ALL"なら)[親]に関係なく全て列挙する ④TRUEなら子を再帰的に検索(省略可・省略時=FALSE) | 整数 | 全てのコンポーネントを列挙 ListCompo( SS ) 表画面に貼り付いている全てのコンポーネントを列挙 ListCompo( SS,LT_NONE,"" ) コンポーネント"BG"に貼り付いている矩形コンポーネントを列挙 ListCompo( SS,LT_BOX,"BG" ) 全てのサウンドコンポーネントを列挙 ListCompo( SS,LT_SOUND )
コンポ | ToClientX | スクリーン上のX座標をコンポーネントから見たX座標に変換して返す | ①コンポーネント名 ②X座標 | 整数 | x=ToClientX("画像1",@MouseX)
コンポ | ToClientY | スクリーン上のY座標をコンポーネントから見たY座標に変換して返す | ①コンポーネント名 ②Y座標 | 整数 | y=ToClientY("画像1",@MouseY)
コンポ | ToScreenX | コンポーネント上のX座標をスクリーンから見たX座標に変換して返す | ①コンポーネント名 ②X座標 | 整数 | x=ToScreenX("画像1",@MouseX)
コンポ | ToScreenY | コンポーネント上のY座標をスクリーンから見たY座標に変換して返す | ①コンポーネント名 ②Y座標 | 整数 | y=ToScreenY("画像1",@MouseY)
コンポ | CreateObject | 各種コンポーネントを作成する。成功ならTRUEを返す | ①コンポーネントの種類②名前③親の名前(省略可・省略した場合は現在の表画面) | フラグ | f=CreateObject(LT_BOX,"箱")
コンポ | DeleteObject | コンポーネントを削除する。成功ならTRUEを返す | ①コンポーネントの名前 | フラグ | f=DeleteObject("箱")
コンポ | GetImeOpened | 指定コンポーネントのIMEが開いていればTRUEを返す | ①コンポーネントの名前 | フラグ | f=GetImeOpened("エディット")
コンポ | SetImeOpened | 指定コンポーネントのIMEを開いたり閉じたりする。成功ならTRUEを返す | ①コンポーネントの名前 ②開くならTRUE | フラグ | f=SetImeOpened("エディット",TRUE)
システム | Alert | ダイアログメッセージを表示する | ①文字列 | フラグ | Alert("OK")
システム | CopyFile | メモリファイルやセーブデータをコピーする。コピー先データがすでに存在していた場合は上書きする。成功ならTRUEを返す | ①コピー元のファイル名 ②コピー先のファイル名 | フラグ | f=CopyFile("mem:__savescr.gal","save:__savescr3.gal")
システム | DeleteStack | 指定したコールスタックを削除し、成功ならTRUEを返す | ①削除するスタック番号(0～、積み上げ順) | フラグ | f = DeleteStack(@StackCount-1)
システム | GetDisplayMode | 指定番号のディスプレイモードの情報を変数に設定する。成功ならTRUEを返す。 番号は0 ～ @DisplayModeCount-1 | ①番号 ②幅を受け取る変数 ③高さを受け取る変数 ④色深度を受け取る変数 ⑤リフレッシュレートを受け取る変数 | フラグ | GetDisplayMode(0,wd,ht,bp,hz)
システム | GetSaveCaption | ゲームセーブデータの表題を取得 | ①番号 | 文字列 | S=GetSaveCaption( n )
システム | ListSaveCaption | ゲームセーブデータの表題と番号を列挙し、列挙した数を返す | ①表題を格納する変数 ②番号を格納する変数 | 整数 | n=ListSaveCaption(SS,NO)
システム | OpenUrl | ブラウザでURLを開く | ①URL | なし | OpenUrl("http://www.aaa.com/")
システム | SaveScreen | 実行画面をファイルに保存し、成功ならTRUEを返す ※メモリファイルはソフト終了時に破棄されます(セーブ不可) ※「Save:～」とするとセーブデータ(save.dat)の中に保存されます | ①ファイル名(.GALのみ、ディレクトリ不可、メモリファイルの場合はMem:～、セーブデータの場合はSave:～) ②リサンプル幅(省略可・0ならオリジナルの幅) ③リサンプル高さ(省略可・0ならオリジナルの高さ) ④裏画面ならTRUE(省略可・省略時=FALSE) ⑤0=ファイルを削除しない 1=ソフト終了時にファイルを削除 2=アンインストール時にファイルを削除(省略可・省略時=0) | フラグ | SaveScreen( "screen.gal" ) SaveScreen( "mem:screen.gal" ) SaveScreen( "save:screen.gal" )
システム | SetWallPaper | デスクトップの壁紙を設定し、成功したらTRUEを返す | ①ファイル名(空文字列なら現在のゲーム画面) ②位置（0:中央 1:並べる 2:拡大） | フラグ | SetWallPaper("img.gal",1);
変数 | AssignTemp | @Temp変数に指定変数を割り当てる。成功ならTRUEを返す | ①変数名 | フラグ | n=0 AssignTemp( "n" ) @Temp=1 n==1

※日時値
1899/12/30 午前12:00を0とし、そこから1日経過するごとに1を加算した値（時間は小数部で表す）。