この文書はスクリプトの詳細を仕様としてまとめたものである。 書き方マニュアルではないので、書き方を知りたい場合は、 サンプルのソースそのものを読むこと。

<<基本事項>>

<<スクリプトエンジンが持つパラメータ>>

<プログラムカウンタ>

記述方法(なし)
 現在実行している行数を示すカウンタ。内部パラメータである。 jump命令やcall命令で変化する。

<レジスタ>

記述方法Rn
記述の例R0, R3
データ範囲-2,147,483,648〜2,147,483,647
8個(R0〜R7)
使われる例
jump	R0 == 0 clear	;レジスタ0がゼロならば#clearへジャンプ
 条件判定や演算を行う際の、一時的なデータ格納場所。 特にレジスタ番号0は敵の数を取得する際の戻り値になったりと、頻繁に使う。 call命令によるレジスタスタックにPUSHされ、returnでPOPされて元に戻る。

<レジスタスタック>

記述方法(なし)
8段
 call命令でサブルーチンコールした際に、 自動的にレジスタ値とプログラムカウンタを保持する役目を持つ。 これにより、参照渡しではなく値渡しになるため、構造化プログラミングが容易となる。

<フラグ>

記述方法Fnn
記述の例F0, F11
データ範囲-2,147,483,648〜2,147,483,647
128個(F0〜F127)
使われる例
set	F10 = R0	;レジスタ0の値をフラグ10に保存
 いわゆる「変数」として使う。 set命令で明示的に変更しない限りデータは変わらないため、 イベントシーンの実行フラグや、ミッション開始時のステータス保持などに使うことが一般的。 レジスタと異なり、スタックされないので、callしてもreturnしても値は変わらない。

<カウンタ>

記述方法Cn
記述の例C0, C3
データ範囲0〜2,147,483,647
128個(C0〜C127)
使われる例
jump	C0 >= 60 failed	;カウンタ0の始動から60秒経過したら#failedへジャンプ
 時間の経過を計るために使う。始動したら自動的にカウントアップし、一秒間で1増加する。 startcounter命令により、カウントを開始できる。カウンタの値が0の場合、カウンタは停止していることをあらわす。 ミッションの残り時間を計測することに使うことは『推奨しない』(getstatus REST_TIME を使うこと)。
 単位系を「秒」に統一したことにより、最大で-0.983秒(-59/60秒)の誤差が発生する。 したがって、カメラワーク制御の時間計測などに使うことは出来ない。基本的には「増援出現から15秒後」という使い方をするためのものである。
 なお、レジスタと異なり、スタックされないので、callしてもreturnしても値は変わらない。

<<パラメータ記述法>>

<レジスタ・フラグ・カウンタ>

上記のとおり

<数値>

-160 や 13.875 など、普通に記述する。桁数に制限は無いが、データ範囲の上限を超えることは出来ない。 命令によっては小数を指定できないものもある。その場合は整数に丸められる。

<文字列>

"この文のように、ダブルクォーテーションで囲う。"

<ラベル>

ジャンプ命令に使うラベルは、 #ジャンプ先のラベル と記述する。 ジャンプする場合は
jump 0==0 ジャンプ先のラベル
というように、#記号を取り去って記述する。 言語仕様的にラベル名に日本語を使うことが可能だが、将来の拡張性の妨げになるので『推奨しない』。
レジスタ値/フラグ値を指定することもできる。
set R5=123
jump 0==0 R5

#123
;ココへ飛ぶ
ジャンプ先のラベルは文字列として扱われるので、"#0123"等というラベル名にはジャンプできない。

<ラベルコード>

ユニットに設定するラベルコード(Label)を記述する場合はLをつける。L1やL15のように記述する。 1〜32767の間で指定する。L0は「NULL」を表す。

<エスケープシーケンスについて>

命令は一行に記述しなければならないので、\n改行の入力の代わりにこのように\nという記号を使う。 同様の理由で、文字列中に\や"を入れたい場合は、それぞれ\\や\"というように入力する。 現時点で実装されているものは、この3だけである。 \tや\0など、C言語にあるものが全て使えるわけではない。 ラベル名の定義には『使用できない』。

<<スレッドについて>>

通常は一行一行一つずつ実行されるスクリプトだが、マルチスレッド動作により並列動作を行うことが出来る。 主に巡航ミサイルの制御などに用いるが、並列動作の意味を十分に理解しないとバグの温床になるので、注意すること。 C++などでマルチスレッドプログラムを実際に作ったことがある人であれば、何も心配は要らないのでそのまま使って構わないと思う。
createthread命令により、スレッドを生成することで、複数のスクリプトが 同時に実行されていることと同じような状態になる。スレッド番号は0〜15で、親スレッド0は自動的に生成される。つまり使えるのは1〜15である。 なお、スレッドを終了させる場合はstopthread命令を使う。
Windowsのマルチスレッドを用いているわけではないので、 完全にスレッドセーフであるが、資源は共有しているのでメッセージウィンドウなどは親スレッドのみで制御するようにすることを推奨する。

<<「セクション」について>>

RSEのシステムでは、全てのユニットはステートマシンによって制御されている。そしてその「状態」を「セクション」と呼び、
setsection命令で変更可能である。通常の戦闘ではセクションを変更する必要は全く無いが、 一部ユニットにてセクションをスクリプトから変更することを前提としているユニットが存在する。
なお、セクションの初期値は敵配置エディタで設定する。航空機の場合ほうっておくと勝手に飛行を開始してしまうため「"event ON"の時にRaidersが読み出されるとセクションは200になる」という仕様が存在する。 セクションの200はスクリプト制御を意味し、setpad命令で操作を行うことになる。逆にいえば、戦闘中に"setsection L10 200"などとすれば、 戦闘中の飛行ユニットを自由に飛行させることが出来る。巡航ミサイルはこの方法で実現している。

特殊なセクションを挙げる
Raiders
30空中静止
200スクリプト制御
対空砲、SAM、レーザーなど
30稼動停止
40発射(settargetで事前にターゲット設定を行う必要がある。設定が無い場合は正面に射撃)
TOYBOX
0なにもなし
1落雷
10ECM
11ECM(敵軍のみ)
12ECM(自軍のみ)
13ECM(プレイヤーのみ)
20イージスシステムのミサイル乱発
30プロペラ(上下軸を中心に回転)
31プロペラ(前後軸を中心に回転)

<<命令リファレンス>>

