−<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>− with てぺ    RPG Text Edit Interpreter System REIQA    ver マイナス1.70 Copyright 1995 1996 1999 TNB製作所 システム変数/命令/表示文字列 リファレンス ========================================================================== ========================================================================== § システム変数 ▽ システム変数 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 自由に参照、代入出来るがシステムに(ゲーム)影響するシステム変数。  ○ %mspeed 文字速度が入る。単位は 1/100s。代入した時から変更される。また、`!' (表示命令)の`b'命令でも変更されるので注意。  ○ %msound 文字表示効果音ナンバーが入る。代入した時から変更される。また、`!' (表示命令)の`s'命令でも変更されるので注意。効果音ナンバーは代入シ ステム変数`%BGM(n)'で登録した n を使う。  ○ %gold ゴールド。ゲーム中のお金表示、管理はこの変数を使用する。  ○ %bcirclesize  ○ %bcirclecount 洞窟などで利用したいスポット処理管理変数。`%bcirclesize'に半径が入 る。ただし、代入した瞬間には書き変わらず、`&goto'`&move'など画面が 暗転した時か、`&on'を実行した時に書き変わる。各ブロックのヘッドエ リアで設定した時は問題無い。 `%bcirclecount'は時間で半径を小さくしていきたい時に使用する(たいま つのような処理)。この変数をマイナス値にしておけば、時間で小さくな ることはなくなる。 命令`&blackcircle'でスポットオンになっていない場合は当たり前だが表 示されない。  ○ %systime 今のブロックになってから何ターンたったかが入っている。`ターン'と言 うのは、プレイヤーが1BG動いたこと。ただし、動いていなくてもカウ ントされる。つまり一定間隔で+1されている。初期化しても構わないの で、初期化してそこから何ターン後に・・・と言うことも可能。カウント される以外ゲームには影響しない。 ▽ 参照システム変数 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 参照のみ可能なシステム変数。  ○ %direc イベント発生時にセットされる。 0 ;そのイベント上でボタンが押された 2 ;プレイヤーが下向きでイベントに向かってボタンが押された時 4 ;プレイヤーが左向きでイベントに向かってボタンが押された時 6 ;プレイヤーが右向きでイベントに向かってボタンが押された時 8 ;プレイヤーが上向きでイベントに向かってボタンが押された時 -2 ;プレイヤーが下向きにイベントに乗った -4 ;プレイヤーが左向きにイベントに乗った -6 ;プレイヤーが右向きにイベントに乗った -8 ;プレイヤーが上向きにイベントに乗った ボタンを押してイベントが発生した時は0以上、イベントを踏んだ時はマ イナスになることに注目。  ○ %up 定数 8 が入っている。命令等で方向を表す場合に使う。`8'と書いてもい いが、わかりやすくするために使用したほうがいい。  ○ %down 定数 2 が入っている。  ○ %left 定数 4 が入っている。  ○ %right 定数 6 が入っている。  ○ %px  ○ %py プレイヤーのいるX,Y座標。プレイヤーの位置を変えたい場合は &move を使用する。  ○ %nowbgm 現在演奏中のbgmナンバー。  ○ %nowblock 現在のBLOCKラベルナンバーが入ります。BLOCK宣言した順番がBLOCKラベ ルナンバーになっている(参照→§数値)。  ○ %exitcode 特定の命令後に特定の状態がはいる。 ・`&exec' コプロで実行したプログラムの戻り値が入りま す。 ・`&battle' 戦闘後・・・ 0;無事終了 1;全滅してしまった 99;逃げた  ○ %manno 話しかけたマンナンバーが入ります。イベントエリアで`&link'命令を使っ て、再びマンナンバーによって処理を分岐したい場合に、使用出来る。イ ベントエリアを実行している理由がイベントであれば、`%manno'はマイナ スになっている。  ○ %iventno 踏んだ、あるいはボタンを押したイベントナンバーが入る。イベントエリ アで`&link'命令を使って、再びイベントによって処理を分岐したい場合 に、使用出来る。イベントエリアを実行している理由がマンに話しかけた のであれば、`%iventno'はマイナスになっている。  ○ %rnd(n) 0〜n未満の乱数となる。  ○ %inkeyn この変数があると画面に[y/n]選択画面が表示され、入力待ちをする。プ レイヤーが Y を指定した場合 0、N なら 1 が入る。 画面の表示されていない時(コモンブロックや各ブロックのヘッドエリア) では使用しないこと。  ○ %select `%selectlist'に代入した、選択しを表示し入力待ちをする。選択したら 上から0,1,2・・・が返ってくる。マイナスならキャンセルされたこ とになる。  ○ %shopsel(n) `%shoplist'に代入したアイテムを定価の n %で売っている店を実行しま す。戻り値は以下のようになります。 0 ;買うのをやめた。 -1 ;選択したアイテムはお金が足りない -2 ;これ以上物が持てない その他 ;買って手に入れたアイテムナンバー ex) `%shoplist'に売り物を代入して以下のサブルーチンを呼 ぶ。 &label お店買う &ldef IM &ldef II II=0 &label &if ( II==0 ) { II=1 !o1「どれにしましょう?:!w } &else { !o1「ほかには?:!w } IM=%shopsel(100) &switch( IM ){ &default: !「i(IM)ですね。;ありがとうございます!!:!p &jmp @b &case(0): &break &case(-1): !「お金が足りないようですね。:!p &jmp @b &case(-2): !「持てないようですね。:!p &jmp @b } &rts  ○ %shopbuy(n) 持ち物をアイテムを定価の n %で買い取ってくれる店を実行します。戻 り値は以下のようになります。 0 ;売るのをやめた。 -1 ;選択したアイテムは買い取れない(重要アイテム) その他 ;売ったアイテムナンバー ex) &label お店売る &ldef IM &ldef II II=0 &label &if ( II==0 ) { II=1 !o1「どれにしましょう?:!2 } &else { !o1「ほかには?:!2 } IM=%shopbuy(75) &switch( IM ){ &default: !「i(IM)ですね。;ありがとうございます!!:!p &jmp @b &case(0): &break &case(-1): !「それは買い取れないですね。:!p &jmp @b } &rts  ○ %partylevel %partylevel(n) でそのキャラのレベルの値を返す。  ○ %partynumber 現在の仲間の数がはいる。仲間に出来るのは4人までなので、`&partyin' などを実行する前に必ずチェックすること。  ○ %partyexist(n) パーティキャラナンバー n の人が仲間に入っているか?いるとパーティ の位置を返す。先頭が 1。入って無ければ 0 になる。  ○ %manstate(n) マンナンバー n の状態が入っている。 0;表示されていない(使われていない、消された) 1;止まっている(足踏み) 2;ランダムで動いている  ○ %rasthaveitem あと持ち物が何個持てるかがはいる。ものを貰う処理をする前にチェック すること。  ○ %haveitem(n) n のアイテムを持っているか? 持っていると 1、無ければ 0 になる  ○ %strig この変数が参照された時のトリガーの状態が入る。 0;押されていない。 1;トリガー1が押されている。 2;トリガー2が押されている。  ○ %stick この変数が参照された時のスティックの方向が入る。    (上)    8 (左)4+6(右)    2    (下) ▽ 代入システム変数 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 代入のみ可能なシステム変数。キャラ等の名前や属性の設定が多い。  ○ %selectlist = {文字列,文字列,文字列 [,…]} `%select'で表示する文字列、及び数を代入する。この変数は特殊で、複 数の文字列を代入させている。8個まで各32文字まで代入可能。  ○ %shoplist = {アイテムナンバー,アイテムナンバー[,…]} `%shopsel(n)'で選択させるアイテムを代入。アイテムナンバーはアイテ ム名を書くことも出来る(参照→§数値)。8個まで代入可能。  ○ %magicnamedef(n) = 文字列 魔法ナンバー n の名前を代入(設定)。これ以後、名前を書くと定数 n と される(参照→§数値)。n は 1 以上。 基本的にコモンブロックにおくこと。  ○ %magicdef(n) = { 属性 , 強さ , MP } 魔法ナンバー n の属性、性能を代入(設定)。n は 1 以上。 基本的にコモンブロックにおくこと。 ・属性 どういう魔法か指定。系×256+種となる。ただし、種で1以外は 系の指定の意味なし。 系 1;火系 2;水系 0;無 種 1;攻撃 2;回復 17;MP回復 ・強さ その魔法の強さ。意味は種によって違う。 攻撃;相手に与えるダメージ。 回復;回復する数値 ・消費MP その魔法を唱えるのに必要なMP。  ○ %itemnamedef(n) = 文字列 アイテムナンバー n の名前を代入(設定)。これ以後、名前を書くと定数 n とされる(参照→§数値)。n は 1 以上。 基本的にコモンブロックにおくこと。  ○ %itemdef(n) = { 属性1 , 属性2 , 値段 , 強さ , 装備1 , 装備2 } アイテムナンバー n の属性、性能を代入(設定)。n は 1 以上。 基本的にコモンブロックにおくこと。 ・属性1 0 普通のアイテム。ただし特殊効果(属性2)がある場合、使う と無くなる。 1 普通のアイテム。使っても無くならないもの。 2 武器 2 よろい 4 盾 5 兜 ・属性2 使った時の特殊効果が欲しい場合に設定。魔法ナンバーを書く。 例えば回復アイテムが欲しい場合、魔法で回復魔法を設定してこ こで指定することになる。 ・値段 値段。0の場合重要アイテムになり、売ることも捨てることも出 来なくなる。 ・強さ 装備した時のステイタス変化値。 属性1が 0,1 なら意味なし。 ・装備1 装備出来る種族(race)ナンバー。-1なら指定なし。 属性1が 0,1 なら意味なし。 ・装備2 装備出来ない種族(race)ナンバー。-1なら指定なし。 属性1が 0,1 なら意味なし。  ○ %racenamedef(n) = 文字列 種族ナンバー n の名前を代入(設定)。 基本的にコモンブロックにおくこと。  ○ %racedef(n) = { HP初期値 , HP最低変化値 , HP最高変化値 , MP初期値 , MP最低変化値 , MP最高変化値 , 力初期値 , 力最低変化値 , 力最高変化値 , 素早さ初期値 ,素早さ最低変化値 , 素早さ最高変化値 , 器用さ初期値 , 器用さ最低変化値 , 器用さ最高変化値 , 系, 成長タイプ } 種族ナンバー n の属性、性能を代入(設定)。n は 0 以上。 基本的にコモンブロックにおくこと。 ・HP初期値 レベル1の時のHPの数値 ・HP最低変化値 レベルが1つ上がる時のHP最低変化値 ・HP最高変化値 レベルが1つ上がる時のHP最高変化値 レベルアップの時は最低変化値と最高変化値の 間、ランダムでステイタス変化する。 ・MP初期値 レベル1の時のMPの数値 ・MP最低変化値 同HP ・MP最高変化値 同HP ・力初期値 レベル1の時の力の数値 ・力最低変化値 同HP ・力最高変化値 同HP ・素早さ初期値 レベル1の時の素早さの数値 ・素早さ最低変化値 同HP ・素早さ最高変化値 同HP ・器用さ初期値 レベル1の時の器用さの数値 ・器用さ最低変化値 同HP ・器用さ最高変化値 同HP ・系 魔法の系と同じ。同じ系の魔法に対しては抵抗 が高くなる。 系 1;火系 2;水系 0;無 ・成長タイプ 0は「少ない経験値でどんどん上がる」、2は 「成長が遅い」、1はその間。  ○ %racemagicdef(n) = {魔法ナンバー,魔法ナンバー[,…]} 種族ナンバー n の使える魔法を代入(設定)。n は 0 以上。魔法ナンバー には魔法名を書くことも可能である(参照→§数値)。16個まで代入可能。 設定の無い場合、その種族のキャラは魔法が使えない。 基本的にコモンブロックにおくこと。  ○ %racemagiclvldef(n) = { レベル,レベル[,…]} 種族ナンバー n の使える魔法を憶えるレベルを代入(設定)。n は 0 以上。 必ず`%racemagicdef(n)'に代入個数を合わせること。また、数値のも大小 に注意。必ず、小さい順にする。設定の無い場合、その種族のキャラは魔 法が使えない。 基本的にコモンブロックにおくこと。  ○ %partynamedef(n) = 文字列 パーティキャラナンバー n の名前を代入(設定)。`&inputpartyname n'で プレイヤーに入力させることも可能(ただしキャンセル出来るのでデフォ ルトの名前は必要)。 基本的にコモンブロックにおくこと。  ○ %partydef(n) = { カラーブロック , バンクナンバー , スプライトナンバー, 種族ナンバー, スタート時のレベル , 性別, 武器 , 鎧 , 盾 , 兜 } パーティキャラナンバー n の属性、性能を代入(設定)。n は 0 以上。 基本的にコモンブロックにおくこと。 ・カラーブロック ・バンクナンバー 「てぺ」上でのバンクナンバー ・スプライトナンバー ・種族ナンバー 種族ナンバー ・スタート時のレベル スタート時のレベル。イベントなどでレベルを 変えたい場合もここを変えれば変えられる。 ・性別 0;男 1;女 2;? ・武器 装備している武器のアイテムナンバー ・鎧 装備している鎧のアイテムナンバー ・盾 装備している盾のアイテムナンバー ・兜 装備している兜のアイテムナンバー いずれも、数値をマイナスにすることで、前に設定した数値のまま他の部 分のみを変更出来る。例えば、スプライトパターンを変えたいならそれ以 外は−1にしておけばいい。レベルや装備しているアイテムを変えたい場 合も同様に出来る。  ○ %partypoint = { イベントナンバー , 方向 }  ○ %partypoint = { X座標 , Y座標 , 方向 } マップ上のプレイヤーのはじめの位置と向きを設定。イベントナンバーは マップ上の指定のイベントがあることが必要。また、数値だけでなく頭に `@'を付けることを忘れずに。 方向は、上=8、右=6、左=4、下=2で指定。システム変数、`%down'`%left' が利用出来る。また、かける-1 した数値を指定すると、先頭の後、列に なって登場する。 各ブロックのヘッドエリアにおくこと(コモンブロックや各ブロックのイ ベントエリアでは意味はない)。ただし、`&goto2'命令でこのブロックに 来た場合、この代入は無視される!  ○ %mandef(n) = { カラーブロック , バンクナンバー スプライトナンバー 初期の方向 , 動きのパターン } マンナンバー n のマップ上の動きと向きとスプライトを設定。位置は `%manpoint'で代入するかマップ上に設定しておくこと。 基本的に各ブロックのヘッドエリアにおくこと。もしイベントエリアで代 入した場合、`&on'を実行のこと。 ・動きのパターン -1;動かない 0;足踏み 1以上;ランダムで歩く でかいほど遅い  ○ %manpoint(n) = { X座標,Y座標 } マンナンバー n のマップ上の位置を設定。普通はマップに位置を指定し ておくがイベントでいなくなったり、位置が変わったりする場合、これで 移動させておく。 X座標に -1 を指定するとマップ上での座標が設定されたことになる。ま た、マップの最大座標より大きな数値を代入するとそのマンはいなくなる。 つまり消すことが出来る。 イベントエリアで代入した場合、`&on'を実行のこと。  ○ %monsnamedef(n) = 文字列 モンスターナンバー n の名前を代入(設定)。これ以後、名前を書くと定 数 n とされる(参照→§数値)。n は 1 以上。 基本的にコモンブロックにおくこと。  ○ %monspattern(n) = ファイル名 モンスターナンバー n のグラフィックパターンファイル名を指定する。 グラフィックパターンファイルは「てぺ」の16色キャラクター[.C16]のみ 使用出来る。パレットは`&patternpal'でパレットファイルを読み込んで おくこと。n は 1 以上。 基本的にコモンブロックにおくこと。  ○ %monsdef(n) = { パレットブロック HP , MP , 攻撃力 , 守備力 , 素早さ 系 , 魔法対抗 , 得られるEXP , 得られるGold } モンスターナンバー n の属性、性能を代入(設定)。n は 1 以上。 基本的にコモンブロックにおくこと。 ・パレットブロック 表示したいパレットブロックを`&patternpal'で読み込 んだパレットファイルの中から選択。-1 なら .C16 ファ イル内(セーブした時のパレットブロック)が使われる。 ・HP モンスターのHP。実際には±10%して使われる。 ・MP モンスターのMP。実際には±10%して使われる。 ・攻撃力 モンスターの攻撃力。実際には±10%して使われる。 ・守備力 モンスターの守備力。実際には±10%して使われる。 ・素早さ モンスターの素早さ。実際には±10%して使われる。 ・系 魔法の系と同じ。同じ系の魔法に対しては抵抗が高くな る。 系 1;火系 2;水系 0;無 ・魔法対抗 魔法の当たる確率(%)。低ければ低いほど魔法が利きに くくなる。100%で ・得られるEXP 倒した時得られるEXP ・得られるGold 倒した時得られるGold  ○ %monsmagicdef(n) = { 魔法or特殊攻撃ナンバー,魔法or特殊攻撃)ナンバー[,…] } モンスターナンバー n が戦闘中使ってくる魔法、特殊攻撃ナンバーを代 入(設定)。n は 0 以上。魔法ナンバーは魔法名を書くことでも可能であ る(参照→§数値)。特殊攻撃は以下ものがある。魔法ナンバーは63までな ので64からは特殊攻撃ナンバーとなっている。残念ながら変更出来ない。 64 炎をはく ダメージ 50 65 吹雪をはく ダメージ 50 66 火の玉をはく ダメージ 15 67 氷の粒をはく ダメージ 12 設定は16個まで代入可能。どれが行われるかはだいたい 1/16 で使ってく る。つまり同じ魔法を複数書いておくとそれだけ使ってくる可能性が高く なる。例えば、 %monsmagicdef(n) = { 64,64,64,64,65,65,65 } 上の場合、64が 4/16 、65が 3/16、残りの 9/16は物理攻撃をしてくるこ とになる。16個とも同じ魔法や特殊攻撃を書けばほとんどの場合その攻撃 をしてくるようになる。 基本的にコモンブロックにおくこと。  ○ %pcm(n) = ファイル名 PCMナンバー n に PCMファイル名を指定する。ファイルはメモリに読み込 んでおくのでサイズに注意。再生には`&PCM'命令を使用する。  ○ %bgm(n) = ファイル名 BGMナンバー n に ZMDファイル名を指定する。ファイルはメモリに読み込 んでおくのでサイズに注意。再生には`&BGM'命令を使用する。 BGMナンバーの若い方にはいくつか用途が固定しているものがある。注意 すること。 BGM 1 システム固定 「レベルアップファンファーレ」 BGM 2 システム固定 「勝利!!」 BGM 3 システム固定 (予約) BGM 4 システム固定 (予約) BGM 5 システム固定 (予約)  ○ %se(n) = ファイル名 SEナンバー n に ZMDファイル名を指定する。これは ZMUSIC の効果音モ ードで再生するので、効果音として使えるように書いたZMDファイルであ ること(しかも6,7,8トラックのみにすること)。 SEナンバーの若い方にはいくつか用途が固定しているものがある。注意す ること。 SE 1 システム固定 「ボタン押し」(ピッ) SE 2 システム固定 「選択待ち」(ピロピロ) SE 3 システム固定 「呪文唱える」(ニョー) SE 4 システム固定 「飛ぶ音」(ピュー) SE 5 システム固定 「プレイヤー攻撃メッセージ」 SE 6 システム固定 「敵 攻撃メッセージ」 SE 7 システム固定 「会心の一撃」 SE 8 システム固定 「物理攻撃ミス」 SE 9 システム固定 「殴られた」 SE 10 システム固定 「逃げ出す」 SE 11 システム固定 「壁にぶつかる音」 SE 12 システム固定 (予約)   | | SE 20 システム固定 (予約) ========================================================================== ========================================================================== § 数値、名前、定数  数値とは、ユーザー変数、ブロック名、アイテム名、魔法名、モンスター名、シ ステム変数、参照システム変数、そして、数字、すべてを指す。数字は頭に`$'を 付けることで、16進数になる(特殊なものとして`@'を付けるとイベントを意味する と言うのもある)。  更に、その数値同士は演算が可能になっている。括弧、四則演算のほかに関係演 算とビット演算子がある。 関係演算子 A < B AはBより小さい A > B AはBより大きい A <= B AはBより小さいか等しい A >= B AはBより大きいか等しい A == B AはBは等しい A != B AはBは等しくない 結果は真の時1、偽の時0の数値になる。 ビット演算子 A and B A or B ビット毎の and あるいは or を取り、結果が数値になる。 ex) &ldef I I= ( (%gold - %partynumber*100)>100 ) // (持ち金−仲間の数×100)が100より多かったら // I は1になる。未満なら0  名前を付ける時、ユーザー変数、ブロック名、アイテム名、魔法名、モンスター 名、システム変数、参照システム変数、すべて名前が重複してはいけない。全角使 用可能、大文字小文字識別になっている。 ========================================================================== ========================================================================== § 命令  命令は`!'、代入演算子を除き`&'ではじまる。大文字小文字は識別されるので注 意。  ○ 変数++ 等 代入演算子には次のものがある。変数はユーザー変数か、システム変数が 使える。 変数++ 変数の内容を+1する。 変数-- 変数の内容を-1する。 変数+=数値 変数の内容を+数値する。 変数-=数値 変数の内容を-数値する。 変数*=数値 変数の内容を数値で積算する。 変数/=数値 変数の内容を数値で除算する。 注意)Cとちがいこれは命令であり、この式に値はない。  ○ // そこから行末まで注釈になる。  ○ ! 表示文字列 文表示。全角のみが表示可能で半角はコントロールコードとなっている (参照→§表示文字列)。  ○ && ちょっと特殊なもので、この命令があったところで処理が終わる(移動モ ードに戻る)。サブルーチン内でも使用したら戻ること無くそこで終わ る。 ex) 次の二つは同じ意味になります。 &if ( i==0 ){ !あああ } &else { !いいい } &if ( i==0 ){ !あああ && } !いいい  ○ &battle モード1 , モード2 , M1 , N1 [, M2 , N2 [, M3 , N3 ] ] 戦闘モードに入る。各パラメータは以下の通り。 ・モード1 +$1000 ; 逃げられない ・モード2 戦闘中BGMナンバー n をならす。%bgm(n)で設定して おくこと。 ・M1 モンスター第1グループのモンスターナンバー。 ・N1 モンスター第1グループのモンスターの数。 ・M2 モンスター第2グループのモンスターナンバー。 ・N2 モンスター第2グループのモンスターの数。 ・M3 モンスター第3グループのモンスターナンバー。 ・N3 モンスター第3グループのモンスターの数。 戦闘終了後、必ず、参照システム変数`%exitcode'の値をチェックするこ と。全滅によるゲームオーバー処理はユーザが作ることになる。また、全 滅してもいいイベントなんかは`&complete'でHP等を回復しておくこと を忘れずに。  ○ &blackcircle スイッチ 洞窟などで利用したいスポット処理のスイッチ。0で使用せず。1で使用 する。`%bcirclesize'、`%bcirclecount'で諸設定をしておくこと。  ○ &bgm BGMナンバー BGMナンバーが 0 なら BGMを止める。-1 なら演奏中のBGMをフェー ドアウトさせる。その他はそのBGMナンバーのBGMをならす。そのナ ンバーは必ず %BGM(n) で設定しておくこと。システム変数 %nowbgm に BGMナンバーが代入される。  ○ &break &switch構文内から抜ける。&switch構文内以外では使用出来ない(エラー)。 (参照→§命令,&switch)  ○ &case 数 &switch構文内で使用する。&switch構文内以外では意味をもたない。 (参照→§命令,&switch)  ○ &complete パーティ内全員のHP,MPを回復。  ○ &contrast 数 画面全体のコントラストを変更する。0が一番暗く15が1番明るい。標 準では15。  ○ &def 名前 [= 数] グローバル変数を宣言。`='で数値を代入初期化することも出来る。起動 時に一気にチェックし初期化するので、どこで宣言しても同じである。な ので、構文内に代入宣言していてもそこでは値は変更されない。 宣言と使用場所は前後して構わない。  ○ &default &switch構文内で使用する。&switch構文内以外では意味をもたない。 (参照→§命令,&switch)  ○ &else (参照→§命令,&if)  ○ &end 数 ゲームを終了する。数は、REIQA.x の終了コードになる。  ○ &exec コマンドライン コマンドを実行する。コマンドラインには、` ^(変数) 'と記述すること で、コマンドライン内に変数の値を渡すことが出来る。 &def 頭の良=9 &exec FOO.x ^(頭の良) -t となっている場合、 FOO.x 9 -t が実行される。また、文字列と^(変数)を隙間無く書くことも出来るので、 &exec FOO^(頭の良).x とすれば、変数`頭の良'の値によって、 FOO1.x FOO2.x FOO3.x ・・・が 実行出来る。 終了後、EXITCODEがシステム変数、%exitcode に代入されている。また、 画面を破壊させているなら &initscreen を実行しておくこと。  ○ &freash 色 画面を指定の色でフラッシュさせる。色は0〜65535。  ○ &goto ブロック名 画面が暗転、初期化され、指定のブロックに移動する。移動後そのブロッ クのヘッドエリアが実行される。ブロック名の代わりにブロックナンバー でも構わない。 ex) [AA] &ldef 変数1=BB &goto 変数1 [BB] !おほほ ブロックAA の &goto でブロックBBに飛ぶ。 コモンブロックでは使用出来ない。  ○ &goto2 ブロック名 , イベントナンバー , 方向  ○ &goto2 ブロック名 , X座標 , Y座標 , 方向 画面が暗転、初期化され、指定のブロックに移動する。移動後そのブロッ クのヘッドエリアが実行される。イベントナンバー、あるいは X座標 , Y座標 と 方向 は、マップ上のプレイヤーのはじめの位置と向きを設定。 ヘッドエリアの %partypoint よりも優先される。 イベントナンバーで指定した場合、マップ上の指定のイベントがあること が必要。また、数値だけでなく頭に`@'を付けることを忘れずに。 方向は、上=8、右=6、左=4、下=2で指定。システム変数、`%down'`%left' が利用出来る。また、かける-1 した数値を指定すると、先頭の後、列に なって登場する。 コモンブロックでは使用出来ない。  ○ &if 数値 { <1> }  ○ &if 数値 { <1> } &else { <2> } 条件分岐命令。数値が0以外なら<1>の部分が、0なら<2>の部分が実行 される。`{' `}'は省略は出来ない。 (参照→§数値)  ○ &initscreen 画面を書き直す。主に&exec で実行したプログラムが破壊した画面を直す のに使用。  ○ &inputpartyname パーティキャラナンバー 指定パーティキャラナンバーの名前をプレイヤーに入力させる。コモンエ リアでは使用出来ない。また各ブロックのヘッドエリアで使う場合には、 先に &on 命令を実行のこと(でないと画面が見えない)。  ○ &jmp ラベル名 ラベル名の宣言している`&label'にジャンプする。ジャンプ先は基本的に 同エリア内であることが必要。 ラベル名に `@b'`@f'が使用出来、`@b'は&jmp命令より一つ前、`@f'は一つ 後の`&label'にジャンプする。  ○ &jsr ラベル名 ラベル名の宣言している`&label'にサブルーチンジャンプする。ジャンプ 先はサブルーチンとして実行される以外は実行されないようにしておく必 要がある(`&label'の前に`&&'を書いておくか、サブルーチン専用の呼ば れないブロックを用意するなど)。 ラベル名に `@b'`@f'が使用出来、`@b'は&jsr命令より一つ前、`@f'は一 つ後の`&label'にサブルーチンジャンプする。 `&rts'文で`&jsr'文の後に戻ってくる。  ○ &label ラベル名 ラベルの宣言。`&jmp'文、`&jsr'文で使用されるだけで、この文自体は無 視される。 ラベル名を省略することも出来る(`@b'`@f'で使う場合などはなくてもい いわけだ)。  ○ &ldef 名前 [= 数] ローカル変数を宣言。`=' で数値を代入初期化することも出来る。この文 が実行された時にチェックし初期化するので、使う順に注意すること。ま た、サブルーチン内で宣言したものはサブルーチン終了後(&rts文で)破棄 される。ので、サブルーチン内のみのローカル変数も出来る。 `&goto' `&goto2' によりローカル変数は全て破棄される。  ○ &link 数値 他のイベント(マンイベント)と同じ処理の場合に使用する。数値は他の マンイベントナンバーを指定する。イベントナンバーの場合、数値の頭に `@'を付けることを忘れずに。 ex) #@1 ! マン1,2ともここが実行される #@2 link @1  ○ &load 冒険の記録をロードするモードになる。ただしキャンセルされて次の命令 に行く可能性もある。引数 1 なら、『スタート』が『キャンセル』にな る。イベント内で使用出来る。引数は省略可能。  ○ &manmove n , 向き [, 向き [, 向き [, .... ]]] マンナンバー n を指定通りに動かす。向きは以下の通り。    (上)    8 (左)4+6(右)    2    (下) マイナス値なら方向転換のみ行う。 ex) &manmove 5,-%up,%up,%up,-%left マンナンバー5が、上に向きを変え、2歩上に進み、左に向きを 変える。それまでパーティは動けない。  ○ &map マップファイル名 「てぺ」で書かれた .MAPファイルを指定する。このマップで使うパター ンは`&mapsp'`&mappal'で設定する。 基本的に各ブロックのヘッドエリアの頭に置くこと。  ○ &mapsp スプライトファイル名 `&map'で設定する(した)マップで使用するパターンを設定する。「てぺ」 で書かれた .SPDファイル、あるいは .SPファイルを指定すること。 基本的に各ブロックのヘッドエリアの頭に置くこと。 BG0と1はパレット0の塗りつぶしBGにしておくこと(重要)。  ○ &mappal パレットファイル名 `&map'で設定する(した)マップで使用するパレットを設定する。「てぺ」 で書かれた .PLTファイル、あるいは .PALファイルを指定すること。 基本的に各ブロックのヘッドエリアの頭に置くこと。  ○ &monsprint X座標 , Y座標 , モンスターナンバー モンスターのパターンをグラフィックに表示する。座標はグラフィック画 面の座標を設定する。場所を間違えると画面が乱れるので注意。 表示専用にダミーモンスターを設定するのもいい。また、消し専用のも必 要だろう。  ○ &move イベントナンバー , 方向  ○ &move X座標 , Y座標 , 方向 画面が暗転、初期化され、指定の座標にパーティが移動する。移動後、 `&move'の後の命令が実行されることに注意。 イベントナンバー、あるいは X座標 , Y座標 と 方向 は、マップ上の プレイヤーのはじめの位置と向きを設定。イベントナンバーで指定した場 合、マップ上の指定のイベントがあることが必要。また、数値だけでなく 頭に`@'を付けることを忘れずに。 方向は、上=8、右=6、左=4、下=2で指定。システム変数、`%down'`%left' が利用出来る。また、かける-1 した数値を指定すると、先頭キャラの後、 列になって登場する。  ○ &commenu スイッチ Bボタンを押した時、コマンドのメニューが出るかでないかを選択する。 基本的にコマンドのメニューが出るが、イベントの途中、道具を使われた くない場合など一時的に、メニューを使えないように出来る。また、ただ のフィールドアドベンチャーなど、不必要な場合でも使えないようにして おくことが出来る。 ただし、ゲームの途中で一時的に変更する場合は、その変更中にセーブさ れることのないように注意すること(その状態は記録されない)。 0で使用せず、1で使用すると言うことになる。デフォルトでは1である。 メニューが出ない場合、必ず、 &end で終了出来るイベント(マンイベン トも含む)を用意すること。  ○ &on スプライトの再設定等を行う。また、各ブロックのヘッドエリアでは文字 やキャラの移動デモなど表示のあるものは、この`&on'を実行してから行 うこと。  ○ &patternpal パレットファイル名 モンスターで使用するパレットを設定する。「てぺ」で書かれた.PLTファ イル、あるいは .PALファイルを指定すること。モンスターパターンとの 兼ね合いから基本的に変えることがないものである。ゲームが始まる前、 あるいはコモンブロックに置くこと。  ○ &partyin パーティキャラナンバー 指定のパーティキャラナンバーをパーティに追加する。仲間に出来るか確 認してから実行すること。  ○ &partyitemin アイテムナンバー アイテムをパーティの持ち物に追加する。まだ持てるかどうかを確認して から行うこと(参照→§システム変数,%rasthaveitem)。  ○ &partyitemout アイテムナンバー パーティの持ち物から指定のアイテムを無くす。もっているかどうかを確 認してから行うこと(参照→§システム変数,%haveitem(n) )。  ○ &partyitemset アイテムナンバー[,アイテムナンバー[,アイテムナンバー]] パーティの持ち物を設定する。アイテムナンバーはアイテム名を書くこと も出来る(参照→§数値)。 &partyitemset 0 と、すれば持ち物はなくなることとなる。  ○ &partymove 向き [, 向き [, 向き [, .... ]]] パーティを指定通りに勝手に移動させる。向きは以下の通り。    (上)    8 (左)4+6(右)    2    (下) マイナス値なら方向転換のみ行う。途中なにがあっても突き抜けて歩くの で注意。 ex) &partymove -%up,%up,%up,-%left 上に向きを変え、2歩上に進み、左に向きを変える。  ○ &partyout パーティキャラナンバー 指定のパーティキャラナンバーをパーティからいなくする。そのキャラが いるかどうか確認してから行うこと。  ○ &partyset パーティキャラナンバー[,パーティキャラナンバー[,...]] パーティのメンバーを設定。最大4人まで。また、同じ数値は禁止。  ○ &partyspeed 速度 速度は 1 か 2 でパーティの動く速度である。1が遅く、2が速い。町で は2、フィールド、ダンジョンでは1など使い分けも可能。  ○ &pause ボタンが押されるまで待つ。ボタン待ち表示はされないので注意。  ○ &pcm PCMナンバー PCMナンバーのPCMをならす。そのナンバーは必ず %PCM(n) で設定 しておくこと。  ○ &reset 再び[START]ブロックから実行し直す。グローバル変数などシステム変数 も初期状態に戻る。イベント内で使う場合必ずプレイヤーに確認をさせる こと。  ○ &rts サブルーチンから戻る。 (参照→§命令,&jsr)  ○ &save スタートイベントナンバー [,X座標,Y座標[,方向]]  ○ &save スタートイベントナンバー [,イベントナンバー[,方向]] 冒険の記録をさせることが出来る。REIQA.x ではメニューでセーブがない ので、マンイベントかイベントでセーブポイントを設けることになる。 ロード後、指定のイベントナンバーが実行される。このイベントはマップ 上に用意されていないもので構わない。このイベントでは「おかえりなさ い」など書かせればいいだろう。座標は、`&move'などと同じである。省 略した場合、現在の場所から再びスタートする。ロードしたら位置が変わ る、と言うことも可能である。  ○ &se SEナンバー SEナンバーの効果音をならす。そのナンバーは必ず %SE(n) で設定して おくこと。  ○ &sppmappalb 境パレットブロックナンバー マップのパレットとスプライトのパレットはたった15パレットブロックで 書くことになる。その境パレットブロックナンバーからはスプライト用の パレットブロックと宣言するためのもの。`&mappal'でパレットを読んで もそれ以降は書き変わらない。  ○ &spppal パレットファイル名 人などスプライトで使用するパレットを設定する。「てぺ」で書かれた .PLTファイル、あるいは .PALファイルを指定すること。スプライト用の パレットであり、一度設定したら基本的に変えることが難しい物である。 ゲームが始まる前、コモンブロックに置くこと。  ○ &sppsp スプライトファイル名 人などで使用するスプライトを設定する。「てぺ」で書かれた.SPDファイ ル、あるいは .SPPファイルを指定すること。スプライトは、一度設定し たら基本的に変えることが難しい物である。ゲームが始まる前、コモンエ リアに置くこと。  ○ &switch 数値 {...} 数値と同じ値をもつ&case文の後を実行する。同じ値がなく&default文が あれば&default文の後を実行する。&default文もなければ&switch構文を 抜けます。 ex) &switch 数値1 { &case 数値2: <1> &break &case 数値3: <2> &default: <3> } 数値1と数値2が同じなら<1>が実行される。数値1と数値3が同じなら<2> と<3>が実行される。両方違うなら<3>が実行される。  ○ &wait 数値 数値/100秒の待ちが入る。 ========================================================================== ========================================================================== § 表示文字列 `!'に続く文字列、メッセージウィンドウ内に表示されるものである。全角のみが 表示可能で半角はコントロールコードとなっている。半角表示は出来ない。 : ; 改行する。もし一番下ならスクロールする。次の文字の表示は : の場合次の行の1文字目に、 ; の場合は少し右になる。 p ▼を点滅させてトリガー待ちをする。 q 表示無しでトリガー待ちをする。 w 0.5秒のウェイトする。 g ゴールドウィンドウを表示する。 c メッセージウィンドウを閉じる。 o(数値) メッセージウィンドウを開く。数字を省略するとパーティのスプ ライトの表示位置により自動に上か下かにメッセージウィンドウ が開く。数字が0なら上、1なら下に開ける。 !(数値) 数値だけ単純にウィンドウ内をスクロールアップさせる。数値を 省略すると1になる。 j(数値) 文字の色を設定する。 0;白 1;赤 2;黄色 |(数値) パーティキャラの名前を表示。 s(数値) 1文字毎になる効果音ナンバーを変更する。システム変数`%msound' も変更される。 b(数値) 文字速度を変更する。単位は 1/100s。システム変数`%mspeed'も 変更される。 f(数値) 数値を文字列にし表示する。 i(数値) 数値のアイテムナンバー名を表示。 m(数値) 数値の魔法ナンバー名を表示。 (数値)は必ずカッコで括ること。 ひで(TNB製作所) (EOF)