TRLE Level BOX
This Site is an unofficial site by NGLE fan.

NGLE講座

■Elevator=

サンプルレベル

http://www.trlevelmanager.eu/download/elevator_detectors.zip

構文

Elevator=ElevatorIndex, ClickFloorDistance, NumberOfFloors, Elevator flags(EF_...), FirstDoorIndex, InnerKeyPadIndex, Speed, Frame items array

記述場所

[Level]セクションで使用します。

インスタンスの最大値

レベルセクションの最大インスタンス数:20

使用例

;インデックス8番のElevatorに、12クリックの高さで、3階で、
;内部キーパッドを持ちマルチドアで、ドアのインデックスは23で、
;キーパッドのインデックスは22で、スピード20で、インデックスは24のアイテムを設定する。
Elevator=8, 12, 3, EF_INNER_KEYPAD+EF_MULTI_DOORS, 23, 22, 20, 24

機能概要

エレベーターを設定します。

記述時の注意点・備考

エレベーターやエレベーター用アイテム(キーパッド、シングルドア、チェーン、衝突パネルなど)をプロジェクトに配置する場合、エレベーターは1階になければなりません。
ゲームで別の階にエレベーターを行かせたい場合は、エレベーターのFLIPEFFECTトリガを使用して希望のフロアに移動できますが、プロジェクトでは常にエレベーターが1階にある必要があります。
フロアの最大数は10です。10階のフロアはキーパッドに値「0」が入力されて選択されます。
異なるこのコマンドに応じて異なるモードで稼動するエレベーターを、1レベル20台まで持つことができます。

各フィールドの説明

ElevatorIndex
このフィールドには、Elevatorアイテムのインデックスを入力します。
インデックスとはマップでオブジェクトを選択し、黄色の枠の中にある数字です。
ClickFloorDistance
このフィールドには、各フロアの高さをクリック数で入力します。
例えば、1つのフロアの高さが12クリックである場合、このフィールドには「12」と入力します。
NumberOfFloors
このフィールドには、このエレベーターのフロア数を入力します。
例えば、3を入力すると、エレベーターは3つのフロアを移動します。
ElevatorFlags
このフィールドには、EF_フラグを入力します。
NG_Center【Reference】タブのEF_フラグも参照してください。
「+」記号で追加した1つ以上のフラグを入力するか、または値の合計を直接入力します。
ただし、いくつかのフラグは、マルチドアやシングルドアのように同時に使用することはできません。
現在、次のフラグがあります。
EF_MULTI_DOORS($0001)
このフラグは、どのフロアの前にもドアを設定します。
このフラグを設定して、FirstDoorIndexに1階のドアのインデックスを設定するとどのフロアの前にもドアを設定することができます。
ゲームエンジンの管理は非常に簡単です。エレベーターがフロアに着くと、そのフロアのドアが開かれます。エレベーターがフロアを離れると、そのフロアのドアは閉じられます。
マルチドアを使用する場合は、ClickFloorDistanceフィールドで設定した垂直距離と同じ距離にドアを配置することが重要です。なぜなら、異なる距離にドアを配置していると、TRNGはドアを見つけられないからです。
普通に各フロアにエレベーターが止まるのと同じ高さに各ドアを置きます。
EF_SINGLE_DOOR($0002)
このフラグは、エレベーターの動きに応じて上下に移動するドアを設定します。
シングルドアモードを使用している場合は、EF_MULTI_DOORSフラグは設定できません。
シングルドアモードでは、エレベーターはエレベーターケージにリンクされたシングルドアを持ちます。
エレベーターがフロアに達すると、ドアが開きます。ドアが閉じると、エレベーターはフロアから離れます。
このフラグを設定した場合、FirstDoorIndexフィールドにエレベーターの近くに置いたドアのインデックスを入力する必要があります。
備考:
サンプルレベルのANIMATING2スロットにある「偽の」ドアを使用することもできます。
このアニメーションは、シングルドアモードを使用してFirstDoorIndexフィールドにインデックスを設定したドアのように、TRNGによって、水平にスライドして移動します。
このような偽のドアを使用するには理由があります。実際のドアを使用すると、ドアの種類やドアの設置場所によっても異なりますが、TRNGはドアが閉じた時、ドアの前に見えない壁を追加します。エレベーター内に見えない壁が出来るのは不自然なため、偽のドアを使用します。
EF_INNER_KEYPAD($0004)
このフラグは、エレベーター内にキーパッドを配置する設定をします。
エレベーター内にはキーパッドを配置する必要があります。次に、InnerKeyPadIndexフィールドにキーパッドのインデックスを入力します。
SWITCH_TYPE1の実際のキーパッドではなく、サンプルレベルのElevator1.wadまたはElevator2.wadのANIMATING16_MIPにある「偽の」キーパッドを使用してください。
エレベーターにはDUMMYトリガが必要であり、SWITCH_TYPE1のSWITCHトリガと重なりません。
この問題を回避するため偽のキーパッドを使用します。
TRNGによって、偽のキーパッドはSWITCH_TYPE1と同様に動作しますが、それを処理する特別なトリガは必要ありません。
EF_MODE_YO_YO($0008)
このフラグは、エレベーターをヨーヨーモードにします。
このモードでは、
  • エレベーターが無限に上下に動き、フロアで止まりません。
  • ドアを開いたり閉じたりする時間がないので、ドアを使用することはできません。