<ABC順>

  1. attackstyle
  2. bomb
  3. call
  4. closewindow
  5. camfocus
  6. camzoom
  7. catapult
  8. createcopy
  9. createsprite
  10. createthread
  11. debugmode
  12. deleteobject
  13. destroy
  14. event
  15. fadein
  16. fadeout
  17. fadewave
  18. finish
  19. getammo
  20. getcleartime
  21. getdestroy
  22. getfox
  23. getgunrange
  24. gethit
  25. getlength
  26. getlock
  27. getpadnow
  28. getpadtrg
  29. getpos
  30. getrotabs
  31. getstatus
  32. jump
  33. limitengine
  34. loadse
  35. log
  36. message
  37. move
  38. movegearheight
  39. playse
  40. playseloop
  41. playwave
  42. provideweapon
  43. putgear
  44. putgroup
  45. rand
  46. releaseobject
  47. relrot
  48. reset
  49. return
  50. runaway
  51. set
  52. setbarrier
  53. setcolor
  54. setdefensive
  55. setduck
  56. setoriginalparam
  57. setheightoffset
  58. setheightstall
  59. sethp
  60. setimportant
  61. setlabel
  62. setmaster
  63. setmiso
  64. setname
  65. setpad
  66. setparent
  67. setpos
  68. setrot
  69. setscale
  70. setsection
  71. setspeed
  72. settarget
  73. settime
  74. shootmissile
  75. startcounter
  76. stopgun
  77. stopmissile
  78. stopse
  79. stopthread
  80. stopwave
  81. stopweapon
  82. supplyweapon
  83. supplydamage
  84. system
  85. targetflag
  86. teamid
  87. viewmode
  88. waitframe
  89. waitstream
  90. waittime

<カテゴリ順>

<解説>

attackstyle
記述attackstyle ラベルコード, 種別コード, フラグ
引数 ラベルコード変更したいユニットのラベルコード
種別コード優先設定すべき敵の種別。下記のコードで指定する。
PRIORITY_AIR航空機
PRIORITY_GROUND地上兵器および施設
PRIORITY_TARGETターゲット指定された敵
PRIORITY_NONTARGETターゲット以外の敵
フラグ優先にしたい場合はON、そうでない場合はOFF。
動作ユニットの攻撃優先順位を変更する。これにより、僚機に上空制圧させたり出来る。あくまで優先設定をするだけなので、目の前の敵を放り出して遥か彼方の敵を追う事は無い。なお、敵機は標準でPRIOLITY_AIRがONになっている。
attackstyle  L10, PRIORITY_NONTARGET, ON   ;Label=10の僚機はターゲットで無い敵を優先的に攻撃する

bomb
記述bomb ラベルコード, 爆発規模
引数 ラベルコード爆発する場所にいるユニットのラベルコード
爆発する半径5〜30程度が目安。大きすぎるとプログラムがクラッシュする。
動作ユニットの座標を読み込んで、効果音付きで爆発させる。ユニット自体が爆死するわけではない。
bomb  L13, 30  ;Label=13の妹の落下地点で機雷が爆発

call
記述call 比較値左辺 比較演算子 比較値右辺 ,ジャンプ先ラベル
引数 比較値左辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
比較式演算子右辺と左辺を比較する演算子、!= == < > <= >= の6つ。>=を間違えて=>と入力しないように注意。
比較値右辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
ジャンプ先ラベル比較式が正しい場合にジャンプする先のラベル
動作(比較値左辺 比較演算子 比較値右辺)の比較式がTRUEの場合は、レジスタをスタックにPUSHして、ジャンプ先ラベルへサブルーチンコールする。
call  R0>=10  ,Battle1  ;R0が10以上であれば、#Battle1へサブルーチンコール

camfocus
記述camfocus focus1のラベルコード, focus2のラベルコード
引数 focus1のラベルコードカメラの場所となるユニットのラベルコード
focus2のラベルコードカメラコードがLONG,SHORTのときの撮影対象ラベルコード
動作viewmodeでカメラを変更した際に、撮影対象となるユニットを指定する。カメラコードがLONG,SHORTの場合はカメラの場所と撮影対象の2つを指定する。
camfocus  L10, L1  ;L10から自機を撮影

camzoom
記述camzoom 角度
引数 角度カメラの透視投影角度を45〜5の間で指定。標準は35。
動作カメラをズームイン・アウトさせる。突然変化するのではなく、滑らかに変わる。カメラの撮影モードがLONGまたはSHORTの場合のみ有効。
camzoom  10  ;カメラをズームインさせる

catapult
記述catapult カタパルトのラベルコード, UNIT_ID, 出現するユニットのラベルコード, ターゲットフラグ
引数 カタパルトのラベルコードカタパルトになるユニットのラベルコード
UNIT_ID出現させるユニットのUNIT_ID
出現するユニットのラベルコード出現させるユニットに設定するラベルコード
ターゲットフラグターゲットとして出現させる場合はON。通常の敵の場合はOFF。
動作航空機をカタパルト発進させる。カタパルトは座標と方向の取得にしか使わないので、仕様上は対空戦車などから敵機が飛び出しても構わない。
catapult  L62, 59  ;カタパルト(Label=62)からチャリオットC(UNIT_ID=59)を発進

closewindow
記述closewindow
引数(なし)
動作message命令で表示された台詞ウィンドウを消す。

createcopy
記述createcopy コピー先ラベルコード, コピー元ラベルコード
引数 コピー先ラベルコードコピーしたユニットが持つラベルコード
コピー元ラベルコードコピーされる対象ユニットのラベルコード
動作ユニットの場所と角度を使って透明機体を生成する。イベントでのカメラ制御用。debugモードの場合はプレイヤー選択機体に見える。
createcopy  L10,L2  ;Label=2の機体の場所にLabel=10の透明機体を生成

createsprite
記述createsprite 生成先ラベルコード, テクスチャ元UNIT_ID, (x0,y0, x1,y1)
引数 生成先ラベルコード作成したスプライトが持つラベルコード
テクスチャ元UNIT_IDこの番号のテクスチャを使ってスプライトを生成
(x0,y0, x1,y1)スプライトとして使う矩形領域
動作スプライトオブジェクトを生成する。2D処理されるので、カメラ位置に関わらず表示される。座標系は解像度に関わり無く左上が(0,0,0)で、右下が(640,480,0)。
createsprite  L200, 240, (0,0,512,32)    ;UNIT_ID=240のテクスチャを使って2Dスプライトを作る。

createthread
記述createthread スレッド番号, スレッド開始ラベル
引数 スレッド番号開始する対象となるスレッド番号
スレッド開始ラベルスレッドが最初に実行する行のラベル
動作スクリプトの子スレッドを生成する。詳しくはスレッドについてを参照
createthread  1, missile  ;スレッド1を始動、#missileから開始する。以後、2つのスレッドは並列動作を行う。

debugmode
記述debugmode フラグ
引数 フラグデバッグモードをONかOFFで指定
動作デバッグモードに切り替える、今のところ、通常時とデバッグモードの違いは「透明機体がRR10の見た目で表示される」以外の差は無い。
debugmode  ON  ;デバッグモードに切り替える。

deleteobject
記述deleteobject
引数(なし)
動作イベントモードで配置したユニットを全て消去する。イベントモードを抜ける前に記述するのが一般的。

destroy
記述destroy ラベルコード
引数 ラベルコード破壊するユニットのラベルコード
動作ユニットにミサイル100発分相当のダメージを与えて破壊する。
destroy  L10  ;Label=10の輸送機を破壊する

event
記述event フラグ
引数 フラグイベントモードか否かを表すフラグ。ONかOFFを指定。
動作イベントモードに入る。イベントモードでは、それまで配置したユニットは全て非表示になるので、イベントシーン用のユニットは別途読み込む必要がある。
event  ON  ;イベントシーン開始

fadewave
記述fadewave, 再生種別コード
引数 再生種別コード再生するファイルの扱いを示す。台詞ファイルはVOICE、音楽はBGMを指定。
動作音声再生をフェードアウトさせる

fadein
記述fadein
引数(なし)
動作画面をフェードインさせる。イベントシーンの出入りにfadeoutと併用する。

fadeout
記述fadeout
引数(なし)
動作画面をフェードアウトさせる。イベントシーンの出入りにfadeinと併用する。

finish
記述finish 終了コード, (次ミッション)
引数 終了コードゲームのメインエンジンに返す終了理由
CLEARミッション成功
FAILEDミッション失敗
TIMEUP時間切れ
NEXTSTAGE次のステージへ
次ミッション次にプレイするミッションID
動作スクリプトを終了させ、ミッション終了処理をさせる
finish  CLEAR  ;ミッションクリア
finish  NEXTSTAGE,1  ;ミッションクリア、MissionID=1のミッションへ進む

getammo
記述getammo ユニットを示すラベルコード
引数 ユニットを示すラベルコード残弾数を取得したいユニット
動作残弾数を取得する。残弾数がゼロになったかどうか見るだけでは「装備しない」と区別できないため、搭載可能数もあわせて評価する。
R0メインパイロンの残弾数。
R1サブパイロンの残弾数。
R2センターパイロンの残弾数。
R3メインパイロンの搭載可能数(初期値)。
R4サブパイロンの搭載可能数(初期値)。
R5センターパイロンの搭載可能数(初期値)。
getammo  L1  ;プレイヤー(Label=1)の残弾数情報を取得

getcleartime
記述getcleartime ミッションID
引数 ミッションIDクリア時間を取得したいミッション。負の値ならば現在実行中のミッション。
動作ミッションのクリア時間をゲームデータから取得し、以下のレジスタに代入する。単位は秒。2週目判定のために使うのが一般的。
R0Easyの最短クリアタイム
R1Normalの最短クリアタイム
R2Hardの最短クリアタイム
R3 
R4Easyの最短殲滅タイム
R5Normalの最短殲滅タイム
R6Hardの最短殲滅タイム
R7 
高い難易度しかクリアしていない場合などは、低い難易度へ値がコピーされる。例えばNormalしかクリアしていない場合でも、EasyはNormalのタイムでクリアしたものとして値が格納される。
なお、実行時の環境からデータを取得するので、データの残らないエディットミッションでは使用できない。 また、リプレイファイルを再生した場合に、記録された環境と再生する環境ではクリア情報が異なってしまうため、ミッション終了時以外は使用してはいけない。リプレイが正常に動作しなくなる。
getcleartime  -1  ;2週目判定の情報を取得

getdestroy
記述getdestroy ユニットを示すラベルコード
引数 ユニットを示すラベルコード撃破の検知対象のユニット
動作ユニットが敵を撃破したことを検知する。撃破した場合R0には1〜59の値が代入され、撃破してからの時間を表す。命中した瞬間は59であり、1秒経過までに0まで減算される。同様にして、各レジスタに以下のような値が代入される。
R0撃破していたら1〜59(59は撃破した瞬間)。でなければ0。
R1撃破した対象が航空機なら1。地上部隊なら2。施設なら3。
R2撃破した敵のラベルコード
R3撃破した敵のハンドル
敵のハンドルとは、ユニットを識別するためにシステム内部が持つ番号である。ラベルコードとは関わりなく、全てのユニットが異なる値を持つので、直前に攻撃した敵と同じか否か、という判断が可能となる。
getdestroy  L1  ;プレイヤー(Label=1)の撃破情報を取得

getfox
記述getfox ユニットを示すラベルコード
引数 ユニットを示すラベルコードロックオンの検知対象のユニット
動作ユニットがミサイルを発射したことを検知する。発射した場合R0には1〜59の値が代入され、発射してからの時間を表す。発射した瞬間は59であり、1秒経過までに0まで減算される。同様にして、各レジスタに以下のような値が代入される。
R0発射していたら1〜59(59は発射した瞬間)。でなければ0。
R1ロックオン対象が航空機なら1。地上部隊なら2。施設なら3。
R2ロックオンした敵のラベルコード
R3ロックオンした敵のハンドル
敵のハンドルとは、ユニットを識別するためにシステム内部が持つ番号である。ラベルコードとは関わりなく、全てのユニットが異なる値を持つので、直前に攻撃した敵と同じか否か、という判断が可能となる。
getfox  L1  ;プレイヤー(Label=1)のロックオン情報を取得

getgunrange
記述getgunrange ユニットを示すラベルコード
引数 ユニットを示すラベルコード射程の検知対象のユニット
動作ユニットが敵を機銃射程内に捉えたことをを検知する。射程内の場合R0には1以上の値が代入される。同様にして、各レジスタに以下のような値が代入される。
R0機銃射程内に入ったら1。でなければ0。
R1対象が航空機なら1。地上部隊なら2。施設なら3。
R2狙っている敵のラベルコード
R3狙っている敵のハンドル
敵のハンドルとは、ユニットを識別するためにシステム内部が持つ番号である。ラベルコードとは関わりなく、全てのユニットが異なる値を持つので、直前に攻撃した敵と同じか否か、という判断が可能となる。
getgunrange  L1  ;プレイヤー(Label=1)のガンレンジ情報を取得