このモードの興味深い応用例は、エレベーターにララが触れると、殺されます。(エレベーターが下に移動している時にその下にララがいる、またはエレベーターが上に移動している時にその上にララがいて、その上には天井がある。)あるいは、ララが壁を登っている時にエレベーターが触れ(ララは壁に触ることができなくなる)「邪魔」されます。
備考:
  • ヨーヨーモードとストップアンドゴーモードを混在することはできません。
  • ヨーヨーモードにエレベーターを設定すると、フロア数は常に2になり、フロア間の距離はエレベーターが反転する前にカバーする全移動の高さになります。
EF_MODE_STOP_AND_GO($0010)
このフラグは、エレベーターをストップアンドゴーモードにします。
このモードでは、
  • エレベーターは、各フロアに数秒間(ドアが1つなら2秒間、ドアが2つなら3秒間)停止します。
  • ドアを(マルチまたはシングル)配置することができ、さまざまなフロア数を設定できます。
  • すべてのエレベーターのようにララを傷つけるかもしれません。
EF_NONE(0)
フラグを設定したくない場合は、EF_NONEまたはそれに対応する値「0」(ゼロ)を入力することができます。
FirstDoorIndex
このフィールドには、1階のシングルドアまたはマルチドアのインデックスを入力します。
InnerKeyPadIndex
このフィールドには、エレベーター内のキーパッドのインデックスを入力します。
内側のキーパッドを使用する場合は、ElevatorFlagsフィールドにEF_INNER_KEYPADフラグが必要です。
Speed
このフィールドには、エレベーターの移動速度を入力します。
IGNOREと入力すると、デフォルトの速度20を使用します。
スピードについては、この単位がセクターの1/1024であることを忘れないでください。すなわち1024 = 1セクター、256 = 1クリック。
1秒ごとに30回位置が変更されます。
大きなスピード値を設定しないでください。推奨されている最大値は50です。この値を超えると、エレベーターがララに当たったときの衝突計算に問題が発生する可能性があります。
Frame Items array
このフィールドには、エレベーターの動きに応じて上下に移動するアイテムのインデックスを入力します。
オプションであるため、Speedフィールドの後には何も入力しないこともできます。
とにかく、フレーム配列は多くの目的に役立ちます。
例えば、エレベーターの動きをよりリアルにするため、エレベーターの天井の上にチェーンを置くことができます。
サンプルレベルのElevator2.wadでは、ANIMATING5をチェーンとして使用しています。
このチェーンを配置して、エレベーターの移動高さをすべてカバーし、このフィールドにチェーンのすべてのインデックスを入力します。こうすると、エレベーターが動くと、チェーンも動きます。
このフィールドの別の使用法は、目に見えない衝突パネルをエレベーターの周りに配置することです。
サンプルレベルのElevator2.wadでは、ANIMATING1(1x2セクター)とANIMATING1_MIP(1x1セクター:エレベーターケージに小さなドアをセットしたときに使用する)を衝突パネルとして使用しています。
衝突パネルは、エレベーターの周囲に壁がない場合にのみ使用する必要があります。なぜなら、ララはエレベーターケージの壁を通過できてしまうからです。
ヨーヨーモードとストップアンドゴーモードのサンプルで、衝突パネルの使い方がわかります。
衝突パネルをエレベーターケージのドアを除いて、すべての壁に置きます。次に、この衝突パネルのすべてのインデックスをこのフィールドに入力すると、衝突はエレベーターケージが実際に閉じたボックスであるかのように上下に移動します。
このフィールドには約23個のインデックスを配置できますが、衝突パネル用には最大8個しか配置できません。

関連項目

_NEW KeyPad