gethit
記述gethit ユニットを示すラベルコード
引数 ユニットを示すラベルコード命中の検知対象のユニット
動作ユニットの攻撃が敵に命中したことを検知する。命中した場合R0には1〜59の値が代入され、命中してからの時間を表す。命中した瞬間は59であり、1秒経過までに0まで減算される。同様にして、各レジスタに以下のような値が代入される。
R0命中していたら1〜59(59は発射した瞬間)。でなければ0。
R1命中した対象が航空機なら1。地上部隊なら2。施設なら3。
R2命中した敵のラベルコード
R3命中した敵のハンドル
R4ダメージ値
敵のハンドルとは、ユニットを識別するためにシステム内部が持つ番号である。ラベルコードとは関わりなく、全てのユニットが異なる値を持つので、直前に攻撃した敵と同じか否か、という判断が可能となる。
gethit  L1  ;プレイヤー(Label=1)の命中情報を取得

getlength
記述getlength ユニットを示すラベルコード1, ユニットを示すラベルコード2
引数 ユニットを示すラベルコード1距離を測る対象のユニット(単体のみ)
ユニットを示すラベルコード2距離を測る対象のユニット(グループ可)
動作ラベルコード1のユニットを基準にして、ラベルコード2のユニットの中で最も近いものの距離をR0に代入する。ラベルコード2が存在しない場合、R0には負の値が代入される。
getlength  L1, L10  ;プレイヤー(Label=1)と敵機(Label=10)の距離をR0に代入

getlock
記述getlock ユニットを示すラベルコード
引数 ユニットを示すラベルコードロックオンの検知対象のユニット
動作ユニットが敵をロックオンしたことを検知する。ロックオンしている場合R0には1以上の値が代入される。同様にして、各レジスタに以下のような値が代入される。
R0ロックオンしていたら1。でなければ0。
R1ロックオン対象が航空機なら1。地上部隊なら2。施設なら3。
R2ロックオンした敵のラベルコード
R3ロックオンした敵のハンドル
敵のハンドルとは、ユニットを識別するためにシステム内部が持つ番号である。ラベルコードとは関わりなく、全てのユニットが異なる値を持つので、直前に攻撃した敵と同じか否か、という判断が可能となる。
getlock  L1  ;プレイヤー(Label=1)のロックオン情報を取得

getpadnow
記述getpadnow キーコード
引数 キーコード取得するキーを示すコード
PAD_UP ゲームパッド上(スティック上)
PAD_DOWN ゲームパッド下(スティック下)
PAD_RIGHT ゲームパッド右(スティック右)
PAD_LEFT ゲームパッド左(スティック左)
PAD_GUN 機銃発射
PAD_MISSILE ミサイル発射
PAD_TARGET1 ターゲット切り替え(順方向)
PAD_TARGET1 ターゲット切り替え(逆方向)
PAD_WEAPON 武装切り替え
動作キーコードで指定されたゲームパッドまたはキーボードなどの「現在の押下状態」を取得し、R0に代入する。押されていなければ0、押されていれば0以外の値。
getpadnow  PAD_GUN      ;R0に機銃ボタンの押下状態を代入

getpadtrg
記述getpadtrg キーコード
引数 キーコード取得するキーを示すコード
PAD_UP ゲームパッド上(スティック上)
PAD_DOWN ゲームパッド下(スティック下)
PAD_RIGHT ゲームパッド右(スティック右)
PAD_LEFT ゲームパッド左(スティック左)
PAD_GUN 機銃発射
PAD_MISSILE ミサイル発射
PAD_TARGET1 ターゲット切り替え(順方向)
PAD_TARGET1 ターゲット切り替え(逆方向)
PAD_WEAPON 武装切り替え
動作キーコードで指定されたゲームパッドまたはキーボードなどの「押下した瞬間」を取得し、R0に代入する。押されていなければ0、押されていれば0以外の値。
getpadtrg  PAD_MISSILE      ;R0にミサイルボタンのトリガ状態を代入

getpos
記述getpos ラベルコード
引数 ラベルコード場所を取得するユニットのラベルコード
動作ユニットの座標(X,Y,Z)をR0,R1,R2に、ユニットの角度(ピッチ,方位,バンク)をR3,R4,R5に代入
getpos  L1  ;Label=1のユニットの座標をレジスタに代入

getrotabs
記述getrotabs ラベルコード
引数 ラベルコード角度を取得するユニットのラベルコード
動作戦場に対するユニットの角度(ピッチ,方位,バンク)をR0,R1,R2に代入。子ユニットの場合、getposとは異なり、親ユニットに関わり無く戦場に対する絶対角度を取得する。
getrotabs  L60  ;Label=60のユニットの角度をレジスタに代入

getstatus
記述getstatus ステータスコード, (オペランド)
引数 ステータスコード取得するステータス情報を示すコード
REST_TIME 残り時間
PROGRESS_TIME 経過時間
PLAYERS_WEAPON 武装ID(R0:機体 R1〜R3:各パイロン)
AIR_ENEMY 敵航空機の生存数
AIR_TARGET ターゲット航空機の生存数
AIR_FRIEND 味方航空機の生存数
GROUND_ENEMY 敵地上物の生存数
GROUND_TARGET ターゲット地上物の生存数
GROUND_FRIEND 味方地上物の生存数
ALL_ENEMY 敵ユニットの生存数
ALL_TARGET ターゲットユニットの生存数
ALL_FRIEND 味方ユニットの生存数
AIR_ENEMY_DESTROYED敵航空機の破壊数
AIR_TARGET_DESTROYEDターゲット航空機の破壊数
AIR_FRIEND_DESTROYED味方航空機の破壊数
GROUND_ENEMY_DESTROYED敵地上物の破壊数
GROUND_TARGET_DESTROYEDターゲット地上物の破壊数
GROUND_FRIEND_DESTROYED味方地上物の破壊数
ALL_ENEMY_DESTROYED敵ユニットの破壊数
ALL_TARGET_DESTROYEDターゲットユニットの破壊数
ALL_FRIEND_DESTROYED味方ユニットの破壊数
ALL_LABEL オペランドが示すラベルコード付きユニットの生存数
DAMAGE_LABEL オペランドが示すラベルコード付きユニットに与えたダメージの合計
DAMAGE_PLAYER 自機のダメージ値を0〜100で取得。衝突はカウントしない。
LEVEL 現在のレベルを0〜2で取得
NETWORK_ID プレイヤーのネットワークIDを取得
NETWORK_NUM ログオンプレイヤー人数を取得 (オペランド)ステータスコードの詳細を指定。必要に応じて付け足す。 動作戦場情報を取得し、R0に代入する 例

getstatus  REST_TIME       ;R0に残り時間の秒数を代入
getstatus  ALL_TARGET      ;R0に全ターゲット数を代入
getstatus  ALL_LABEL, L2   ;R0に対空機銃(Label=2)の数を代入

jump
記述jump 比較値左辺 比較演算子 比較値右辺 ,ジャンプ先ラベル
引数 比較値左辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
比較式演算子右辺と左辺を比較する演算子、!= == < > <= >= の6つ。>=を間違えて=>と入力しないように注意。
比較値右辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
ジャンプ先ラベル比較式が正しい場合にジャンプする先のラベル
動作(比較値左辺 比較演算子 比較値右辺)の比較式がTRUEの場合はジャンプ先ラベルへジャンプする。
jump  R0==0 ,Clear  ;R0が0であれば、#Clearへジャンプ

limitengine
記述limitengine ラベルコード, 最小値, 最大値
引数 ラベルコード対象となるユニットのラベルコード
最小値 , 最大値エンジン出力を制限する最小幅と最大幅。フルブレーキ状態が-1、フルスロットルが1。
動作エンジンの出力に上限を設定したり、下限を設定したりする。強制的に最高速度で飛行させたり、エンジン故障などを表現する。正常時において最小値=-1, 最大値=1となる。
limitengine  L1, -1, 0  ;プレイヤー機のエンジン出力低下

loadse
記述loadse SE番号, ファイル名
引数 SE番号効果音の番号、0〜49と80以降は予約済みなので50〜79を使うこと
ファイル名効果音ファイル名。wavとradが指定可能。
動作ログファイルに文字列を吐き出す。デバッグなどに用いる。
loadse  50, "se\\sound.wav"  ;効果音50にse\sound.wavを読み込む

log
記述log ログ文字列
引数 ログ文字列ログファイルに出力する文字列
動作ログファイルに文字列を吐き出す。デバッグなどに用いる。
log  "ミッション初期化処理終了"

message
記述message 色コード, 話者文字列, 台詞文字列
引数 色コードウィンドウの色を表す。RED/BLUE/YELLOWの3種類
話者文字列話者をあらわす文字列。あまり長いとウィンドウに入りきらない。
台詞文字列台詞本体をあらわす文字列。\nを使っても2行まで。
動作台詞ウィンドウの内容を更新。台詞ウィンドウが無い場合は自動的に生成。
message  BLUE,	"オペレーター",	"全ターゲットの破壊に成功しました。\n任務完了。お疲れ様です。"

move
記述move ラベルコード, (X,Y,Z), 子フラグ
引数 ラベルコード移動させる対象となるユニットのラベルコード
(X,Y,Z)相対移動ベクトル。即値またはレジスタが指定可能。
子フラグ子オブジェクトを親に対して相対的に移動させたい場合はCHILDと書く。
動作ユニットを(X,Y,Z)で示されるベクトルだけ相対移動させる。子オブジェクトを持つユニットの場合、子オブジェクトに対しては直接演算されず、親と共に移動する。戦艦の砲台位置を移動させるような動作をしたい場合はCHILDフラグを指定する。
move  L10, (3, 0.8, 2)  ;Label=10のオブジェクトをちょっと移動
move  L11, (0.1, 0, 0) ,CHILD  ;Label=11の閉鎖シールドを親に対してX方向へ移動させる

movegearheight
記述movegearheight ラベルコード
引数 ラベルコード移動させる対象となるユニットのラベルコード
動作ユニットを車輪の高さベクトルだけ相対移動させる。RSEの仕様上、航空機は地面に配置されたことを考えて0.4だけ高い位置に配置されるので、地面の座標に合わせる場合はmove命令を併用する。
putgear         L1             ;Label=1のプレイヤー機に車輪を出す
movegearheight  L1             ;Label=1の機体を車輪の座標だけ移動
move            L1,(0,-0.4,0)  ;Label=1の機体を0.4下げる

playse
記述playse SE番号, (x,y,z), 音量減衰値
引数 SE番号効果音の番号、0〜49と80以降は予約済みなので50〜79を使うこと
(x,y,z)音座標。
音量減衰値音座標がカメラから離れた場合にどれほど音が小さくなるか。ゼロの場合は音座標に関わらず最大音量となる。
動作効果音を鳴らす。SE番号10〜40まではゲーム内で使われている効果音が入っている。またloadse命令によりSE番号50以降に効果音を読み込むことが出来る。
playse  50, (R0,R1,R2), 5  ;効果音50を(R0,R1,R2)の座標に対して鳴らす

playseloop
記述playseloop SE番号, (x,y,z), 音量減衰値
引数 SE番号効果音の番号、0〜49と80以降は予約済みなので50〜79を使うこと
(x,y,z)音座標。
音量減衰値音座標がカメラから離れた場合にどれほど音が小さくなるか。ゼロの場合は音座標に関わらず最大音量となる。
動作効果音をループして鳴らす。loadse命令のループ版。停止するにはstopse命令を使う

playwave
記述playwave 再生種別コード, ファイル名文字列, ループポイント
引数 再生種別コード再生するファイルの扱いを示す。台詞ファイルはVOICE、音楽はBGMを指定。
ファイル名文字列wavファイル名
ループポイントループするBGMファイルなどの場合、ループで戻ってくる場所をサンプル数で指定。曲先頭に戻る場合は0、ちょうど1秒後に戻る場合は44100となる。記述しない、または負の値の場合はループしない。
動作Windowsの標準PCMが入っているwavファイル、またはradファイルを再生し、R0にその再生時間を秒単位で代入する。再生終了を待つ場合はwaitstream命令を併用する。
playwave  VOICE,	"02_04.wav"  ;音声ファイルを台詞として再生する

provideweapon
記述provideweapon UNIT_ID
引数 UNIT_ID入手する機体・武器のUNIT番号
動作機体・武器の入手。
provideweapon  211  ;対空型汎用ミサイルの入手

putgear
記述putgear ラベルコード
引数 ラベルコード車輪を出す対象となるユニットのラベルコード
動作RSPファイルの指定に合わせ、ユニットに車輪を出す。子オブジェクト(UNIT_ID = 5)として呼び出すためsetlabel命令と組み合わせることで動作を制御できる。
putgear         L1             ;Label=1のプレイヤー機に車輪を出す

putgroup
記述putgroup グループ番号
引数 グループ番号読み込むグループ番号
動作ユニットをマップに配置する。
putgroup  1  ;グループ番号1の敵を配置する

rand
記述rand 要素数
引数要素数サイコロの「目」の数。0〜(要素数-1)の値のランダム値となる。
動作ランダム値を生成する。R0に「0〜(要素数-1)」の値がランダムで代入される。
rand  100  ;R0に0〜99までの値をランダムで代入

releaseobject
記述lostobject ラベルコード
引数 ラベルコード消去するユニットのラベルコード
動作ユニットを戦場から消す。RSE1.0ではlostobject命令と併用する必要があったが、現在は内部でlostobjectを自動的に実行するためそのようなことは不要である。
releaseobject  L10,	0  ;Label=10のユニットを戦場から消す。

relrot
記述relrot ラベルコード, (X,Y,Z), 子フラグ
引数 ラベルコード回転させる対象となるユニットのラベルコード
(X,Y,Z)ピッチ、方位、バンクの角度。即値またはレジスタが指定可能。
子フラグ子オブジェクトを親に対して相対的に移動させたい場合はCHILDと書く。
動作ユニットを(X,Y,Z)で示される角度だけ相対回転させる。move命令の角度版ともいえる。連続で実行するとくるくる回ることになる。子フラグについてはmove命令の項で解説されているものと同様である。
relrot  L10, (0, 1, 0)  ;L10のオブジェクトをちょっと回転

reset
記述reset リセット先ラベル
引数リセット先ラベル戻る場所を示すラベル
動作スタックを掃除してラベルで指示された場所へ飛ぶ。深いループから抜けるとき、または増援処理などで戦況が変わった際にメインループを最初からやり直したい場合に使う。
reset  loop  ;#loopに戻って最初から条件判定をやりなおし

return
記述return 比較値左辺 比較演算子 比較値右辺
引数 比較値左辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
比較式演算子右辺と左辺を比較する演算子、!= == < > <= >= の6つ。>=を間違えて=>と入力しないように注意。
比較値右辺比較する数値。レジスタ・フラグ・カウンタ・即値が指定可能
動作(比較値左辺 比較演算子 比較値右辺)の比較式がTRUEの場合は、レジスタをスタックからPOPして、callした次の行へジャンプする。
return  R0>=2  ;R0が2以上ならリターン

runaway
記述runaway ラベルコード, (X座標,Z座標)
引数 ラベルコード逃がすユニットのラベルコード
X座標逃げ先のX座標
Z座標逃げ先のZ座標
動作ユニットを特定の座標へ逃がす。戦闘エリア外へ逃がすことも可能。避難先空域では旋回して待機。
runaway  L4,	(2500,-1000)  ;Label=4のユニットを南へ逃がす

set
記述set 左辺値 演算子 右辺値
引数 左辺値値を代入する先。レジスタとフラグが指定可能
演算子左辺値に対して右辺値をどう扱うかを指定する。指定できる演算子には=(代入),+=(加算),-=(減算),*=(積算),/=(除算),%=(剰余)がある。レジスタを複数使えばかなり複雑な演算も可能
右辺値代入すべき値。レジスタ・フラグ・カウンタ・即値が指定可能。
動作左辺値に右辺値を代入
set  F1 = 5  ;フラグ1に5を代入
set  R0 += 5  ;R0+5の値をレジスタ0に代入
set  R0 -= R1  ;R0-R1の値をレジスタ0に代入

setbarrier
記述setbarrier ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグバリアを張るならON、解除するならOFF
動作ユニットにバリアを張る。ダメージを受けなくなり、また、爆風の色が変化する。
setbarrier  L40,  ON  ;Label=40のラバーズにバリアーを張る。

setcolor
記述setcolor ラベルコード,フラグ
引数 ラベルコード変化させるスプライトのラベルコード
(r,g,b,a)それぞれ(赤、緑、青、アルファ)の色成分を表す。範囲は0〜255。(0,0,0,255)は黒であり、(255,255,255,255)は白である。即値かレジスタが指定可能。
動作createspirte命令で生成した2Dスプライトや、3Dスプライトのユニットの色を変化させる。
setcolor  L200, (255,-1,-1,128)  ;Label=200のスプライトを赤半透明にする

setdefensive
記述setdefensive ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグプレイヤーに追随するならON、その設定を解除するならOFF
動作RSのシステムでは、僚機・敵機共に初期配置座標から極端に離れないように飛行する。「防空フラグ」と呼び、通常はON。敵配置エディタでの「増援」設定をするとOFFになる。このフラグをOFFにすることで防空エリアに関わりなく戦闘を行うことが出来る。なお、OFFにしたからといってマップの範囲外へ飛び出すようなことはない。
setdefensive  L10,  OFF  ;Label=10の敵機を防空域に関わりなく飛ばす。

setduck
記述setduck ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグプレイヤーに追随するならON、その設定を解除するならOFF
動作RSのシステムでは、僚機・敵機共にプレイヤーから極端に離れないように、プレイヤーの空域にあわせて移動する。通称「小鴨フラグ」。標準ではONである。これを意図的にOFFにすることにより、プレイヤーの位置に関わりなく、各機自由に敵を探索し攻撃を行うようになる。なお、防衛エリアの縛りは解除されないため、これを解除するにはsetdefensive命令を用いる必要がある。
setduck  L10,  OFF  ;Label=10の敵機をプレイヤーと関わりなく自由に戦わせる。

setoriginalparam
記述setoriginalparam ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグ以下の値を指定。初期状態は0。
0 共通パラメータを適用(デフォルト値)
1 「旋回性」について機体固有のパラメータを適用
2 「安定性」について機体固有のパラメータを適用
3 「旋回性」「安定性」について機体固有のパラメータを適用
4 「ベクター値」について機体固有のパラメータを適用
5 「旋回性」「ベクター値」について機体固有のパラメータを適用
6 「安定性」「ベクター値」について機体固有のパラメータを適用
7 「旋回性」「安定性」「ベクター値」について機体固有のパラメータを適用
動作イベント時のsetpad命令による機体操縦は編隊飛行を容易にする観点から「機種に関わらずパラメータ一定」で飛行させている。この命令ではその制限を一部撤廃して「旋回性・安定性・ベクター値」に対しては機体本来の値を適用飛行させる。
setoriginalparam  L10,  1  ;Label=10の機体は、機体本来の旋回性で飛ばす。
setoriginalparam  L10,  7  ;Label=10の機体は、機体本来の旋回性・安定性・ベクター値で飛ばす。

setheightoffset
記述setheightoffset 高度オフセット
引数 高度オフセット高度計の表示に加えるY値を指定する。1が10feetに相当。
動作高度計にオフセットを加える。地下や成層圏を表現するのに使う。初期値はもちろん0feetである。
setheightoffset  -300  ;高度計に3000feetを引いて表示するようにする。

setheightstall
記述setheightstall 失速高度
引数 失速高度失速演算を開始する高度をY値で指定する。敵配置エディタの値と同様で、1が10feetに相当。
動作失速演算を開始する高度を変更する。失速高度に到達した瞬間に失速するわけではない点に注意。初期値は600(6000feet)である。なお、上方向にもエリアオーバーの概念があるため、17000feet以上には上昇できない。超高空での戦いなどを演出したい場合はsetheightoffset命令を使う。
setheightstall  1200  ;12000feetまで上昇しても大丈夫なようにする。

sethp
記述sethp ラベルコード,装甲値
引数 ラベルコード変化させるユニットのラベルコード
装甲値設定する装甲値
動作ユニットの装甲値、つまりHPを変更する。ユニットを殺せないようにしたり、逆に瀕死にさせたりする。
sethp  L11,	9999  ;Label=11の姉を撃墜できないようにHPを9999にする。

setimportant
記述setimportant ラベルコード, フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグONかOFFで指定する。
動作視界範囲外であってもHUDに表示させるようにする。重要な攻撃目標や目標地点などを分かりやすくする。
setimportant  L69, ON  ;L69の目標点を距離に関わり無くHUDに表示するようにする

setlabel
記述setlabel 親ユニットのラベルコード,UNIT_ID,ラベルコード
引数 親ユニットのラベルコードラベルコードを設定したいユニットの親
UNIT_IDユニットID(負の値でユニット種別ナシ)
ラベルコード設定するラベルコード値
動作”親ユニットのラベルコード”を持つユニットの子(や孫)のユニットのうち”UNIT_ID”に該当するユニットに対して”ラベルコード”の値を割り当てる。船舶に付属する機銃などはラベルコードを設定できないが、この命令によりスクリプト側から指定可能となる。こうすることで、各パーツごとの破損をスクリプトで取得できるようになる。
setlabel  L20,113,L21  ;Label=20の船舶に載っている機銃(UNIT_ID:133)をLabel=21に設定する

setmaster
記述setmaster 制御対象ラベルコード, マスター指定のラベルコード
引数 制御対象ラベルコードマスターオブジェクトを変更させるユニットのラベルコード
マスター指定のラベルコード「マスター」になるユニットのラベルコード
動作「マスター」を変更する。RS2では空飛ぶトラックをグライダーに走らせるための専用命令。
setmaster  L14, L10  ;Label=14のトラックをLabel=10のFC4000に向けて走行開始

setmiso
記述setmiso ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグ攻撃対象にされないならばON、その設定を解除するならOFF
動作ユニットが敵や僚機から狙われなくなる。流れ弾などに当たる危険があるため、無敵とは異なる。僚機にこれを設定した場合、当然ながら敵の攻撃対象が減るため、プレイヤーへの攻撃は激しくなる。
setmiso  L8,  ON  ;Label=8のレドーム機は攻撃を受けないようにする。

setname
記述setname ラベルコード, 名前ID
引数 ラベルコード名前を変更する対象となるユニットのラベルコード
名前ID名前のID。基本的にはユニットのIDと同じ。ユニットIDは
動作HUDに表示される名前を変更する。HUDの表記は画像扱いなので、文字列ではなくIDで変更する。つまり自分で作った名前に変えられるわけではない。通常は敵機の表示をUnknownに変更するために使う。UnknownのユニットIDは"4"である。
setlabel  L10,4  ;RX-66の表記をUnknownに変更

setpad
記述setpad ラベルコード, (操縦左右,操縦上下), 目標速度, 操縦入力時間
引数 ラベルコード操縦対象のユニットのラベルコード
操縦左右ユニットにつながる仮想的なゲームパッドの左右入力。右がプラス。
操縦上下ユニットにつながる仮想的なゲームパッドの上下入力。下がプラス。
目標速度この速度まで徐々に変化する
操縦入力時間(操縦左右,操縦上下)の入力を行う時間。
動作イベントシーンにおいて、ユニットを操縦して動作する。透明機体も操作できるので、カメラを貼り付けた透明機体を操縦させることでカメラをリアルに動かすことが出来る。
setpad  L10, (-10,5), 250, 40  ;L10の操縦桿を40フレームの間、10%左/5%手前に倒し、目標速度は250

setparent
記述setmaster 制御対象ラベルコード, 親指定のラベルコード
引数 制御対象ラベルコード親オブジェクトを変更させるユニットのラベルコード
親指定のラベルコード「親オブジェクト」になるユニットのラベルコード
動作親オブジェクトを変更する。この親子関係は3D処理での親子関係である。
setparent  L14, L10  ;Label=14のトラックをLabel=10に搭載する

setpos
記述setpos ラベルコード, (X, Y, Z), 子フラグ
引数 ラベルコード位置を変更するユニットのラベルコード
(X, Y, Z)位置。即値またはレジスタが指定可能。
子フラグ子オブジェクトを親に対して相対的に移動させたい場合はCHILDと書く。
動作ユニットの座標を強制的に変更する。子フラグについてはmove命令の項で解説されているものと同様である。
setpos  L1, (2500, 190, 2500)  ;L1のプレイヤー機をマップ中央へ強制移動

setrot
記述setrot ラベルコード, (X軸角, Y軸角, Z軸角), 子フラグ
引数 ラベルコード向きを変更するユニットのラベルコード
(X, Y, Z)ピッチ、方位、バンクの角度。即値またはレジスタが指定可能。
子フラグ子オブジェクトを親に対して相対的に移動させたい場合はCHILDと書く。
動作ユニットの角度を強制的に変更する。子フラグについてはmove命令の項で解説されているものと同様である。
setrot  L10, (90, 190, 0)  ;L10の垂直上昇させる

setscale
記述setscale ラベルコード, (X, Y, Z), 子フラグ
引数 ラベルコード大きさを変更するユニットのラベルコード
(X, Y, Z)各軸方向への拡大率
子フラグ子オブジェクトを親に対して相対的に移動させたい場合はCHILDと書く。
動作ユニットの拡大率を変更する。相対地ではなく絶対値である。子フラグについてはmove命令の項で解説されているものと同様である。
setscale  L10, (1, 0.2, 1)  ;L10のオブジェクトを平たくする

setsection
記述setsection ラベルコード, セクション
引数 ラベルコード動作制御対象のユニットのラベルコード
セクション 行動を表す数値「セクション」
動作ユニットの動作を切り替える。対空砲に任意で射撃を行ったり、TOYBOXユニットを使って落雷を発生させたりする。詳しくは「セクションについて」で解説。
setsection  L42,40  ;レーザー射撃

setspeed
記述setspeed ラベルコード 速度
引数 ラベルコード速度を変更するユニットのラベルコード
速度ユニットの速度
動作イベントシーンにおいて、ユニットの飛行速度を指定する。RSE1.0の仕様ミスである1フレームの猶予は不要になっている。
setspeed  L10, 310  ;L10の速度を310に強制変化。追い越すような速度になる

settarget
記述settarget 制御対象ラベルコード, ロックオンする敵のラベルコード
引数 制御対象ラベルコードターゲットを変更させるユニットのラベルコード
ロックオンする敵のラベルコード「ターゲット」になるユニットのラベルコード
動作ユニットのターゲットを変更する。イベント等で攻撃対象を指定する場合に使用する。
settarget  L5,	L12  ;ホーミングレイのロックオン対象をアルファ2に指定

settime
記述settime 秒数
引数 秒数ミッション制限時間を秒数で指定
動作ミッションの制限時間を設定する。左上の時計に表示される。TimeUpでミッション失敗にさせるには、制限時間がゼロになったことをスクリプトで検知しなければいけない。
settime  600  ;ミッション制限時間を600秒(10分)に設定する

shootmissile
記述shootmissile 発射元ラベルコード, 発射先ラベルコード
引数 発射元ラベルコードミサイルを発射するユニットのラベルコード
発射先ラベルコードミサイルで狙われるユニットのラベルコード
動作ミサイルを発射する(発射元に使えるのは航空機のみ)。当たるかどうかは位置による。発射される武器は機体ごとに設定されたメイン武装であるが、このメイン武装がレーザーやグレネードだった場合の動作は未定義である。また、対空ミサイルなどにミサイルを撃たせたい場合はsetsection命令を使う。
shootmissile  L7,L1  ;バタフライ1(Label=7)からレパード1(Label=1)に向けてミサイル発射

startcounter
記述startcounter カウンタ
引数 カウンタ始動するカウンタ
動作カウンタを指導させる。始動するとカウンタは1秒あたり1カウントアップする。既に始動しているカウンタの場合はリセットして0からカウント開始する。
startcounter  C0  ;カウンタ0を始動する

stopgun
記述stopgun
引数(なし)
動作戦場全体で、機銃の使用を禁止する。

stopmissile
記述stopmissile
引数(なし)
動作戦場全体で、ミサイルの使用を禁止する。

stopse
記述stopse SE番号
引数 SE番号効果音の番号、0〜49と80以降は予約済みなので50〜79を使うこと
動作効果音を停止する
playse  50,   ;効果音50を停止する。

stopthread
記述stopthread スレッド番号
引数 スレッド番号終了するスレッド番号
動作スレッドを終了させる

stopwave
記述stopwave, 再生種別コード
引数 再生種別コード再生するファイルの扱いを示す。台詞ファイルはVOICE、音楽はBGMを指定。
動作音声再生を停止させる。

stopweapon
記述stopweapon 対象ラベルコード, 武器種類コード, フラグ
引数 対象ラベルコードミサイルを発射するユニットのラベルコード
武器種類コード武器の種類を表すコード。MAIN/SUB/CENTER/GUNの4つからどれか一つを指定
フラグSTOPで禁止、STARTで再許可
動作武器を使用禁止にする。また、その禁止を解除する。stopgunやstopmissileより細かい指定が可能。
stopweapon  L5, MAIN, STOP  ;敵機(Label=5)のメインパイロン武器の使用を禁止する
stopweapon  L5, GUN, START  ;敵機(Label=5)の機銃使用禁止を解除する

supplyweapon
記述supplyweapon 補充度
引数 補充度ミサイルの補充度を0〜100まで百分率で指定
動作自機のミサイル類の残り数を回復させる
supplyweapon  50  ;弾数を50%分だけ補充

supplydamage
記述supplydamage 回復度
引数 回復度ダメージ値の回復度を0〜100まで百分率で指定
動作自機のダメージ値を回復させる
supplydamage  100  ;自機を全快させる

system
記述system
引数(なし)
動作システムに1/60秒だけ処理を戻す。"waitframe 1"と同じだが、メインループの中で使う場合はこちらを推奨。

targetflag
記述targetflag ラベルコード,フラグ
引数 ラベルコード変化させるユニットのラベルコード
フラグターゲットにするならON、解除するならOFF
動作ターゲットにしたり通常の敵にしたりする。RSE1.0で存在したオブジェクト管理の不具合は解決している。
targetflag  L21,OFF  ;Label=21の敵をターゲットに変更する。

teamid
記述teamid ラベルコード,所属コード
引数 ラベルコード所属変更対象ユニットのラベルコード
所属コード所属を示すコード
FRIEND友軍
ENEMY敵軍
OBJECT戦闘対象外。HUDにも表示されない
動作ユニットの所属を変更する、敵を味方に変更するよりは、HUDから消したりすることに使うことが多い。OBJECTに設定すると、リザルトにおける撃破率の分母からも除外されるので、teamidでHUDから消しても敵殲滅ができなくなることは無い。
teamid  L21,ENEMY  ;Label=21のジェネレーターをHUDに表示、攻撃できるようにする。

waitframe
記述waitframe 待ち時間
引数 待ち時間時間を1/60秒単位で入力。レジスタ・フラグ・カウンタ・即値が指定可能。
動作スクリプトの動作を一時停止する。他のスレッドへは影響無し。フレーム数はFPS設定や実際の負荷に関わらず、ゲーム内での1/60秒が単位となる。
waitframe  6  ;6フレーム(0.1s)待つ

viewmode
記述viewmode カメラコード
引数 カメラコードカメラの撮影方式を選択する以下のコード
FIXEDfocus1を撮影するための空中固定カメラ
LONGfocus1を中心にして、focus2を撮影
SHORTfocus1内蔵のカメラからfocus2を撮影
SIDEfocus1を横から撮影
ROUNDfocus1の周りをまわる
FLIGHTHUDの視点へ戻す
動作カメラの撮影方式を変更する。focus1,focus2に関してはcamfocusの項目を参照。
viewmode  SHORT  ;視点モードを近距離対象撮影に変更

waittime
記述waittime 待ち時間
引数 待ち時間時間を秒単位で入力。レジスタ・フラグ・カウンタ・即値が指定可能。即値の場合は小数指定可能。
動作スクリプトの動作を一時停止する。他のスレッドへは影響無し。
waittime  0.5  ;0.5秒待つ

waitstream
記述waitstream 追加待ち時間
引数 追加待ち時間時間を秒で入力。
動作直前の音声ファイルの再生が終わるまでスクリプトの動作を一時停止する。他のスレッドへは影響無し。台詞ファイルが隙間無く再生されると不自然なため、追加待ち時間に0.3〜0.5程度の値を入れると良い。
waitstream  0.3  ;直前の台詞再生が終わるまで待ち、さらに0.3秒待つ