NGLE機能

Home page: http://www.TrLevelManager.eu/ng.htm(Last updating: 4th November 2016(v.1.3.0.0)


要約

Next Generationについての概要
改訂ノート、2016年 11月
新機能に関する注意
互換性
New Tom2Pcツール
新しい(隠れた)機能
Mesh and vertexメモリー
照明値の変更
新しい Room Infos
テクスチャパネルのスクロール
高速回転解除
サウンドテクスチャマップのバグ修正
隠れたキーボードコマンド
新しいボタン
Room Typeボタン
DMGボタン
Coldボタン
Move Lara Hereボタン
V2d Mapボタン
Vertical Mapで隠れた部屋を選択するには
Vertical Mapで[+][-]Roomボタンを使う
Cardinal Pointsボタン
Exit & Playボタン
Hide Objectsボタン
Advanced Searchボタン
Find Firstボタン
Previous(<)ボタン
Following(>)ボタン
Last Projectsボタン
Backup Projectボタン
Big Texturesボタン
Map Converter
TGAファイルのサイズのみを変更する
すべてのテクスチャを128x128サイズにリサイズ
Rotate Objectボタン
Go Back Old Roomボタン
Goボタン
Settingsボタン
New Upボタン
足場とドアの作成
New Downボタン
New Tunnel Roomボタン
垂直トンネル
水平トンネル
トンネルに関するヒント
トンネルの天井整列
フリップマップしたトンネルルーム
Textureメニュー
Load TGA
Create Floor Triangular Tex
Create Ceiling Triangular Tex
Load Palette
Save Palette
Remove Unused Tail Infos
Clear Room
Clear Floor Selected Textures
Clear Ceiling Selected Textures
Check Integrity Textures
ScreenShotsメニュー
Shapesメニュー
Shapeプロパティ
Pyramids
ピークピラミッド
階段状のピラミッド
Slopes
Grid Walls
Bending Shapes
例 - 傾斜した丸いトンネルの構築
Progressive Bending
Dome Shape
Partial Domes
Textured Domes
Sphere Room
グラウンドシミュレーション
Setting Random Smooth Parameters
3D地形生成のヒントとコツ
Remove Editing from Selection
Helpメニュー
Info About Project
Keyboard Commands
Object IDs for TREP
Check for Updates
About NGLE
Default Level Editor Help
NGLE Help
Revised Level Editor Help
Newウィンドウ
Select Objectウィンドウ
ホットキー
Select Roomウィンドウ
ホットキー
Animation Rangeウィンドウ
ボタン
nUV Ranges
Frame Rates
Sound Textureウィンドウ
Rボタン
Assign Soundボタン
Testボタン
Assign Bumpボタン
[Settings]ウィンドウ
Settings for Spinning and Zoom
TIME:Input
STEP Wide of Movements
Settings for Random Smooth Floor/Ceiling
Effect Type
Limit Height
Changes for Hit
Remove smooth filter
Settings for Mouse Wheel
Lowest Step
Highest Step
Sensitivityフィールド
Disable Acceleration
Global Settings
Save Image Map after output wad
Remove 'autosave.prj' with normal exit
Reload last project at start
Maximize NGLE window at start
Disable Crash Resume System
Disable Memory Extender Patch
Disable New Stand-by System
Don't show tips for hide objectsボタン
Show extra infos in room info panel
Peaked Pyramids
Preview Screen
Bend Type
Auto-Backup
Settings for launch of external programs
Edit External Programsウィンドウ
Add New Programボタン
Change Nameボタン
Change File to Openボタン
Remove Programボタン
Don't minimize NGLE window at start...
Pass to program short path name
Sound Effectウィンドウ
列の説明
Playボタン
Object IDsウィンドウ
フィールドの説明

新しいキーボードコマンド
スクリプトコマンド
新スクリプトコマンド
StaticMIP=
LaraStartPos=
Plugin=
Demo=
#DEFINE
#FIRST_ID
#INCLUDE
AddEffect=
Animation=
AnimationSlot=
AssignSlot=
ColorRGB=
CombineItems=
CRS=
Customize=
CutScene=
Damage=
Detector=
Diagnostic=
DiagnosticType=
Diary=
Elevator=
Enemy=
Equipment=
FMV=
FogRange=
ForceBumpMapping=
ForceVolumetricFX=
GlobalTrigger=
Image=
ImportFile=
ItemGroup=
KeyPad=
LevelFarView=
LogItem=
MirrorEffect=
MultEnvCondition=
NewSoundEngine=
Organizer=
Parameters=
PreserveInventory=
Rain=
SavegamePanel=
Settings=
ShowLaraInTitle=
Snow=
SoundSettings=
StandBy=
Switch=
TestPosition=
TextFormat=
TextureSequence=
TriggerGroup=
Turbo=
WindowsFont=
WindowsTitle=
WorldFarView=
DefaultWindowsFont=
旧スクリプトコマンド
[Language]
[Level]
[Options]
[PCExtensions]
[PSXExtensions]
[Title]
AnimatingMIP=
ColAddHorizon=
DemoDisc=
Examine=
FlyCheat=
FOG=
Horizon=
InputTimeOut=
Key=
KeyCombo=
Layer1=
Legend=
LensFlare=
Level=
Lightning=
LoadCamera=
LoadSave=
Mirror=
Name=
Pickup=
PickupCombo=
PlayAnyLevel=
Puzzle=
PuzzleCombo=
RemoveAmulet=
ResetHUB=
ResidentCut=
Timer=
Title=
Train=
UVRotate=
YoungLara=
Unknown commands
OCBリファレンス
_NEW Animating
_NEW Boats
_NEW Bridges
_NEW Fish Emitter
_NEW Guardian
_NEW Hydra
_NEW Jeep
_NEW Kayak
_NEW KeyPad
_NEW ParallelBars
_NEW Pushable Object
_NEW RollingBall
_NEW SideCar
_NEW Static Objects
_NEW SubMarine
_NEW Switch 1/2/3
_NEW Teeth_Spikes
_NEW Tight-Rope
_NEW WaterfallMist
AI_FOLLOW
Amber light
Animated objects
Baddy 1
Blinking Light
Chain
Clockwork Beetle
Dog
Door Type 1
Door type 2
Door type 3
EarthQuake
Emitters
Enemy Jeep
Falling blocks
Flame Emitter 1
Flame Emitter 2
Flame Emitter 3
Flyby Camera
Guide
Hammer
Helicopter(flying)
Helicopter(Mine)
Horseman
Jump Switch
Lightning conductor
Little Beetles
Locust Emitter
Mummy
Music Scroll's
Pickups Items
Pulley
Puzzle Holes
Raising Block 1
Raising block 2
Scorpion
Sentry Gun
Seth Blade
Skeleton
Smashable Bike Wall
Sphinx(Like a bull)
Steam Emitter
Switch type 7
Teeth Spikes
Trapdoor 1
Troop
TwoBlock Platform
Wall Scarab
Waterfalls
White Light
Wraith 2
付録

Next Generationについての概要

The Next GenerationはPaolone氏によってつくられたパッチライブラリTomb_NextGeneration.dllを進化させたものです。
このライブラリはWinRoomEdit、tom2Pc、tomb4プログラムの機能を拡張したものです。
このライブラリはc:\windows\systemにはコピーされず、TRLEのメインフォルダにコピーされます。
NGの機能にはTomb_NextGeneration.dllで供給されたNext Generationの特殊な機能が必要です。

改訂ノート、2016年 11月

このヘルプファイルは付録にリンクされている今日までに更新されたチュートリアルファイルをまとめたものです。
これらのドキュメントが新しいルームエディタ(NGLE)と直接関連付けられているわけではありませんが、TRNG界に多くの機能と技を加えるには大変重要な情報源です。
付録のリンクはTRNGについて再三更新されてきましたが、NGLE機能ヘルプは少し古く昨年追加したNGLEの多くの新機能については誤りがあります。

新機能に関する注意

NGLE(Next Generation Level Editor)の機能は以前のtomb4.exeでは同じように動作しません。
以下の機能でトラブルが発生しないようにしてください。 新機能を搭載したNext Generation tomb4を短い期間(数ヶ月)リリースしようと思います。
準備中のNG tomb4をリリースすることには議論の余地があると思います。ですが、NGLEは面白い機能(building shapes、crash removing、ビッグテクスチャ)がすでに満載なので、NGLEをリリースすることにしました。
レベル制作コミュニティがこの選択に賛同してくれることを期待します。

互換性

Next Generation Level EditorはこれまでのPRJファイルを読んだり書いたりすることが出来ます。
NGLEによって書かれたPRJファイルには「雪」や「雨」などの部屋の状態を示すフラグが追加されます。
以前のルームエディタでは追加されたフラグは単に無視されます。


NG Tom2Pcツール

image

新しいNext Generation Tom2Pcはレイアウトが以前のtom2pcとよく似ています。
サイズの大きなWADファイルをコンバートすることが出来ます。
備考:v50 project(128x128ピクセルのテクスチャを使うPRJファイル)を使う場合は、NG_Tom2Pc.exeを使用してください。以前のtom2pcは新しいテクスチャマップに対応していません。

2つのコントロールについて。
[Statistics]ボタンはコンバートが終了した後クリックすると、コンバート時のメッセージがTXTファイルとして表示されます。
[Crypt Tr4 files]オプションは、起動時無効になっています。
[Crypt Tr4 files]オプションはNG tomb4でのみ動作可能で、オブジェクトやテクスチャの抜き取りを防ぐことが出来ます。


新しい(隠れた)機能

多くの新しい機能を呼び出すため、ボタンやメニューがあります。
この章ではこれらの面白い機能についてみていくこととします。

Mesh and vertexメモリー

Next Generation WinRoomEditは以前のwinroomeditの4倍のmeshes and verticesメモリーを持っています。広大な空間をプレビューモードでみてもルームエディタが落ちることがなくなりました。
ただし、256MB以上のメモリが必要です。

照明値の変更

照明値の変更は時に退屈な作業です。なぜならボタンをクリックして少しずつしか値が増加しないからです。
新たな照明値(colors、intensity、outなどの)を設定する場合、数値フィールドでマウスの左ボタンをクリックします。すると照明値を入力する画面が表示されます。
image

新しいRoom Infos

いくつかの項目は以前のルームエディタでは隠されて表示されていませんでした。
image
Room Infosは以下の項目が変わりました。

テクスチャパネルのスクロール

マウスホイールをテクスチャパネルで使うことが出来ます。
ノートブックのタッチパッドホイールでは同様のことが出来ませんでしたが、タッチパッドの設定を変更することで出来るようになりました。
以前のWinRoomEditはマウスホイールに対応していなかったので、マウスの左クリックでパネルを移動させていました。

高速回転解除

最近のコンピュータではwinroomeditでのズームや回転が速すぎます。 この問題を解決するため左側の「Shift」キーを押してスピードを落とす機能を追加しました。
左側の「Shift」キーを押しながら、方向キーや「PgUp/PgDown」キーを押してください。
また左側の「Shift」キーと1-9キーの組み合わせで速度を調整することができます。
すなわち:
Shift 1:遅くならない。
Shift 2:より遅く。
....
Shift 9:最遅。
備考:
*テンキー(右側)ではなくフルキー(上側)の数字を使ってください。
*この機能はセーブした後でも継続します。
*デフォルトの機能は3です。
私の環境では数字との組み合わせで違いは感じられませんでした。

サウンドテクスチャマップのバグ修正

以前のエディタではサウンドテクスチャマップのバグにうんざりさせられました。 サウンドテクスチャマップを[Save Texture Snds]ボタンでセーブし、WADを出力する前に[Load Texture Snds]ボタンでリロードする必要がありました。なぜならサウンドテクスチャマップが原因不明のバグでなくなってしまうからです。
このバグはNGLEでは修正されています。もし[Load TGA]でサウンドテクスチャマップがなくなっていたら、Paolone氏まで連絡を。

隠れたキーボードコマンド

すべてのリストは新しいキーボードコマンドを参照してください。


新しいボタン

Room Typeボタン

Room Typeボタンは部屋の状態のボタンです。指定した部屋の状態を以下の順に変更していきます。
備考:上記機能は、Next Generation tomb4エンジンでリリースされたゲームでのみ有効です。

DMGボタン

[DMG]ボタン。ララがこの部屋にいると体力を消耗させます。

備考:上記機能は、Next Generation tomb4エンジンでリリースされたゲームでのみ有効です。

Coldボタン

[Cold]ボタンはRoomTypeボタンにより違った働きをします。もし指定した部屋が水の部屋なら、ララの体力は消耗してゆきます。この部屋では息が白くなります。

備考:上記機能は、Next Generation tomb4エンジンでリリースされたゲームでのみ有効です。

Move Lara Hereボタン

ララを以前いた場所から、指定した部屋の指定したスクエアに移動します。
このボタンを使う前には移動させたい場所を指定しておく必要があります。

V2d Mapボタン

V2d Mapはレベルを真横から見ることができます。
このボタンと[2D Map]ボタンを押すと3Dパネルの背景が黄色になり、レベルを真横から見ることが出来ます。
V2dモードでは接続した部屋を動かしたり、部屋の接続を作成できます。
選択した部屋(赤色で表示)とそれに接続している全ての部屋は、新しい場所へマウスの右ボタンで動かしたりドラッグすることができます。
部屋の接続は作成できないようです。

部屋を選択した後、マウスの右ボタンで3Dパネルの上(部屋が何もない所)をクリックすると、途中までの部屋は透明(黒線のみ)になります。この状態でマウスの左ボタンをクリックして部屋を選択すると途中の部屋が透明になります。(次の図のように)

Vertical Mapで隠れた部屋を選択するには

image
選択した赤い部屋を見てください(図A)。ここで、左にある小さな部屋を選択するとします。現状ではその部屋は隠れて見えないので、マウスの右ボタンで3Dパネルの上(部屋が何もない所)をクリックします。すると部屋が透明になります(図B)。左にある小さな部屋をマウスの左ボタンをクリックして選択するとその部屋が赤くなります。(図C)

Vertical Mapで[+][-]Roomボタンを使う

Vertical Map(3Dパネルで背景が黄色)では[+][-]Roomボタンの動作が異なります。
新しい動作を見る前に以前の動作を説明しておきましょう。
image
2つの部屋が接続している状態で手前の部屋を選択します。(図A)そこで、[-]Roomボタンをクリックすると指定した部屋しか移動しないので、2つの部屋の間に段差ができてしまいます。(図B)
これはこれで、部屋を上げ下げするのには役に立ちますが、接続した全ての部屋を上下させるのは面倒です。
NGLEのVertical Mapでは[+][-]Roomボタンを使って接続した部屋全てを移動させることができます。

Cardinal Pointsボタン

[V2d Map]ボタンの右のボタンでVertical Mapの方位を変えることができます。
方位は以下の図のようになります。
image
備考:上の図は2d mapでの方位を示しています。
Cadinal pointsボタンは、押すたびに方位(北/南/東/西)が変わります。
例えば、上の図をそれぞれの方位から見ると次の図のようになります。
image

Exit & Playボタン

このボタンは以下の一連の操作を自動で行います。
上記オペレーションは全自動で行われます。(入力を促すことさえありません)。 オペレーションが完了すればタイトルレベルの音楽が聞こえるでしょう。

Hide Objectsボタン

使う際には十分注意してください。
[Hide Objects]ボタンで一時的に部屋のアイテム(Moveable、Statics、Effects)を消すことができます。これで床の上にあるアイテムに悩まされることなく、新しいテクスチャを貼ることができます。新しいアイテムを追加する場合は、このボタンを再度クリックして解除します。

備考:
この作業は非常に繊細で本当にマップからアイテムが消えてしまいます。 そういったトラブルを避けるため以下のことはしないでください。

テクスチャを追加、変更する時や床や天井を上下する時だけ使用してください。
Shape効果を適用できます。例えば[Random Smooth Floor]を使い丘を作って、[+][-]Floorボタンでオブジェクトの下の床を上げ下げすることもできます。 違う[Shapes]メニューのコマンドを使っても床を変更することもできますし、床を上下することもできます。

Advanced Searchボタン

[Advanced Search]ボタンをクリックすると検索ウィンドウが開きます。
image
異なるカテゴリのアイテムを検索することが出来ます。 [Search for]からカテゴリを選択し、リストボックスで検索したいものを選択します。

Find Firstボタン

[Find First]ボタンで検索したいものを検索(再検索)します。

Previous(<)ボタン

[<]ボタンで前検索。

Following(>)ボタン

[>]ボタンで次検索。

Last Projectsボタン

過去に編集した(開いた)PRJファイルのリストが表示されます。
PRJファイルは年代順に表示されますが、アルファベット順も可能です。
この機能は過去のプロジェクトにいち早くアクセスできます。Ctrl Lがこの機能のキーボードコマンドです。

Backup Projectボタン

現在のプロジェクトのバックアップを(通し番号をつけて)作成します。プロジェクトは現在のプロジェクトのフォルダと同じフォルダに保存されます。
備考:このボタンで保存されたプロジェクトは[Last Projects]の一覧に表示されません。 このボタンはプロジェクトを保存するのがメインではなくバックアップを保存することが目的だからです。

Big Texturesボタン

image
最大で256x256ピクセルのテクスチャを使う場合、[Big Texture]ボタンをクリックします。
[Big Texture]がハイライト(黄か赤)の時、テクスチャパネルでは128x128のテクスチャを自動的に選択し、マウスの右ボタンを押しながらドラッグして選択すると、256x256のテクスチャを選択できます。
テクスチャを選択する領域は、256x256ピクセルに限られています。このため、選択範囲を256x256ピクセル以上に拡大することはできません。左の画像のようにテクスチャマップが分かれているはずです。
緑色のボックスを選択すると、赤い枠で示された位置でテクスチャが選択できないことがわかると思います。
これにより、幅256ピクセルのTGAファイルを持つことが重要になります。
NG WinRoomEditは512ピクセル幅のTGAファイルでうまくいきますが、512ピクセル幅のTGAファイルを使用している場合は、WinRoomEditをロードした際、256ピクセル幅にTGAファイルが再マップされるためビッグテクスチャをマップに追加できません。 この例では、テクスチャ行はTGAファイルに対して異なる方法でインターリーブされます。
この問題を回避するには、マップを再編成して256ピクセル幅のTGAファイルを作成します。それには、MapConverterユーティリティを使用して設定できます。次の段落を参照してください。

Map Converter

image
Map Converterは、PRJファイルのテクスチャマップを再編成することができます。
Map Converterを使用して、二通りの変換ができます。

TGAファイルの横幅のみを変更する

TGAファイルの幅のみを変更する場合は、ソースフィールドとまったく同じ「64x64」の値をターゲットフィールドとして選択する必要があります。 これでテクスチャは元のサイズ(64x64ピクセル以下)のままですが、TGAファイルは256ピクセル幅に強制的に変更されます。

すべてのテクスチャを128x128サイズにリサイズ

すべてのテクスチャのサイズを変更するには、64x64ピクセルをソースとして、128x128をターゲットとして設定します。
この再マッピングの後、プロジェクトはv50プロジェクト(バージョン50)になります。
v50プロジェクトでは、テクスチャのデフォルトサイズは128x128ピクセルで、アニメーション付きテクスチャとテクスチャサウンドがビッグテクスチャに対応するようになります。

備考:

Rotate Objectボタン

このボタンを使用すると、選択したオブジェクトをマップ内で回転させることができます。
小さなオブジェクトではマウスポインタで選択して回転させるのが難しいため、これは非常に便利な機能です。Ctrl Fキーボードコマンドを使用してオブジェクトを回転することもできます。

Go Back Old Roomボタン

NGLEには部屋間を素早く移動する新しい方法があります。
部屋を編集するたびに、その部屋のインデックスがチェックマークとして円形リストに保存されます。
円形リストの編集済みの部屋に移動するには、このボタンをクリックするか、ショートカットGを使用します。
最後に編集した10の部屋が保存されます。
この機能を処理するためのその他のキーは次のとおりです。

Goボタン

[Go]ボタンはコンボリストから選択した外部プログラムを起動します。 外部プログラムの左にあるキーボードコマンドを使って起動させることもできます。
プログラムリストを作成するには[Settings]ボタンをクリックします。(以下を参照)

Settingsボタン

NGLEの設定は全て[Settings]ウィンドウで行います。 Shift F2でも[Settings]ウィンドウが開きます。

New Upボタン

[New UP]ボタンは、現在の部屋の真上に新しい部屋を作成します。
デフォルトでは、このコマンドは現在の部屋の真上に新しい部屋を接続して作成します。
新しい部屋の高さに負の値を入力して、接続の作成を無効にすることができます。

足場とドアの作成

接続を自動的に作成できるので、素早く足場や部屋の接続(ドア)を作成できます。
image
足場を作成したい場合は、足場を設置する天井を下に移動させ、[New Up]ボタンを使用して足場を作成することができます。
例えば、上の図c1では、天井を選択し、[-]Ceilingをクリックして選択部分を下に移動しました。
次に[New Up]ボタンをクリックするだけで、現在の部屋の2階に新しい部屋が接続され、2つの部屋の間の足場が作成されます。(図c2)
自動接続を使用して、特定のドアを希望の位置に作成することもできます。
image
特定の場所にドアを作成するには、ドアになるスクエアを上に移動します。
スクエアを選択して[+]Ceilingをクリックし(図n1)、 [New Up]をクリックして、希望のドアを持つ新しい二階の部屋を作成します。(図n2)

New Downボタン

[New Down]ボタンは、現在の部屋の真下に新しい部屋を作成します。
New Upボタンのように、新しい部屋が現在の部屋に接続されます。 いずれにしても、足場を床の上か下か、またはドアを床の上か下に作成するかで使い分けてください。
(新しい部屋は真下の部屋になるので)作成される足場やドアは[New Up]ボタンとは逆になります。image
[New Down]ボタンで足場を作成するには、[+]Floorを使用して、足場を作成したいスクエアを選択し、上に移動する必要があります。(図a1)
次に、[New Down]ボタンを使って真下に新しい部屋を作成し、足場を作成します。(図a2)
image
特定の場所にドアを作成するには、ドアになるスクエアを下に移動します。 スクエアを選択して[-]Floorをクリックし(図b1)
[New Down]をクリックして、希望のドアを持つ新しい地下の部屋を作成します。(図b2)

New Tunnel Roomボタン

このボタンは、現在の部屋に接続された新しい部屋を作成し、それによって垂直または水平のドアを作成にします。
[New Up]ボタンと[New Down]ボタンと同じように動作しますが、任意のサイズのドアを任意の場所に作成することができます。
[New Tunnel Room]ボタンは、現在選択されているスクエア(セクター)に応じて新しい部屋を作成します。

垂直トンネル

現在の部屋の指定された位置に垂直トンネルを作成するには、希望する床のスクエアを選択し、[New Tunnel Room]をクリックします。
image
NGLEは新しい部屋(トンネル)の高さが必要です。縦の部屋の場合、高さはクリック数です。1スクエア = 4クリックを忘れないでください。
垂直トンネルについては、高さを設定するために使用される数字は、トンネルの方向を設定します。
例えば、天井からの垂直トンネルを設定するには、正の数を高さに設定します。下の画像を参照してください。
image

水平トンネル

水平トンネルでは、トンネルの長さと高さを入力する必要があります。下の画像を参照してください。
image

トンネルに関するヒント

デフォルトでは、トンネルの床は現在の部屋の床と一致しますが、トンネルの開始点を変えることができます。
image
新しいトンネルの床は、選択した壁の床のグリッドに合わせられます。
床のグリッドは、壁を選択して[+]Floorボタンをクリックすると移動する線です。
上の図d1では、壁の床のグリッドは部屋の床から6クリックの高さにあります。図d2では、グリッドが設定された位置からトンネルがどのように始まるかわかると思います。

床のグリッドが非常に高い場合は、壁のドアが現在の天井と揃うようになります。天井よりも高いトンネルを作成すると、図e2のように新しいトンネルルームが作成されます。

image

トンネルの天井整列

図e2のような結果とは逆に、床のグリッドではなく天井のグリッドと合わせて新しいトンネルを作成するのは少し難しいです。
image
すでに説明したように、デフォルトでは、新しい水平トンネルは、選択した壁の床のグリッドに沿って作成されます。
天井のグリッドに沿って作成したい場合は、以下の操作を実行する必要があります。(上記Fの図を参照)
より一般的なものにも天井整列を使用できます。
image
例えば、現在の部屋の天井と同じ天井のトンネルが必要な場合は、壁の天井のグリッドを移動させずに、選択した壁に下向きの白い矢印を表示させトンネルを作成するだけです。(上記画像参照)

壁の床や天井のグリッドの位置が異なる、2つ以上の壁を選択するとどうなるか。画像を参照してください。

image
NGLEは最初に選択した壁の床や天井のグリッドのみを読み込みます。 実際には、選択した左上の壁の床や天井のグリッドをチェックし、他の選択された壁は無視します。

[New Up]ボタンと[New Down]ボタンで作成された積み重ねられた部屋のように、トンネルボタンを使用して現在の部屋と同じサイズの別の部屋を作成することもできます。

image
部屋のすべての壁を選択すると(図h1)、完全に接続された新しい部屋が作成されます。(図H2)

フリップマップしたトンネルルーム

フリップマップした部屋(背景が黒)で作業しているときは、[New Tunnel Room]を通常の部屋として使用できます。下の図を参照してください。
image

[New Tunnel Room]は、上記のサンプルと同じように動作しますが、この場合、NGLEで2つの部屋を作成したことを覚えておく必要があります。メインの部屋とフリップされた部屋と2つの新しい部屋が作成されます。そして、フリップされた部屋で作成した新しい部屋は、またフリップされている必要があります。


Textureメニュー

この章では[Texture]メニューのコマンドについて説明します。
[Texture]メニューはTRLEにもありましたが、いくつか追加されたものがあることに注意してください。

Load TGA

以前のレベルエディタと同じです。TGAファイルをロードします。

Create Floor Triangular Tex

このコマンドを使用すると、テクスチャのない三角形がある選択されたスクエアを自動的に修正してくれます。
この操作は2つの三角形によって分割されたテクスチャのうち、一方のテクスチャが貼られていない場合のみ有効です。
どういう事か例をみてみましょう。
image
ここでは、テクスチャ付きの床(図A)を使用して、ステップの1つのコーナーを持ち上げて編集します。(図B)

テクスチャの無い(新しい)三角形が出来、既に貼られているテクスチャは間違った方向を向いています(図C)。

image
この問題を解決するためスクエアを選択し(図D)、[Create Floor Triangular Tex](Shift F3)コマンドを実行します。すると、三角形のテクスチャは正しい向きになります。(図E)
image

Create Ceiling Triangular Tex

このコマンドはCreate Floor Triangular Texと同じように使用します。このコマンドは天井にある三角形のテクスチャに対して使います。

備考:
場合によっては、復元されたテクスチャの向きが間違っていることがあります。これは、上記のコマンドを行う前に、同じスクエアで何度か編集した場合に発生します。

Load Palette

これは以前のコマンド[Load Depth Cue]ですが、名前が変更されて理解しやすくなりました。
パレットは256色のシーケンスで、各色は24ビット(RGB)です。このパレットはTOMファイルにコピーされてからTR4ファイルにコピーされ、ゲームが256色に動作するときに使用されます。

Save Palette

これは以前のコマンド[Save Depth Cue]です。名前が変更されただけでわかりやすくなりました。

Remove Unused Tail Infos

タイルインフォは、部屋の面に貼る各テクスチャの座標とサイズに関する情報を記録しています。
ルームタイルインフォの最大数は1024です。以前のレベルエディタはタイルインフォの管理が悪く、多くのタイルインフォレコードの無駄が生じていました。仮に問題が発生するのは、(部分的なテクスチャが、v49プロジェクトでは標準ピクセルサイズが64ピクセル、v50プロジェクトでは標準ピクセルサイズが128ピクセルであることを考慮しないため)テクスチャを貼った時や、[Clear Room]でテクスチャを削除した時や、他の異なるテクスチャを貼った時です。 このような状況では、古いタイルインフォは削除されません。このため、使用されたタイルインフォ(Room Infoパネルに表示される)の数は常に増えていきます。
このコマンドは、古い未使用のタイルインフォを削除します。
備考:このコマンドは非常に複雑な操作を実行するため、使用する際には注意が必要です。
このコマンドを開始する前にプロジェクトを保存してください。
次に、コマンドを適用して、別の新しい名前でプロジェクトを保存します。
今度はすべてをチェックしてください。[Check integrity textures]を使うことができますが、[Find untextured]とWADの出力も実行する必要があります。
すべてが正常に機能していると確信した場合にのみ、レベルを編集することができます。

Clear Room

このコマンドは以前のレベルエディタのコマンドです。現在の部屋からすべてのテクスチャを削除します。このコマンドには元に戻す機能はありません。

Clear Floor Selected Textures

このコマンドは、元のコマンドTexture -> Clear Roomと同じ様に機能しますが、この新しいコマンドではテクスチャを特定の選択範囲だけ削除することができます。
このコマンドは、現在の選択矢印に従って異なる操作を実行します。本当に重要なのは矢印の特定の方向ではなく、矢印の「種類」だけで、3つの異なる作業モードを設定することです。(次の表を参照)

クリアテクスチャの作業モード

矢印
作業モード
image 選択に矢印がない。
選択に矢印がない場合、コマンドは、テクスチャを上面のみ削除し、側面は保持します。
すでにテクスチャが貼られている壁に接続するセクタでクリアなテクスチャを使用する場合は、このモードを使用してください。
image 選択に横の矢印。
選択に横の矢印がある場合、コマンドは上面のテクスチャと側面のテクスチャをクリアします。
不規則な床からテクスチャを取り除きたいときにこのモードを使うことができます(丘や山のような)
image 選択に対角線の矢印。
選択に対角線の矢印がある場合、コマンドは上面を変更せず、側面のみを変更します。
壁のテクスチャをクリアするのに便利。

重要な注意点:
テクスチャに関するルームエディタの内部フォーマットはちょっと複雑なので、このコマンドを正しい方法で使用するには、このフォーマットを理解しておく必要があります。
次の図のように(例えば)1つの四角形を選択すると、一回の[Clear Floor Selected Textures]コマンドですべてのテクスチャを削除することはできません。その理由は、単一のセクターが、上面および2つの側面(4つではない)の情報を保持するためです。すなわち、西の側面および北の側面です。
image
この制限は、南と東の側面が無視されるため、上の立方体のすべての側面を削除できなくなります。
東のテクスチャもクリアするには、立方体の東側でセクターを選択する必要があります。上の図では「B」と書かれています。
同様に南のテクスチャをクリアするには、立方体の南側でセクターを選択する必要があります。上の図では「A」と書かれています。
これらの疑問を解決するには、すべてのフロアを選択するだけです。もちろん、一部のテクスチャをクリアし、他の連続したセクターを保持したい場合は、この制限を理解することが重要です。
例えば、壁のテクスチャをクリアし、床のテクスチャを保持したい場合は、壁の基準位置に応じて異なる方法を使用する必要があります。
次の画像シーケンスでは、床と天井のテクスチャを保存して部屋の4つの壁をクリアするために、選択する四角形と使用する選択の種類を、壁の基本的な位置に従って表示します。
image
北と西の壁をクリアする必要があるときは、実際に壁を選択する必要はありません。かわりに壁に近い正方形を選択し、対角線の矢印を表示させ上面を保存して側面にのみ動作するようにします。
北と西の壁が異なる状況(壁に異なる面のグリッドが含まれている場合)では、[Clear Floor Selected Textures](Alt F9)と[Clear Ceiling Selected Textures](Alt F10)の2つのコマンドを実行する必要があります。

それとは違って、東と南の壁のテクスチャの方が簡単です。この場合、壁を選択する際には「矢印なし」を選択する必要があります。これらの壁では、[Clear Floor Selected Textures]または[Clear Ceiling Selected Textures]の2つのコマンドを実行する必要はありません。

Clear Ceiling Selected Textures

選択した天井のスクエアからテクスチャをクリアします。
このコマンドは床ではなく天井という違い以外は、上のコマンドClear Floor Selected Texturesと同じように働きます。

Check Integrity Textures

このコマンドは、テクスチャタイルインフォが正しいかどうか確認するため実行します。
[Remove Unused Tail Infos]を使用した後にこのコマンドを使用する必要があります。何らかのテクスチャを貼り、それを上書きして隠れてしまったテクスチャを削除することもできます。
間違ったタイルインフォが見つかると、間違ったタイルインフォが存在する面のテクスチャが削除されます。
全ての間違ったタイルインフォをクリアしたリストが、このコマンドを実行した後に作られるログファイルに表示されます。


ScreenShotsメニュー

[ScreenShots]メニューから、NGLE画面からキャプチャするさまざまな種類を選択できます。
スクリーンショットは非常にコンパクトなビットマップ形式であるRLE8(*)形式で保存されます。多くの場合、BMPファイルはJPGファイルとして保存された場合よりも小さくなります。
このBMP形式の品質が悪くなる唯一のケースは、プレビューゾーンでスクリーンショットをキャプチャする場合です。このため、[Preview Zone RGB]もあります。RGBビットマップはより大きなサイズを持ち、色の品質は完璧です。
ビットマップを使用すると、スクリーンショットをフォーラムやWebサイトにアクセスして直接投稿することができます。
このhtmlページのすべてのスクリーンショットは[ScreenShots]メニューで作成されています。

(*)RLE8:256パレットカラー、8ビット、圧縮の損失なし。


Shapesメニュー

image

Next Generation WinRoomEditには、多くの新しいコマンドが追加された[Shapes]メニューが追加され、レベルビルディングで使用される最も一般的な図形を迅速かつ簡単に作成できます。
すべての図形は[undo]コマンドをサポートしています。

Shapeプロパティ

Shapeプロパティ

Shapeは「増分」効果になる可能性があります。つまり、この効果を適用するたびに高さが増します。
他の形状は、「累積」効果であってもよく、すなわち、現在の床(または天井)にそれらの効果を加えていきます。これとは異なり非累積形状効果は、選択した床(または天井)に上書きされ、以前の編集は削除されます。
Shape Type
増分
累積
Slope Shape YES YES
Pyramid Shape YES YES
Smooth Random Effects YES YES
Bending Effects YES NO
Dome Shape YES NO

image

Pyramids

凸面または凹面のパターンで、床または天井にピラミッドを作成できます。
ピラミッドはプログレッシブビルディングモードを使用します。コマンドを1回押すたびにピラミッドが1クリック高くなります。このようにして、目的の高さに簡単にすることができます。


ピークピラミッド
バージョン1.0.9.6のNGLEから[Settings]ウィンドウで[Peaked Pyramids]オプションを設定すると、ピークに達したピラミッドを作成できます。下の図を参照してください。
image

上記の画像では、一般的なピラミッド(左)とピークピラミッドの(赤色の右側)の違いを確認できます。
注:ピークピラミッドは、床でのみ動作します。天井の場合は、(ピークピラミッドを作るための)分割された三角形が残念ながら使用できないからです。

階段状のピラミッド
デフォルトではすべてのピラミッドは滑らかですが、トリックを使用して階段状のピラミッドを作成することもできます。
階段状のピラミッドが必要な場合は、以下のように選択部を白い矢印にします。矢印がどの方向を指しているかは重要ではありません。
一般的なピラミッド効果を適用すると、ピラミッドに階段が追加されます。
image

Slopes

image
スロープは、最も一般的な建築作業の1つです。床または天井に滑らかな、またはステップ状の斜面を作成できます。
スロープは、スロープが形成される方向を決定するために白い矢印を必要とします。床の斜面は矢印の方向に上昇し、天井の斜面は下ります。

Grid Walls

image
グリッドは壁により多くのテクスチャを貼るための新しいセクションです。 このグリッドは高い壁にテクスチャを貼る際、テクスチャが伸びるのを避けるために役立ちます。
特定の壁や部屋の全ての壁にグリッドを作ることができます。 選択した壁に作るには[Grid select wall](F11)を、全ての壁に作るには[Grid All Walls](F12)をお薦めします。
グリッドは現在の部屋に応じて作られます。 特定のグリッドをなくしたい時は[Remove editing from selection](Ctrl F11)を使います。 このコマンドで床/天井の変更点(ブロックの上下、角の傾斜)が全て削除されます。

Bending Shapes

image
曲がった床や天井を作るのは難しく時間のかかる作業です。
Next Generation WinRoomEditでは多くの曲がった建築物を容易に作成することができます。
スロープやピラミッドと違い、曲がった効果は増加的ではありません。これは現在の選択幅に応じて予め固定された曲率で作成されます。

例-傾斜した丸いトンネルの構築

ここに、異なったShape効果が混ざったサンプルがあります。
この複雑な建築物を作ってみましょう。
image
これは滑らかで湾曲した床と天井を持つ傾斜したトンネルです。
備考:次の方法は必ずしもこの部屋を作る唯一の方法ではありませんが、最も簡単です!

1)サイズ 18 x 4の部屋を作ります。
image
2)天井全体を選択し、天井を([+]Ceilingで)40クリックの高さに達するまで上げます。
image
壁面の明るい緑色と暗い緑色の間のラインに注意してください。このラインは、次の操作の基準線になります。

3)床全体を選択し、白い矢印を下の図のようにします。
image
4)[Shapes]メニューから[Inverse Bend Floor]を適用します。次に、選択した床をクリックして、白い矢印を次の方向に移動します。
image
5)今度は[Smooth Slope Floor](Ctrl F1)を適用します。下に示すように、床は基準線の1クリック下でトンネルを勾配させる必要があります。(備考:基準線より上に行った場合は、[Undo]ボタンで前の高さに戻ることができます。)
image
6)今度は天井に同じ操作をします。
[Bend Ceiling]を適用し、下に示すように白い矢印を移動します。
image
7)[Smooth Slope Ceiling](Ctrl F3)コマンドを使用し、天井を基準線の1クリック上にします。
image
8)トンネルは完成しましたが、トンネルの高さのサイズを変更してより丸みのある形にすることができます。
天井を選択して白い矢印を消し、希望の形状になるまで[-]Ceilingをクリックします。
image

Progressive Bending

バージョン1.0.8以降、NGLEではプログレッシブ曲げが可能です。
「プログレッシブ」とは、コマンドを何度も実行(ヒット)してサーフェスに効果を追加できることです。
下の画像では、以前の固定曲げ(g1)と2つのプログレッシブ曲げ(g2)の例を見ることができます。
image

固定曲げの利点は、レイアウトが良好になるように予め作成された(ちょうど1回のコマンド)曲げをすばやく作れることです。プログレッシブ曲げを使用すると、曲げの度合いを選択してターゲットに合わせることができます。

[Settings]ウィンドウでは、曲げ効果に使用する方法を変更できます。
固定曲げと2つのプログレッシブ曲げのどちらかを選ぶことができます。円の機能に基づいたものと放物線の機能に基づいたもの。
下の図は2つのプログレッシブ曲げの違いを表しています。
image
円形の湾曲の上には、床から半分以上の円を「押し出す」ことができないので、裾に限界があります。
円の半分に達すると(上の画像ではh1)、それ以上のCtrl 1(曲げコマンド)は無視され、限界を知らせるため「ビープ音」が鳴ります。

放物線の機能(上記の画像ではh2)を使うと、放物線が無限に高くなる可能性があるので、この問題はありません。

備考:ララが上を歩ける曲がった表面のある奇数のセクターより、偶数のセクターの方が、プログレッシブ曲げには適しています。

Dome Shape

ドームは、床や天井に押し出す(または押し込める)半球です。
完全なドームが必要なときは、常に完全な正方形(選択したxとyが同じサイズ)を選択して作成する必要があります。
image
ドームはプログレッシブ効果なので、[Dome Floor]コマンド(Ctrl 5)を何回もつかって天井を高くできます。
半球だけを押し出すことはできますが、他のドームコマンドを実行しようとすると、これは無視され、ビープ音が鳴り、注意をうながします。

備考:選択範囲が偶数のセクターの場合、ドーム効果が効果的に機能します。

Partial Domes

選択されたエリアの矢印を使って部分的なドームを作成することができます。
矢印を使用すると、通常とは異なるドームを作成できます。この場合、最も長い辺が球の直径として使用されます。
矢印の方向は、部分ドームの基部を示します。下の画像を参照してください。
image
部分ドームを使用すると、同じ形を作ることができます。
以下の図では、2つの部分ドームに曲げ効果が混在して使用されています。
image
矢印の方向が選択部分の最長側と同じだと、ドームの中央部分が得られます。(下の図参照)
image
結果は曲げ効果とよく似ていますが、ドーム効果と一般的な曲げには違いがあります。ドーム効果は球面をたどるように多くの傾斜軸を持ちますが、一般的な曲げは一方向のみに作用します。

対角線の矢印を選択すると、ドームの角が得られ、ドームの直径は選択部の最長の面に2を乗じたものになります。
下の画像を参照してください。

image

Textured Domes

image
NGLEでドームを作成するには、球の機能に応じて床を変形しなくてはなりません。
画像a1を見ると、多くのセクターが三角形に分割されていることがわかります。新しい三角形が、ドームのような丸い形を作るには必要です。とにかく、この不規則な床は、(単色でも不規則なパターンでもない)テクスチャを貼るときには問題になる可能性があります。
上記の問題を回避する良い方法は、フロアがまだ「平ら」(すべて四角形で三角形なし)の時、床にテクスチャを貼り、その後にドーム効果を適用することです。
NGLEでは、新しい三角形のすべてのテクスチャを正しい方法で再構築することができます。(下図を参照)
image
したがって、常にこのヒントを覚えておく必要があります。ドームや滑らかなランダムな床など、三角形を作成する床を変更するコマンドを使用する場合は、最初に床にテクスチャを貼ってから効果を適用する必要があります。
このようにして、多くの時間を節約できます。

Sphere Room

ここまで最も一般的なドーム効果について話しました。床から半球を突き出していました。とにかく、ドーム形状を使って床にドームを突き刺したり、天井にドームを押し込んだりすることができます。
上記のドームのいくつかを接続すると、すてきな部屋を作成することができます。例えば、球体の部屋を作成することができます。
image
球体ルームを作成する簡単な方法は、床全面に[Inverse Dome Floor](Ctrl 6)を適用し(図a1)、天井全面に[Dome Ceiling](Ctrl 7)を適用することです。(図a2)
今度は、天井を移動して完全な球体を作成します。(図a3)
ララは球体の部屋に出入りすることができます。この球体の部屋を他の部屋と結びつけるために、口径の小さいトンネルを追加するだけです。
球形を外から見えるようにするには、球体の部屋で[Double Sided]のテクスチャを使用し、球面の近くの部屋の壁に透明なテクスチャを使用する必要があります。
球面の部屋の[Double Sided]と(一部の)[Transparent]のテクスチャを使用して、野外からルームの球形だけでなく中身も見ることができるでしょう。

グラウンドシミュレーション

街路、寺院、家などを構築するには(上記でみた)多くのShapeがありますが、自然の構造を構築する場合、これまでの[Shapes]はほとんど役に立ちません。
しかし、Next Generation WinRoomEditには、現実的な自然環境を簡単に作成する新機能があります。
[Shapes]メニューには、丘や山岳地帯を作成するためのコマンド:[Random Smooth Floor]と[Random Smooth Ceiling]コマンドがあります。
これらのコマンドは、以下のパラメータを使用して動作します。[Set Random Smooth Parameter](Shift F2)

以前の[Random Floor]から[Random Smooth Floor]で改良された点

これをより理解するには、以前のTRLEの方法とNGLEの方法の違いを理解する必要があります。
比較のためにこのテクスチャ付きの床を使用します。
image
以前の[Random Floor Up]を適用すると、これは醜い結果になります。
image
[Random Smooth Floor](Hillsを設定して)を適用すると、良い結果を得られます。
image

Setting Random Smooth Parameters

[Settings]ウィンドウで Random Smooth Parametersの設定を見ることができます。
以下はwww.tombraiderforums.comからの情報です。
1 =Mountains(0 =Hills)
Mountains効果は、より多くの高さとシャープなアウトラインを作成します。通常、ララが地図の端に迷い込むのを防ぐために、周辺地域に山を使用します。
2 =Limit height within room height
デフォルトでは、ランダムエフェクトは無制限にフロアを高くします。これは、床が天井を通過できることを意味します。垂直ポータルに接続された部屋では問題ありませんが、他の部屋ではランダムエフェクトの最高値を現在の部屋の高さに制限したい場合があります。
4 =Changes for hit
山または山を生成するアルゴリズムは、床または天井への連続した変更か一回の変更に基づいています。この設定を使用して、標準の変更を許可するか、この変更量を変更することができます。
8 =Remove Smooth filter
スムージングが新しいランダムフロア機能の最高の機能であるにもかかわらず、場合によっては断片化した地形を持つことを望むかもしれません。滑らかな効果を削除するには、ランダムな滑らかなパラメータに8の値を追加します。
16 =ヒットの変更が少なくなりました。
「Changes for hit」(上記参照)と同じ効果がありますが、この場合はデフォルトの変更回数を減らすことができます。

3D地形生成のヒントとコツ

image
[Random Smooth]コマンドは、白い矢印を使用して、矢印の方向に変化を大きく増加させます。 左のMountains効果を使用した画像では、山の生成がランダムなので、増分が実際には規則的ではないことがわかります。しかし、矢印の方向にゾーンの左側に向かって最も高い高さを得ます。
image
より緩やかな丘の上昇を望むなら、白い矢印を使用せず、むしろ2つの異なるShape効果を混合してください。まず、スムーズなスロープを作成してゾーンを準備し、次に、(上の図のような丘を持つ)スロープに[Random Smooth Floor]効果を適用します。
image
部屋の中心に山を望むなら、[Pyramid Floor]とMountains効果を混ぜて作ることができます。上の画像では、小さな山の端を滑らかにするHills効果も適用されています。
image
Hills効果は単独でもうまくいきますが、砂丘のようなフロアが必要な場合は、代わりに直角ピラミッドと逆ピラミッド(高さが数回のクリック)を配置してゾーンを準備し、 Hills効果にchanges for hitを少なめに適用します。
上の画像はゲームでのララの眺めを理解することを許可していません、それはとてもいいです。
image
特定の方向にララへのアクセスを制限したい場合は、Mountains + Limit height within room height + Changes for hit(値= 7)という[Settings for Random Smooth]での効果を使用できます。このようにして、世界の果てに高い自然の山岳の障壁を作成することができます。

Remove Editing from Selection

このコマンドは、選択したゾーンからすべての編集を削除します。(Ctrl F11)
結果は、以前の[Features]メニューの[Average Floor]と非常に似ていますが、2つの違いがあります。

Helpメニュー

一部のヘルプファイル(NGLEおよび改訂されたヘルプ)は、メニュー項目を選択したときに、それらを所有していない場合は自動的にダウンロードされます。
ダウンロードが完了したら、ZIPファイルをTRLEフォルダに直接解凍してください。この操作で、すべてのヘルプファイルを含むサブフォルダHelpが作成され、NGLEメニューコマンドで開くことができます。
その他の特定のヘルプファイル、ヘルプメニューには、その他の有益なドキュメントや手順が含まれています。

Info About Project

[Info About Project]を使用すると、現在のテクスチャファイルとWADオブジェクトファイルのフルパスを表示できます。
キーボードコマンドShift F1を使用してこのコマンドを呼び出すこともできます。

Keyboard Commands

これは、NGLEに特有のすべてのキーボードコマンドを含むテキストファイルを表示します。

Object IDs for TREP

あなたがTREPユーザーであれば、このコマンドを見つけることができます。
いくつかのTREPエフェクトではMoveableインデックスが必要ですが、レベルマップに表示される数字が(NGLEでは)そのアイテムのTR4ファイルの実インデックスと異なるため、このインデックスを取得するには少し問題があります。
このコマンドを使用すると、オブジェクトID変換テーブルが表示され、マップ内の各オブジェクトの実際のTR4インデックスを簡単に見つけることができます。
詳細はObject IDsウィンドウを参照してください。

Check for Updates

このコマンドを使用すると、Next Generationの公式ホームページにアクセスして、NGLEの更新があるかどうか、またはNG tomb4エンジンのリリースについて重要なお知らせを確認できます。

About NGLE

NGLEのバージョンと作者の情報を表示します。

Default Level Editor Help

これは、ManualフォルダにあるTRLEのヘルプファイル、MANUAL.PDFを開きます。

NGLE Help

Next Generationに関するヘルプファイルを表示します。(この文書)

Revised Level Editor Help

元のレベルエディタヘルプの改訂版を示しています。このバージョンはHTML形式です。このため、更新が簡単です。
さらに、改訂されたヘルプは、すべてのレベルエディタコミュニティでの多くの発見を示しています。
改訂されたヘルプでは、TR4とレベルエディタの全てのオブジェクトを集めた画像もあります。
この巨大なアーカイブのスクリーンショットを下の画像で見ることができます。
image

Newウィンドウ

NGLEでは、以前のウィンドウが新しいウィンドウに置き換えられ、より多くの情報を含んでいます。

Select Objectウィンドウ

image
列の説明

ホットキー


Select Roomウィンドウ

image
列の説明

ホットキー

Animation Rangeウィンドウ

image
アニメーション範囲は以前のルームエディタと同じように選択できます。
アニメーション範囲を選択するには、マウスの右ボタンを使用してアニメーション範囲を選択し、ボタンをドラッグして希望するテクスチャの範囲を選択します。
すでに作成されているアニメーション範囲を選択するには、マウスの左ボタンを使用します。

ボタン

nUV Ranges

Anim-Typeで[...-Rotate]を選ばないとボックスが出て来きません。
UV回転に使用するアニメーション範囲の数を設定できます。
UV回転は異なる方法でテクスチャをアニメーション化し、滝のテクスチャのようなイメージテクスチャをスクロールします。
このチャンスについて、部屋のテクスチャをUV回転でアニメートする方法については、正しい方法についてまだ情報が不足しているため、少し難しいと言えるでしょう。
UVアニメーションで結果を得るためには、WADファイルにWATERFALLオブジェクトを配置する必要があります。
Paolone氏の勘違い。WATERFALLオブジェクトにUV Rangeは関係ありません。
UV範囲の数は開始から始まります。つまり、nUV範囲として「2」を設定すると、最初の2つのアニメーション範囲がUV範囲用に予約され、残りの範囲のみが共通の「フレーム」アニメーションに使用されます。
UVアニメーションの使用に興味がない場合は、UV範囲の数を「0」に設定することを忘れないでください。 通常は、UVアニメーションの最初の範囲でアニメートすることができますが、プロジェクトでアニメーションテクスチャを配置する際に特定の操作が設定されているため、UVで次の範囲をアニメーション化するのが難しい場合があります。
現在、Paolone氏はこのトピックについてさらに詳しい情報を提供することができません。

Frame Rates

アニメーション範囲ごとに異なるフレームレートを設定できます。
トゥームレイダーのデフォルトフレームレートは30fpsです。fpsは「1秒あたりのフレーム」を意味し、例えば1秒間に30fpsで30種類のテクスチャが表示されます。
このデフォルトのフレームレートは非常に高く、短いアニメーションしか持たないのが良いですが、フレームレートを低くしても意味のあるアニメーションを得るためのテクスチャはほとんどありません。
素敵なアニメーションがたくさんあるアニメーションGIFについて考えてみてください。通常、これらのGIFのフレームレートは非常に低く、5または10fpsです。
その他のfps設定にはSPF設定も使用できます。SPFは、フレーム当たりの秒数、すなわち次のテクスチャに渡すのに必要な秒数を意味します。
例えば、3SPFを設定した場合、テクスチャは3秒ごとに変更されます。

Sound Textureウィンドウ

image
このウィンドウで、サウンドとバンプマップエフェクトを特定のテクスチャに関連付けることができます。以前のルームエディタと違って、さまざまなテクスチャを選択し、サウンドまたはバンプマップエフェクトを範囲全体に割り当てることができます。
備考:
サウンドとバンプマップエフェクトは最初の256テクスチャにのみ設定できます。それを越えると、テクスチャには赤い十字が表示されます。

Rボタン

Rはリセットを意味しています。サウンドテクスチャはデフォルトのサウンドstoneに戻されます。
このボタンでテクスチャからバンプマップの設定もリセットされます。

Assign Soundボタン

サウンドを割り当てるには、テクスチャ(またはテクスチャグループ)が選択されているときに[Assign Sound]ボタンをクリックします。

Testボタン

[Test]ボタンをクリックすると、現在のテクスチャのサウンドシーケンスを再生できます。
コンボボックスで任意のサウンドを選択し、[Test]ボタンを押して聞くこともできます。この操作では、現在のテクスチャに割り当てられているサウンドは変更されません。
備考:[Test]ボタンで聞こえる音は、ゲームで聞く音と同じではありません。ピッチの変更は、[Test]ボタンを使用して実行されません。さらに、ゲームのサウンドシーケンスは重なりますが、[Test]ボタンは共通のサウンドシーケンスのみを再生します。
コンボボックスでサウンドタイプを選択すると、選択された特定のサンプル名が情報行に表示されます。

Assign Bumpボタン

現在のバンプマップエフェクトを選択したテクスチャに割り当てます。

[Settings]ウィンドウ

image

Settings for Spinning and Zoom

image
このフレームでは、部屋の回転速度を良くするためのパラメータを設定できます。結果はコンピュータの速度が異なるため、お使いのコンピュータでより良い結果を得るためにはテストを実行することをお勧めします。

TIME:Input

「TIME:Input interval..」の値は、各サイクルのマイクロ秒単位の遅延です。この遅延は、部屋を回転またはズームしている間、左の「Shift」キーを押し続ける間だけ適用されます。

STEP Wide of Movements

この設定は少し複雑です。最初の(左)値は3D方向の開始ステップ、2番目(右)の値は最大ステップです。
スピンでは、加速ステップを使用して、数秒で最小ステップから最大ステップに移行します。(ただし、この時間は[TIME:Input]の値によって異なります)
小さな値(リストの一番上)を選択すると、動きが滑らかになりますが、動きが遅くなります。(もちろん、コンピュータの性能と現在のレベルの大きさによっても異なります)
それとは違って、大きな値の組み合わせを選択すると非常に速い動きになりますが、低いフレームレートで動きが雑になります。
理論的には、非常に速いコンピュータを使用している場合は意味がありますが、コンピュータがあまり高速でない場合は大きな値を選択する必要があります。

備考:
使っているNGLEのモードによって速度がちがう(Draw DoorsモードはDraw Doorsなしよりも速度が遅く、Face Editモードは使用していない時よりも遅くなるなど)ので、より良い設定を行うには次の方法で作業する必要があります。

第1段階では、STEPフィールドでのみ作業し、かなりの時間低速な表示モードでのみテストする必要があります。正しいスピードが得られたら、他のフィールドTIME:Inputを変更します。
第2段階では、「Face Editなし」や「Draw Doorsなし」など、より高速な表示モードで速度をテストする必要があります。この状況ではスピンが速すぎる可能性が高いですが、「TIME:Input..」フィールドで設定した減速を有効にするため、「Shift」キーを入力します。
したがって、STEPフィールドは複雑なシーンを表示するために使用し、回転が速すぎる場合にShiftを使用します。

Settings for Random Smooth Floor/Ceiling

image

Effect Type

丘や山を選択できます。
Mountains効果は、より多くの高さと鋭い形を作り出します。通常、ララが歩くことができないと予想される地域では山脈を使用します。

言い換えれば、Hills効果は、ララが問題なく歩くことができる非常に滑らかな地面を作り出します。

Limit Height

デフォルトでは、ランダムエフェクトは無制限に床を高くします。これは、床が天井を通り過ぎる可能性があります。真横に部屋がつながっている部屋では問題ありませんが、ランダムエフェクトの最大高を現在の部屋の高さに制限したい場合はここをチェックします。

丘や山岳地帯の効果を得るには、グラウンドシミュレーションを参照してください。

Changes for Hit

丘や山の生成は、床(または天井)への変更量に基づいています。デフォルトの値を変更するには、[More Changes]を選択してこの変更量を増やすか、[Less Changes]を選択して減らします。

Remove smooth filter

スムージングは新しいランダムフロア機能の最高の機能にもかかわらず、時には、非常に細分化された地形を作成したいこともあります。滑らかな効果を削除するには、[Remove smooth filter]をチェックします。

Settings for Mouse Wheel

image
NGLEでは、マウスホイールを使用してテクスチャパネルをスクロールできます。とにかく、一部のコンピュータで、この機能を正しく動作させるには、いくつかのパラメータをカスタマイズする必要があります。

Lowest Step

このフィールドには、テクスチャスクロールで望む最小の動きを設定します。

Highest Step

このフィールドには、テクスチャスクロールで望む最大の動きを設定します。とにかく、この設定は、AccelerationとSensitivityに応じて異なる動作をします。
Accelerationが有効になっていると、ホイールを速く動かすと最も高いステップが使用され、ホイールをゆっくり動かすと最も低いステップが適用されます。
Accelerationが無効の場合、移動のステップは常に同じになり、次のように計算されます。
(Lowest Step + Highest Step) / 2

Sensitivityフィールド

マウスホイールを設定する際には、最初にこのフィールドを操作する必要があります。Sensitivityが間違っていると、予測できない結果のため他のフィールドを変更する必要があるかもしれません。
推奨値は5または6です。スクロールがこれらの値で機能しない場合は、3または4などの小さな値を試してください。
一般的なルールとして、Sensitivityとして小さな値を選択するとスクロールの動きが大きくなり、 大さな値を選択するとスクロールの動きが小さくなり、あまりに大きな値を選択すると、動かなくなります。

Disable Acceleration

Acceleration機能は、テクスチャパネルを少しスクロールさせたり、短時間でテクスチャパネルを一気にスクロールさせたり、マウスホイールに適用する速度を簡単に設定できる、優れた機能です。
とにかく、Accelerationを使って意図した動きができないなら、それを無効にすることができます。

Global Settings

image

Save Image Map after output wad

このフィールドをチェックすると、[Output Wad]の操作後に即座に得られる2dマップのイメージが、Last_2dMap_#LevelName#.bmpのような名前のビット圧縮ファイルに保存されます。例えば、catacombの[Output Wad]を実行すると、マップはTRLEフォルダのLast_2dMap_catacomb.bmpに保存されます。
このマップは、共通の2d mapよりも多くの情報(フリップされた部屋、ドア、内壁)を表示するため重要です。
下の図を参照して、デフォルトの2d map(左)と[Output Wad]コマンドの後の「特別な」2d map(右)を比較してください。
image

Remove 'autosave.prj' with normal exit

以前のレベルエディタは、[Output Wad]または[Preview]コマンドを実行する前に、現在のプロジェクトのバックアップを作成してautosave.prjという名前を付けました。一部の環境では、これらのコマンドでクラッシュが発生する可能性があるため、これは安全策でした。
このautosave.prjは、ルームエディタから終了すると削除され、プログラムがクラッシュしたときだけ残ると考えられていました。
とにかく、プログラムを閉じるときに[X]アイコン(右上隅)をクリックすると、プログラムはautosave.prjを削除するのを忘れていました。それはバグでしたが、いくつかのレベルビルダーはその方法でautosave.prjをTRLEフォルダに入れました。
デフォルトでは、NGLEは同じ動作を続けますが、バグを削除したい(autosave.prjを削除したい)場合はこのオプションを有効にします。このオプションをオンにすると、Project -> Quitか[X]アイコンをクリックしてもautosave.prjが削除されますが、プログラムがクラッシュして中断すると残ります。

Reload last project at start

開始時にNGLEで自動的に最後のプロジェクトをロードさせるには、このオプションをチェックします。
備考:開始時にNGLEがTRLEフォルダ内にautosave.prjを見つけた場合は、autosave.prjをロードするかどうかを尋ねます。もしNOならば最後のプロジェクトをロードし、そうでない場合はautosave.prjをロードします。

Maximize NGLE window at start

NGLEは少なくとも1024x768ピクセルの画面サイズで作業する必要があります。画面が1024x768であれば、ウィンドウの下部は表示されません。この問題を解決するには、キーボードコマンド「Alt」+「Enter」を使用してウィンドウを強制的にすべての画面に表示させます。
このオプションをチェックすると、NGLEの開始時に自動的に全画面になります。

Disable Crash Resume System

バージョン1.0.5のNGLEは、CRS(Crash Resume System)を使用して、多くのクラッシュの原因を回避しています。
この機能は、「馬鹿げた」原因のクラッシュ回避に非常に便利です。
とにかく場合によってはCRSがクラッシュに関する情報を持っていないようにすることができます。実際にクラッシュが発生した場合、NGLEはクラッシュに関する情報を含む短いテキストファイルを作成できます。Paolone氏がそのファイルを研究することで、バグを修正して、より良いパフォーマンスを与えることができます。
奇妙な動作を見つけたら、CRSを無効にするべきです。
この場合、次のことができます。
今すぐNGLEを閉じ、crash_reportをフォーラムに投稿:Bug Reports about NGLE
このリンクがうまくいかない場合、crash_reportファイルをPaolone氏に直接送ることができます。
備考:crash_reportによって、クラッシュが発生したときにどのような操作をしていたかを示すのにも役立ちます。

Disable Memory Extender Patch

デフォルトでは、NGLEは内部メモリを使用して以前のTRLEの4倍の頂点を提供します。このメモリ拡張のおかげで、クラッシュすることなくより大きなレベルで作業することができます。
Memory Extender Patchを無効にする唯一の理由は、RAMメモリがほとんどないコンピュータの場合です。このような状況では、NGLEが必要とするすべてのメモリを提供するために、WindowsがRAMメモリをディスク(仮想メモリ)にスワップする必要があるため、NGLEは非常に遅く実行される可能性があります。このような状況にある場合は、速度が改善されているかどうかを確認するためにMemory Extender Patchを無効にすることができます。
注:このオプションを変更すると、NGLEを終了し、再起動する必要があります。

Disable New Stand-by System

以前のレベルエディタは、スタンバイモードを悪化させました。スタンバイモードでは、プログラムが何の操作もしていない状態では、CPU(プロセッサ)を他のプログラムに自由に使用できるようにする必要があります。
より理解するため、以下の実験を行うことができます。
WindowsXPでは、Ctrl + Alt + CANCを1回だけ押すと、リセットされ、Windowsタスクマネージャウィンドウが表示されます。
[プロセス]ラベルには、その瞬間にあなたのコンピュータで動作しているすべてのプロセスとそのCPU使用率([CPU]という名前の列)が表示されます。
以前のレベルエディタを実行すると、winroomedit.exeは使用されていないときにも常に99%のCPU使用率を持つことがわかります。
つまり、NSS(New Stand-by System)のおかげで、NGLEは操作を実行していないときは常にCPU使用率が0%になります。
これは技術的な話ですが、とにかくNSSとの違いは非常に分かりやすいです。NGLEが開かれている間に他のプログラムを使うことができますが、以前のレベルエディタwinroomeditが動作している間では他のプログラムはすごく遅くなります。
このオプションについては、NSSを無効にする理由が表示されないので、上記のオプションをチェックしない方が良いでしょう。このオプションを[Settings]ウィンドウに追加したのは、NSSに副作用がないことはまだ分かっていなかったからですが、今はNSSがうまく動作しているようです。

Don't show tips for hide objectsボタン

[Hide Objects]ボタンは、現在の部屋のすべてのオブジェクトを一時的に削除することを許可します。これは、部屋の回転スピードを上げたり、多くのスタティックノイズをフロアに置かずに新しいテクスチャを適用するのに便利です。
[Hide Objects]ボタンをクリックするたびに、[Hide Objects]フェーズで実行していない操作についてアドバイスするメッセージボックスが表示されます。
とにかく、すでにこの警告を見ているのに、このボタンをクリックするたび退屈なメッセージを避けるためには、このオプションをチェックします。

Show extra infos in room info panel

このオプションを選択すると、Room Infoパネルに詳細情報が表示されます。
現在、追加の情報は、選択されたセクターと編集フェーズにおける変更数に関係しています。

Peaked Pyramids

このオプションを有効にすると、ピラミッドシェイプは境界線がピークになります。ピークピラミッド画像を参照してください。

Preview Screen

バージョン1.0.6以降のNGLEでは、プレビューゾーンのサイズを変更できます。
4つの設定を選択できます。 備考:全画面プレビューでより良い結果が得られるようにするには、「Alt」+「Enter」キーでNGLEウィンドウを最大化するか、[Maximize NGLE at start]オプションを設定する必要があります。
NGLEウィンドウが最大化されていない場合、プレビューはNGLEウィンドウのクライアント領域(タイトルバーと枠線を除く)のみをカバーします。

Bend Type

曲げ効果はこの設定に従って動作します。
3種類の曲げがあります。
曲げタイプに関する詳細は、Progressive Bendingのトピックを参照してください。

Auto-Backup

長い編集作業中に[Backup Project]ボタンを使ってプロジェクトを保存することを忘れるかもしれません。
クラッシュですべての作業を台無しにするリスクを回避するには、[Auto-Backup]フィールドに、バックアップを実行する変更数を設定します。
推奨値は30と60の間です。
[Never]を設定すると、自動バックアップ機能は無効になります。

備考:
自動バックアップを有効にすると、変更数が設定した値に達すると、現在のプロジェクトが保存されます。
バックアップは、以下の条件が揃ったときにのみ実行されます。

変更数に達しても上記の条件の一部に当てはまらない場合、NGLEは、例えば、フリップマップモードを終了した、またはプレビューフェーズを終了したときに、バックアップが実行されます。
バックアップが実行されると、「ビープ音」が鳴り、Room Infoパネルにテキストが表示されますが、このバックアップのメッセージは数秒間だけ残ります。

Settings for launch of external programs

バージョン1.0.6のNGLEは、他の外部TRLEツール(Strpix、TRViewerなど)をすばやく起動するためのプログラムリストを作成できます。
このボタンをクリックすると、[Edit External Programs]ウィンドウが表示されます。(下記参照)

Edit External Programsウィンドウ

image

Add New Programボタン

このボタンをクリックして、起動リストに追加する新しいプログラムの実行可能ファイルを選択します。

Change Nameボタン

新しいプログラムを追加すると、拡張子.exeを除いた実行可能ファイル名がNameに割り当てられます。
場合によっては、プログラムが何であるか理解することは良いことかもしれません。とにかく、このボタンを使用して別の名前を設定することができます。
割り当てた名前は、NGLEのメインウィンドウのドロップダウンリストに表示されます。

Change File to Openボタン

特定のプログラムで開くファイルをNGLEに指定することができます。
例えば、TGAのようなファイルをオープンするように設定した場合、NGLEは外部プログラムを起動すると、TGAファイルのパスをコマンドラインに追加します。
プログラムを開くときにすべての作業がうまくいけば(例えば、Paint ShopやPhotoshopなど)、現在のレベルのTGAファイルが開きます。
異なるファイルタイプを設定することができます。 開くファイルの拡張子を入力すると、拡張名の左側に特殊文字#も追加できます。
この文字はNGLEに、パス情報をコピーして、クリップボードで開くように伝える代わりに、起動するプログラムのコマンドラインに置くことを知らせていました。
残念なことに、多くの非公式なレベルエディタツール(ほとんど全て)は、ファイルをコマンドラインで開くことを許可しないため、このオプションは非常に重要です。したがって、単にTR4を設定してTRViewerでTR4ファイルを開くと、TRViewerからエラーメッセージが表示されるでしょう。なぜなら、コマンドライン上のすべてのことを理解していないからです。
つまり、#文字の拡張子を置くと、コマンドラインにパス情報は入れられません。
このような状況では、Ctrl + Vキーまたはポップアップメニュー(右マウスボタン)から「貼り付け」を選択し、パス情報を貼り付けることができるので、開いているファイルオプションを利用することができます。
例えば、Strpixプログラムを起動して現在のWADファイルを開きたい場合は、#WADという単語をChange File to Openに設定することができます。(最初の#文字を見てください)
Strpixプログラムを起動すると空になりますが、正しいファイルをロードするにはFile -> OpenまたはF3ショートカットを使用して「ファイルを開く」ウィンドウを呼び出し、Ctrl + Vで「ファイル名」に貼り付けます。その後「Enter」キーを押してファイルを読み込むことができます。

少なくともPaint Shop ProやPhotoshopのプログラムでは、両方のプログラムがコマンドラインから開くためにパス情報を読むことができるので、この方法を使う必要はありません。

Remove Programボタン

選択したプログラムをリストから削除します。

Don't minimize NGLE window at start...

デフォルトでは、NGLEは外部プログラムを起動する前にウィンドウを最小化します。通常、これは、新しい外部プログラムのスピードを向上させ、外部プログラムが起動するのに役立ちます。(新しいプログラムがNGLEウィンドウの下に残ることがあります)
とにかく、最小化を無効にしたい場合は、このオプションをチェックします。

Pass to program SHORT path name

このオプションを理解するには、ロングネームとショートネームのパスを理解する必要があります。
ロングネームは、パスを記述する最も一般的な方法です。
例えば、以下はロングネームのパスです。

C:\PROGRAM FILES\CORE DESIGN\TRLE\GRAPHICS\WADS\KARNAK.WAD
古いプログラムやコマンドラインでパスを読むプログラムの多くは、空白文字がトラブルの原因になります。(PROGRAMとFILESの間の空白やCOREとDESIGNの名前の間)

この問題を解決するため、パスの別のフォーマット「ショートパス」または「MS-DOSパス」があります。
例えば、上記のロングネームのパスは、ショートパスでこのようになります。

C:\PROGR~1\COREDE~2\TRLE\GRAPH~1\WADS\KARNAK.WAD

見栄えは悪いですが、少なくとも上のパスに空白文字はありません。
多くのプログラムはコマンドラインのオプションの区切りに空白文字を使用するので、空白文字で分割した場合、パスは一つの文字列になるのでショートパスでうまく動作します。

備考:
実際にファイルのパスは常にショートパスになります。上記の設定は名前部分のみに影響します。つまり、WADファイルまたはTGAファイルが「MyTexture.tga」であり、ショートパスを使用すると「MYTEX~1.TGA」になります。「ショートパス」を無効にすると、「MyTexture.tga」になります。
経路(すなわち、フォルダシーケンス)は常にショートパスになります。

Sound Effectウィンドウ

image

メニューコマンドEffects -> Soundを使用してこのウィンドウを表示し、現在の部屋にローカルサウンドを追加します。

列の説明

Playボタン

[Play]ボタンをクリックすると、選択したサウンドのプレビューを聞くことができます。
再生機能は、現在のサウンドエフェクトにリンクされているファイル名の数に応じて異なる方法で動作します。
サウンドエフェクトにファイルが1つしかない場合は、無限ループでそのサウンドが再生され、再度[Play]ボタンをクリックするとサウンドが停止してリリースされます。
つまり、現在のサウンドエフェクトに2つ以上のファイルがある場合、再生プレビューはサウンドシーケンス全体を1回実行し、その後[Play]ボタンが放されて再生プレビューが停止します。

Object IDsウィンドウ

image

TREPユーザー向けの機能ですが、私もよくわかっていません。
現在のウィンドウには、TR4ファイル内のアイテム(Moveable、照明、カメラ)の新しいインデックスが表示されます。
これらの情報は、TREPユーザーがいくつかのTREPエフェクトで正しいインデックスを書き込むのに役立ちます。
備考:
上記のウィンドウは、オブジェクトID情報が[Output Wad]フェーズで独自に作成されるため、[Output Wad]コマンドを実行した後でのみ使用できます。

フィールドの説明

このテーブルの使い方について簡単な例を挙げることができます。
以下の図に示されているオブジェクトのTr4_Idが見つかるといいと思います。
image
最初のステップとして、上記のアイテムに関する情報を黄色のボックスに表示する必要があります。「ANIMATING3(376)」
次に、このアイテムのTr4_Idを見つけるには、Map_Id列に数字376が表示されるまで[Object ID]ウィンドウをスクロールするだけで、次の行が見つかります。
Room                 Item                  Sector  Map_Id  Tr4_Id (library.TOM)
------------------------------------------------------------------------------------------
Room45               ANIMATING3            ( 6,7 )  376     73
この場合、TREPでAnimation3アイテムを処理するために使用するインデックスは、値「73」

新しいキーボードコマンド


KEYBOARD COMMMANDS OF NEXT GENERATION WINROOMEDIT v1.3.0.0
----------------------------------------------------------
left Shift 3Dパネルでのズームや回転の速度を落とす。
備考:速度を落とすには押し続ける必要がある。
Ctrl B ビッグテクスチャの有効/無効を切り替える。
Shift C 回転の中心を部屋の真ん中に移動する。([Room->Center]メニューのようなもの)
Ctrl F 選択したオブジェクトを回転させます。[Rotate Object]ボタンのようなものです。

Shift F1 現在のプロジェクトの情報を表示します。(WADファイルのパスとTGAファイルのパス)
Shift F2 NGLEの設定を変更する[Settings]ウィンドウを開く。

Shift F3 床にある間違った向きの三角形のテクスチャを修正します。
Shift F4 天井にある間違った向きの三角形のテクスチャを修正します。

Shift F5 選択するスクエアのサイズを指定します。

Ctrl F1 床を滑らかなスロープにする。
Ctrl F2 床を階段状のスロープにする。
Ctrl F3 天井を滑らかなスロープにする。
Ctrl F4 天井を階段状のスロープにする。

Ctrl F5 床にピラミッドを作成する。
Ctrl F6 床に逆ピラミッドを作成する。
Ctrl F7 天井にピラミッドを作成する。
Ctrl F8 天井に逆ピラミッドを作成する。

Alt F9 選択した床のテクスチャを削除する。
Alt F10 選択した天井のテクスチャを削除する。

F11 選択した壁にグリッドを作成する。[Grid selected wall]メニューのようなものです。
Ctrl F11 選択した壁から全ての編集を削除する。
F12 全ての壁にグリッドを作成する。[Grid all walls]メニューのようなものです。
Ctrl F12 全ての壁からグリッドを削除する。

Alt 1 ランダムに滑らかな床を上げる。
Alt 2 ランダムに滑らかな床を下げる。
Alt 3 ランダムに滑らかな天井を上げる。
Alt 4 ランダムに滑らかな天井を下げる。

Alt 5 ルームエディタウィンドウのスクリーンショットを保存する。
Alt 6 2Dパネルのスクリーンショットを保存する。
Alt 7 3Dパネルのスクリーンショットを保存する。
Alt 8 プレビューエリアのスクリーンショットを保存する。
Alt 9 プレビューエリアのRGBスクリーンショットを保存する。
Alt 0 テクスチャパネルのスクリーンショットを保存する。
Alt F11 Room Infoパネルのスクリーンショットを保存する。
Alt F12 照明パネルのスクリーンショットを保存する。

Alt T TGAファイルをリロードする。

Ctrl 0 ウィンドウのボタンの表示/復元。(「0」は数字。)
ワイドスクリーンやノートPCなど狭い画面のためにボタンウィンドウを表示し、そのボタンウィンドウを閉じた後、再表示する機能。

Ctrl 1 凸の床を作成する。
Ctrl 2 凹の床を作成する。
Ctrl 3 凸の天井を作成する。
Ctrl 4 凹の天井を作成する。
Ctrl 5 ドーム型の床を作成する。
Ctrl 6 逆ドーム型の床を作成する。
Ctrl 7 ドーム型の天井を作成する。
Ctrl 8 逆ドーム型の天井を作成する。

Ctrl 9 TGAファイルをデフォルトのグラフィックプログラムで開く。

G 編集した前の部屋に移動する。[Go back old room]ボタンのようなものです。
Ctrl G 編集した次の部屋に移動する。
Ctrl H [Move Lara Here]ボタンのように、指定した部屋の選択したスクエアにララを移動させます。
Ctrl + Shift + I 強制終了と同じ状態にする。NGLEがフリーズした場合にバックアップを作成し、crash reportを作成する。

Ctrl J NGLEのタイトルバーの情報を切り替えます。プロジェクト情報か。部屋の情報か。
Ctrl L 過去のプロジェクトをロードする。過去のプロジェクトのリストを表示します。[Load Last Projects]ボタンのようなものです。
Ctrl M NGLEウィンドウを最小化します。
M G コマンドを使うため現在の部屋を編集した部屋のリストに登録します。
Ctrl O WADファイルをリロードします。(「O」は文字)
Shift O 新しくWADファイルを選択します。以前の[Load Objects]ボタン(NGLEではなくなりました)のようなものです。

Ctrl S (TOMB5_LOG.exe実行中に)ログファイルに--- Ctrl S --を書く。
Ctrl T テクスチャパネルで選択したテクスチャの三角形の選択範囲を変更します。
U 現在の部屋を編集した部屋のリストから削除します。

Ctrl Alt Shift 部屋の数を増やします。


スクリプトコマンド

新スクリプトコマンド

構文:StaticMIP=MainStaticSlot, BStaticLimit, BStaticSlot, CStaticLimit, CStaticSlot
範囲:[Title]または[Level]セクションで使用する。
おそらくこういうことだと思われます。

このコマンドの目的は、Staticアイテムが多い雑多な場所がある場合、ゲームでより良い視野とfps(フレーム/秒)を得ることです。
StaticMipコマンドを使用して頻繁に使用されるStaticアイテムがソースビュー(ララのカメラ)から非常に遠いときは低品質で描画すると、スピードが大幅に向上します。

このコマンドを使用すると、Staticと現在のソースビューの現在の距離に応じて、MainStaticとそれ以外のStaticを異なる品質で表示することができます。
このスキルは、AnimatingMIPコマンドと非常に似ていますが、とにかくこの場合はゲームで描くために3種類の異なるStaticに対して2つの異なる制限を設定することができます。

MainStaticSlotフィールド
-------------------------
このフィールドには、MainStaticSlot番号を入力します。
NG_Center[Reference]のSTATICS indicesリストにStaticスロットがあります。
MainStaticは、レベルに配置したStaticオブジェクトです。もちろん、最高の品質でなければなりません。

BStaticLimitフィールド
-----------------------
このフィールドでは、MainStaticSlotをBStaticSlotに置き換えて描画するために、ソースビューとStaticの間のセクター(1024ゲーム単位)の最小距離を入力します。
実際は、距離がBStaticLimit(ただしCStaticLimitより小さい)以上になると、MainStaticSlotではなくBStaticSlotが描画されます。
BStaticSlotにはMainStaticSlotとサイズと外観がほぼ同じですが、メッシュが少なく透明なテクスチャが少ない(または無い)ものを作成する必要があります。
透明テクスチャはCPU(またはGPU)を浪費することを覚えておいてください。

BStaticSlotフィールド
----------------------
これは、ソースビューとStaticの間の距離がBStaticLimitより大きく、CStaticLimitより小さい場合に描画するStaticSlot番号です。
Static描画の変更は、レベル内にあるStaticのOCBまたは設定された光には影響しないことを理解してください。BStaticSlotのメッシュだけが使用され、MainStaticSlotのすべての設定は継続します。
IGNOREと入力すると、距離がBStaticLimitより大きい場合にMainStaticSlotの描画がスキップされたことを意味します。

CStaticLimitフィールド
-----------------------
このフィールドはBStaticLimitと同じように機能しますが、この場合、次のCStaticSlotの描画に影響します。
もちろん、CStaticLimitは常にBStaticLimitよりも大きくなければなりません。
IGNOREと入力すると、MainStaticSlotの描画がスキップされたということです。
CStaticLimitにIGNOREを入力すると、次のCStaticSlotは無視されます。

CStaticSlotフィールド
----------------------
このフィールドに入力するStaticスロット番号は、距離がCStaticLimitの距離よりも遠い場合にのみ描画されます。
CStaticSlotで設定したMainStaticSlotのコピーは、単純なシャドウのように非常に悪くなければならず、CStaticLimitフィールドより非常に遠く離れているはずです。
IGNOREと入力すると、距離がCStaticLimitフィールドよりも遠い場合MainStaticSlotの描画をスキップします。

構文:LaraStartPos=RoomOfLSP, OcbOfLSP
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

このコマンドを使用すると、ララの開始位置をLARA_START_POSオブジェクトが配置されたルームやLARA_START_POSオブジェクトで指定したOCBと同じ位置に強制することができます。

備考:このコマンドの主な目的は、スクリプト内の2つ以上の[Level]セクションで同じTR4ファイルを指定できることです。このような状況では、[Level]セクションごとにララの異なる開始点を設定して、プレイヤーに異なるレベルであるかのように感じさせることができます。

RoomOfLSPフィールド
--------------------
レベルを開始したい場所にLARA_START_POSオブジェクトを置いた部屋番号。
レベルで1つしかないLARA_START_POSオブジェクトのOCBを次のフィールドに入力する場合は、このフィールドを省略してIGNOREと入力することができます。

OcbOfLSPフィールド
-------------------
ララがレベルを開始するLARA_START_POSオブジェクトのOCB。
直前のフィールドに有効な部屋番号を入力していて、その部屋にLARA_START_POSオブジェクトが1つしかない場合は、この値を省略してIGNOREと入力することができます。

構文:Plugin=PluginId, PluginName, MainPluginSettings(MPS_...), DisableFeatureArray
範囲:[Options]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

使用するプラグインごとにPluginコマンドを使用する必要があります。
このコマンドには、他のコマンドとの違いがあります。

-インクルードファイルに入力することはできませんが、[Options]セクションではプレーンにしか入力できません。

-PluginIdフィールドに#DEFINE命令で定義された変数を使用することはできません。

-NG_Centerフォルダ内にPlugin_SomeName.scriptファイルがあると、NG_Centerプログラム自体からPluginコマンドが挿入された可能性があります。

PluginIdフィールドの説明も慎重に読んでください。これは他のコマンドIDよりも重要なものです。

PluginIdフィールド
-------------------
このフィールドは、エクスポートされたトリガをTriggerGroupコマンドで使用する際、非常に重要です。
NGLEで(スクリプト用の)トリガをエクスポートし、そのトリガがプラグインを持っていた場合、エクスポートされた3つの数値(実際には最初のもののみ)にPluginIdも隠されています。
問題は、IDは一意ですが、このIDを有効なplugin_Name.dllにリンクするには、もう少し作業が必要です。
NGLEはトリガをエクスポートする際にScript.txtを読み込み、そのトリガを所有するプラグイン名に対応するエクスポートされたトリガにセットされているIDをPluginIdとして検出します。

複雑な問題...

とにかく、いくつかのルールだけ覚えるべきです。

-このコマンドのPluginIdは、NGLEプログラムの解析能力がNG_Centerのように進んでいないため、常にプレーンIDでプレーンに入力してください。NGLEはインクルードファイルの#DEFINEコマンドやテキストを解析できません。

-NGLEからトリガをエクスポートする前に、すでにScript.txt(NG_Centerの「save」または「build」ボタンでこれを行います)がディスクに保存されているか注意してください。そうしないと、NGLEは古いScript.txtをディスクから読み込みます。

-このコマンドのIDを簡単に変更しないでください(これは決して行うべきではありません。まだロードされていないプラグインに対しては新しいPluginコマンドを追加するだけです)。この方法では、以前にTriggerGroupに挿入されたPluginIdは古いPluginIdのままで、新しいPluginIdには更新されません。

-あなたが友人からTriggerGroupコマンドを受け取ったときに、そのTriggerGroupがプラグインからのトリガを使っていた場合、そのプラグインのアイデアがどんなもので、友人のスクリプトの中にあるPluginIdが何であるか知っておかなくてはなりません。そして、NG_Centerにそれらの情報を与えるために、あなたのスクリプトに#DEFINE @plugin命令を使います。
#DEFINEコマンドの説明、特に@plugin_nameと#DEFINE「CLEAR」に関するセクションも参照してください。

-NGLEからトリガをエクスポートするたび、NGLEのエクスポートファイルに、トリガを提供するTriggerGroupを囲む#DEFINE @plugin命令についての情報も追加されます。
この命令は、あなたのスクリプトであなただけがそのトリガを使用するときには必要ではありませんが、TriggerGroupを誰かに与えたいときに役立ちます。この場合、受け取った側はトリガに格納されているPluginIdについての情報を必要とします。このことから、そのTriggerGroupを閉じるコメントとしてのみ、その情報(#DEFINE @plugin命令について)を保つ方が良いでしょう。
すでに言ったように、NGLEはあなたのScript.txtファイルから読んだのと同じPluginIdをトリガに置くので、#DEFINE @plugin命令を省略してもうまくいくでしょう。
NG_Center[Reference]の#DEFINE @plugin命令も参照してください。

PluginNameフィールド
---------------------
このフィールドには、指定されたプラグインの名前を入力します。
これはテキストなので、同じテキストを[ExtraNG]セクションにも入力する必要があります。
名前には拡張子を含めないでください。
拡張子は、「.dll」、「.script」などになる可能性があります。
例えば、プラグイン「Plugin_people.dll」の場合は、「Plugin_people」のみ入力します。

MainPluginSettings(MPS_...)フィールド
---------------------------------------
このフィールドには、特定のプラグインの基本的な機能を変更するMPS_フラグを入力します。
NG_Center[Reference]で見つけることができるMPS_フラグですが、おそらく、そのプラグインについて考えられたMPS_フラグだけを使うように注意しなければなりません。
プラグインの各作者はMPS_フラグを設定します。Plugin_Alfaというプラグインがある場合は、このプラグインのPluginコマンドに、Plugin_Alfaで処理されるMPS_フラグだけを入力する必要があります。
NG_Center[Reference]では、説明(緑色)ボックスでアイテムをクリックすると、そのコンスタンツを所有する括弧で囲まれたプラグイン名が左上隅に表示されます。
これらのコンスタンツをすばやく見つけるもう1つの方法は、NG_Center[Plugin]タブに入り、コンボボックスから「Plugin_Alfa」(この例では)の名前を選択し、そのプラグインのコンスタンツのみを表示します。

このルールの唯一の例外として、TRNGのMPS_DISABLEフラグは、プラグインによって影響を受けた問題かどうかを確認するためにプラグインを(一時的に)無効にします。

DisableFeatureArrayフィールド
------------------------------
このフィールドには、同じ形式で1つ以上の値を入力します。
DisableFeatureArrayは配列です。
この配列の各フィールドの書式は、CODE_コンスタンツ+1つのオペランド値の合計です。
このフィールドの一般的な使い方は、あなたの気に入らなかったいくつかの変更(標準のTRNG機能について)を無効にすることです。

NG_Center[Reference]のCODE_コンスタンツも参照してください。

構文:Demo=DemoFlags(DEMF_...), Parameter, InfoText, DemoLegendText, WaitingTime, DemoIndex array
範囲:[Title]または[Level]セクションで使用する。
おそらくこういうことだと思われます。

Demoコマンドは、DiagnosticTypeコマンドのEDGX_RECORDING_DEMOスキルを使用して記録したデモデータを再生するためのサービスです。(詳細はEDGX_RECORDING_DEMOフラグの説明も参照してください)

このコマンドは、プレイヤーがまだタイトルレベルにいる間、あなたのレベルのデモを表示するために機能します。
上記の状況では、もちろん、スクリプトの[Title]セクションにDemoコマンドを配置します。

一方、[Level]セクションでDemoコマンドを使用すると、custscene-modeで動作しますが、動作上の違いがあります。

備考:それぞれのデモは、単独で機能します。
つまり、[Title]セクションにDemoコマンドを設定しても、レベルには影響ありませんし、
[Level]セクションにDemoコマンドを設定しても、タイトルレベルには影響ありません。

DemoFlags(DEMF_...)フィールド
--------------------------------
このフィールドには、1つまたは複数のDEMF_フラグを追加して、Demoコマンドをカスタマイズします。
NG_Center[Reference]のDEMF_フラグも参照してください。

Parameterフィールド
--------------------
このフィールドには、予備のフィールドです。
将来、DEMF_フラグの中にはこのフィールドに入力するための余分なパラメータが必要になる可能性があります。
このフィールドの使用方法を知るには、NG_Center[Reference]のDEMF_フラグも参照してください。

InfoTextフィールド
-------------------
このフィールドには、タイトルレベルに表示したいテキストを入力します。
デモモードが存在し、それが有効になるのをプレイヤーに知らせるため、タイトルレベルにテキストを表示したい場合は、[ExtraNG]セクションにテキストを追加し、同じテキストをこのフィールドにコピーします。
テキストの色と位置については、[Title]セクションのTextFormatコマンドの設定が使用され、テキストは画面の中央に配置されます。

このフィールドには、オプションでパーセント%の文字を含めることができます。これはカウントダウンのように、WaitingTimeと置き換えられます。

例えば、WaitingTimeを30秒にし、このフィールドに次のように設定します。

A demo will start in %d seconds

タイトルレベルでは、プレイヤーはこのように時間がカウントダウンされるのを見るでしょう。

A demo will start in 30 seconds
A demo will start in 29 seconds
A demo will start in 28 seconds
A demo will start in 27 seconds
etc.
DEMF_PLAY_ON_KEYフラグを設定した場合は、プレイヤーに知らせるためのテキストを常に設定することを強くお勧めします。そうでなければ、プレイヤーがどのキーを押せばよいかわかりません。
したがって、次のようなテキストを入力することができます。
Hit "1" or "2" or "3" keys to see a demo of different locations of this adventure.

上記のケースでは、デモデータを3つのレベル(1番目、2番目、および3番目)で作成した場合です。

詳細については、DEMF_PLAY_ON_KEYコンスタンツの説明を参照してください。

DemoLegendTextフィールド
-------------------------
このフィールドには、デモの再生中に表示されるテキストを入力します。
このテキストをInfoTextフィールドのテキストと混同しないでください。
InfoTextはタイトルレベルで表示され、デモの開始方法をプレイヤーに知らせるため、デモは「Demo will begin in %d seconds」または「Hit 1 or 2 to show a Demo」などのテキストでなければなりません。DemoLegendTextは、デモが進行中のレベル(タイトルとは異なる)でのみ描画されるため、「Demo (hit escape for Menu)」のようなテキストにすることができます。

また、このテキストはTextFormat設定を使用して表示されますが、この場合はデモが使用されるレベルのTextFormatコマンドになります。

WaitingTimeフィールド
----------------------
このフィールドには、デモを開始するためのカウントダウンを入力します。
数値は秒単位で入力します。
プレイヤーがキー操作するとカウントダウンは元に戻ります。
つまり、デモを開始するまで、プレイヤーがWaitingTimeの間、キー操作しないことが必要です。
IGNOREと入力すると、カウントダウンを行いません。この場合、DemoFlagsフィールドにDEMF_PLAY_ON_KEYフラグを追加する必要があります。そうしないとデモは開始されません。

備考:カウントダウンとDEMF_PLAY_ON_KEYフラグを混在させることもできます。その場合、デモはキーを押し(デモを選択)、カウントダウンが完了した後に開始します。

DemoIndex arrayフィールド
--------------------------
この配列には、EDGX_RECORDING_DEMOフラグの記録機能で作成したDemoID.pakファイルのIDを1つ以上入力できます。

備考:
-Demo#.pakファイルはdataフォルダに保存する必要があります。
-連続したデモファイルの名前の構文は次のとおりです。
Demo1.pak
Demo2.pak
Demo3.pak
-このフィールドでIGNOREを使用しないでください。

構文:#DEFINE CONSTANT VALUE
範囲:任意
確認していませんが、以下の訳の通りではないかと思われます。

DEFINE命令は、必要な値を持つ一時的なニーモニックコンスタンツを作成します。
このコマンドの主な使い方は、一連のスクリプトコマンドの再マッピングを簡単にできるようにすることです。
いくつかのコマンドは一意のIDを必要とするので、スクリプトにコマンドのブロックを挿入すると、IDが競合するリスクがあります。
これらの競合を速やかに解決するには、このコマンドで定義されたニーモニックコンスタンツを使用してスクリプトを構築し、コマンドのIDのベースとして使用することができます。

例えば:

TriggerGroup=  4, $8000, 112, $2C
TriggerGroup=  5, $2000, 271, $52
TriggerGroup=  6, $2000, 235, $70, $2000, 232, $52
GlobalTrigger= 2, IGNORE, GT_CONDITION_GROUP, IGNORE, 4, 5, IGNORE
GlobalTrigger= 3, IGNORE, GT_TRNG_L_TIMER_EQUALS, 45, IGNORE, 6, INGORE

上記のコードは、IDを使用する異なるコマンド間のリンクを示しています。

GlobalTrigger2は、インデックス4と5を持つTriggerGroupを「呼び出し」、GlobalTrigger3はTriggerGroup6を呼び出します。

コマンドが多くなると、IDの範囲をより大きな数字に変更して、リンクを維持する競合を避けるために、すべてのIDを変更するのがより遅くなります。
しかし、このコマンドを使用すると、上記のコードをこのように変更することができます。

#DEFINE BS_TG 4 ;最初のTriggerGroupインデックス
#DEFINE BS_GT 2 ;最初のGlobalTriggerインデックス

TriggerGroup=  BS_TG, $8000, 112, $2C
TriggerGroup=  BS_TG+1, $2000, 271, $52
TriggerGroup=  BS_TG+2, $2000, 235, $70, $2000, 232, $52
GlobalTrigger= BS_GT, IGNORE, GT_CONDITION_GROUP, IGNORE, BS_TG, BS_TG+1, IGNORE
GlobalTrigger= BS_GT+1, IGNORE, GT_TRNG_L_TIMER_EQUALS, 45, IGNORE, BS_TG+2, IGNORE

この場合、最終的にコンパイルされたコードはまったく同じですが、2番目のバージョンの利点は、競合が発生したときに、2つの命令を変更するだけで、すべてのTriggerGroupおよびGlobalTriggerインデックスを変更し、それらの間の内部リンクを保持できることです。

#DEFINE BS_TG 10
#DEFINE BS_GT 8

こうすると、すべてのIDは、正しい内部リンクを維持しながらより大きい値に移動されます。

これらのID再マッピングの問題は、いくつかの機能を説明するときに、レベルビルダーがコマンドのブロックを交換する際によく起こります。
このコマンドを使用してすべてのID番号を設定するという習慣を覚えていると、あなたのコードサンプルはどんなスクリプトにも簡単に適応できます。

備考:#FIRST_ID命令も参照すると、目的をより簡単に達成できます。

----------------

このコマンドの他の使い方はあまり役立ちませんが、とにかく考え方は次のようになります。
非常に頻繁に使用する公式ニーモニックコンスタンツのグループを簡単な単語に書き換えるのにこのコマンドを使います。

#DEFINE DEBUG DGX_LOG_SCRIPT_COMMANDS+DGX_COMMON_VARIABLES+DGX_LARA
and
#DEFINE USUAL DGX_LARA+DGX_SFX_SOUNDS+DGX_CHEATS

こうすると、Diagnosticコマンドの入力が簡単に変更できます。

Diagnostic=DEBUG, 0
または
Diagnostic=USUAL, 0
Diagnosticコマンドではなく、DiagnosticTypeコマンドの間違いだと思われる。

----------------

#DEFINE命令に関するいくつかの注意:

- このコマンドはローカルで、現在のソース内でのみ動作します。インクルードファイルで使用していると、異なるソースのため、その命令はそのインクルードファイルでのみ動作します。異なるソースでスクリプトを配置する利点は、異なる値を持つ同じ命令を任意のソースで使用できることです。

同じソースで同じコンスタンツ名を2回使用することはできません。
例えば:

#DEFINE MYNAME 12
#DEFINE MYNAME FT_BOTTOM_CENTER+FT_SIZE_ATOMIC_CHAR
MYNAMEというコンスタンツ名が重複している。どちらを処理していいかわからない。

- 同じソースの別のDEFINEコマンドに設定されたコンスタンツを(VALUEを得るために)数式で使用できますが、これらのコンスタンツを使用するDEFINEコマンドの前に配置する必要があります。

このコードは正しいです。

#DEFINE BS_ALL 10
#DEFINE BS_TG BS_ALL+30
#DEFINE BS_GT BS_TG+15

これは間違っています。

#DEFINE BS_ALL 10
#DEFINE BS_GT BS_TG+15
#DEFINE BS_TG BS_ALL+30

BS_TGの値は#DEFINE BS_GT命令が解析されるときにまだ定義されていないためです。

- VALUEフィールドの間に空白(スペース)を入れることはできません。
これは間違っています。

#DEFINE MYSUM ALFA +BETA

これは正しいです。

#DEFINE MYSUM ALFA+BETA

TriggerGroupコマンドでPluginIdを宣言するためのDEFINEの使い方
---------------------------------------------------------------
バージョン1.2.2.8より、#DEFINEはトリガのエクスポートやプラグイン管理に合わせて使用できます。
(NGLEからの)エクスポートされたトリガがプラグインによって所有されていた場合、そのエクスポートされたトリガを処理するプラグインが何であるかを発見する必要があります。
NGLEはスクリプトのトリガをエクスポートすると([Set Trigger Type]ウィンドウから)、そのトリガを所有するPluginIdの値をトリガに追加します。
問題はIDが数字だけであることですが、NG_CenterはそのPluginIdに対応するplugin_name.dllがどのようなものか知ることができますか?
最初の解決策はNGLEプログラムによって提供されます。トリガをエクスポートすると、Script.txtファイルが読み込まれ、Plugin=スクリプトコマンドから、NG_Centerにはそのplugin_nameのPluginIdが検出されます。右のPluginId(NG_Center内)を検出すると、PluginId(エクスポートされたトリガに挿入する)をそのNG_Center値に変換します。
NG_Center値?
このように、エクスポートされたトリガをTriggerGroupコマンドに追加すると、NG_Centerがトリガ内のPluginIdを読み込むと、Plugin=スクリプトコマンドの情報から右のプラグイン名と関連付けることができるので、正常に機能します
この問題は、トリガが別のスクリプトで使用される場合に発生します。
この状況では、新しいスクリプトはそのPluginIdに対応するPluginNameが何であるかを知る方法がありません。
NG_CenterがPluginIdとPluginNameの間のリンクを発見するのを助けるために#DEFINE命令を使用できます。
この状況では、この#DEFINEの位置は非常に重要です。なぜなら、指定されたPluginIdがある場合は、最初にTriggerGroupを宣言する必要があるからです。

例えば:

#DEFINE @Plugin_Train 3

TriggerGroup=.......

上のスクリプトでは、NG_Centerがコードを解析し、Plugin_TrainにはPluginId=3があり、次のTriggerGroupを解析するときにPluginId=3のトリガが見つかると、ID=3は「Plugin_Train」だと認識します。

TriggerGroupの前の行で#DEFINEが自分のものである必要はありません。それは2行目、3行目、20行目のいずれかであってもかまいません。とにかく、TriggerGroupのリンクを無効とするためにDEFINEを閉じることを忘れないでください。
以前の#DEFINEを閉じるには、別の#DEFINEである特別な値「CLEAR」を使用します。
したがって、上記の例は次のようになります。

#DEFINE @Plugin_Train 3

TriggerGroup=.......

#DEFINE @plugins CLEAR

上記の例のように、最終的な#DEFINEを入力し、次のような行は入力しないでください。

#DEFINE @plugin_train CLEAR

固定名「@plugins」を使用する理由は、単にこの構文上の理由だからにすぎません。
実際、将来は多くのプラグインが存在するかもしれないので、次のような構文が必要かもしれません。

#DEFINE @Plugin_smartlights 4
#DEFINE @Plugin_robots 3
#DEFINE @Plugin_train 1

TriggerGroup=....

#DEFINE @plugins CLEAR

上記の例では、PluginId情報のリストを与えた後、最終的な「#DEFINE @plugins CLEAR」という行ですべてクリアしています。

最後のCLEAR行を省略または間違えた場合、問題が発生する可能性があります。
次に、より詳細なサンプルを作成します。

これらのPlugin=コマンドが[Options]セクションにあるとします。

[Options]

Plugin=1, Plugin_people, IGNORE
Plugin=2, Plugin_train, IGNORE
Plugin=3, Plugin_demo, IGNORE

次に、NGLEからPlugin_trainが所有するトリガをエクスポートし、このトリガをTriggerGroup=10に追加します。

TriggerGroup=10, $024000, 132, $0012

このような状況では、#DEFINE @pluginを使用する必要はありません。なぜなら、NGLEがスクリプト内で読み取ったのと同じPluginIdをトリガに設定しているからです。したがって、plugin_trainはスクリプト内でID=2を使い、NGLEはトリガ内でID=2を使います。
最初にエクスポートされた番号($024000)の最初の2つの16進文字をIDとして見ることができます。最初の$02はPluginID=2です。

さて、次に進みましょう...

ここでは、新しいスキルについて、友人からTriggerGroup(またはより多くのコード)を取得したと仮定します。この友人は、それらのTriggerGroupの中でplugin_peopleを使用したことを通知します。彼は彼のスクリプトでPlugin_peopleがID=2を持っていることを通知しました。あなたのスクリプトではID=2はplugin_trainですが、DEFINE命令を使ってこの競合を解決できます。

#DEFINE @plugin_people 2

TriggerGroup=21, $02200, 17, $0124....

NG_Centerが「#DEFINE @plugin_people 2」行を読み込むとID=2をplugin_peopleに関連付けなければならないので、NG_Centerはあなたのスクリプトでplugin_peopleのID=1を(トリガの内部にある)ID=2に変換します。

しかし、最後のCLEARを省略して、このソートでコマンドを入力すると、

#DEFINE @plugin_people 2

TriggerGroup=21, $02200, 17, $0124.... ;plugin_peopleのためのあなたの友人からのTriggerGroup

...他のコマンド....

TriggerGroup=10, $024000, 132, $0012 ;plugin_trainのためのあなたのTriggerGroup

NG_CenterにはあなたのTriggerGroup=10も表示され、Plugin_peopleの場合と同じようにID=2(plugin_trainのもの)が変更されます。

この問題を解決するには、以前の#DEFINEをクリアして他のTriggerGroupを満たす前に閉じることを覚えておいてください。

#DEFINE @plugin_people 2

TriggerGroup=21, $02200, 17, $0124.... ;plugin_peopleのためのあなたの友人からのTriggerGroup

#DEFINE @plugins CLEAR

TriggerGroup=10, $024000, 132, $0012 ;plugin_trainのためのあなたのTriggerGroup

この新しいコードでは、「clear」を指定すると前の定義が削除され、NG_CenterがTriggerGroup=21を解析して内部プラグインテーブルのプラグイン定義を見つけられないときは、元々あったPluginIdを使用します。すなわち「2」。これはplugin_trainの正しいIDです。

構文:#FIRST_ID CommandName=FirstId
範囲:[Title]または[Level]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

この命令は、スクリプトのインクルードファイルで使用することが検討されています。
インクルードファイルを使用する唯一の欠点は、IDの競合の問題です。
多くのスクリプトコマンドは、最初の引数としてIDを持ち、これらのIDは同じタイプのコマンドでは一意でなければなりません。
NG_Centerはこれらの競合を検出してコンパイル後にエラーとして扱うことができますが、インクルードファイルでは常にメインスクリプトや他のインクルードファイルで使用されている値とは異なる値の範囲のIDを使用するのが良いでしょう。
#FIRST_ID命令はこの目的のために使われます。
インクルードファイルを作成するときは、次のように1つ以上の命令文を最初の行に入力する必要があります。

#FIRST_ID TriggerGroup=40
#FIRST_ID GlobalTrigger=30

上記の命令のおかげで、新しいスクリプトコマンドを入力してF1キーを押してそのコマンドの最初の利用可能なIDを発見すると、NG_Centerは特定のFIRST_ID命令で入力した値を数え上げ、最初の利用可能なIDを計算します。
したがって、上記の例を見ると、最初のTriggerGroupコマンドをこのインクルードファイルに入力すると(ただし、メインスクリプトや他のインクルードファイルに存在する可能性がある)、NG_CenterはTriggerGroupの最初のIDとして40という値を与えます。
2番目のTriggerGroupをタイプすると、最初のIDは「41」になります。
このようにして、インクルードファイル内のすべてのスクリプトコマンドをどのIDから開始するかを決めることができ、異なるインクルードファイルやメインスクリプトファイル間の競合のリスクを軽減できます。
さらに、インクルードファイルの先頭にあるFIRST_ID命令は、将来新しい機能を使用する際、古いインクルードファイルで使用されていたID範囲をすぐに発見することができます。

備考:

-あなたによって定義されたニーモニックコンスタンツを使うことができます。

#DEFINE BS_TG 30

#FIRST_ID TriggerGroup=BS_TG+10

-「=」記号の右側のオペランドの間にスペースを入れないでください。

これは間違いです。

#FIRST_ID TriggerGroup=BS_TG+ 10

-#FIRST_ID命令はローカルです。つまり、同じソースファイル内でのみ動作します。

-ID範囲のスワッピングを強化するには、#DEFINE命令の説明も参照してください。

構文:#INCLUDE "ExternalScriptTextFile.txt"
範囲:任意
おそらくこういうことだと思われます。
#INCLUDE命令はスクリプトコマンドではなく、最終的なScript.datに変更を加えません。
これは、長いScript.txtを分割して順序付けして、メインスクリプトからScriptフォルダ内の小さなテキストファイルにコマンドの特定のブロックを移動するだけです。
NG_Centerが#INCLUDE命令を検出すると、指定されたインクルードファイルの内容を一時的にロードし、INCLUDE命令と同じ位置にメインスクリプトとともに貼り付けます。このため、コンパイル時の応答は常に同じです。
INCLUDE命令の使用法は、スクリプトを論理ブロックで分割して並べるのに便利です。
例えば、カスタムAnimationやその他のエフェクトを実現するスクリプトコマンドを多数作成する場合、そのターゲットのすべてのコマンドを、意味のある名前の区切られたテキストファイルにコピーできます。
このようにして、スクリプトは次のようになります。

#INCLUDE "LaraHome.txt"

#INCLUDE "AnimClimbFromWater.txt"

#INCLUDE "DistanceSensory.txt"

この作業計画には間違いなく利点があります。
いくつかの(すでに完了している)機能に興味がない場合は、メインスクリプト内のこれらのスクリプトコマンドすべてが混乱を招くわけではありません。
一方、その機能で仕事をしたいときは、NG_Centerにインクルードファイルをロード(F5キー)することができます。意味のあるコマンドを勉強してエディタで編集することができます。

インクルードファイルを扱う場合は、#FIRST_ID命令の説明も読んでください。
メインスクリプトとインクルードファイルに格納されているコマンドのIDが競合するリスクを軽減することは非常に有益です。

備考:

-メインのScript.txtファイルにのみ#INCLUDE命令を入力できます。これで、Script.txtファイルの#INCLUDE命令からロードされたサブファイルで#INCLUDE命令を使用できるようになりました。

-カーソルが#INCLUDE行にある間に、エディタでF5キーを押すとインクルードファイルを読み込むことができます。

-Ctrl F5コマンドを使用して、ファイル名を指定して空のインクルードファイルを作成し、コマンドを保存することができます。

構文:AddEffect=Id, EffectType(ADD_), FlagsEffect(FADD_), JointType(JOINT_), DispX, DispY, DispZ, DurateEmit, DuratePause, Extra param array
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:99
一応訳しましたが、私もよくわかっていません。

AddEffectコマンドは、上級レベルビルダーにのみ推奨されます。
より一般的な使い方は、Moveableのアニメーションの特定の瞬間(フレーム)でAnimationEditor(WADMergerにある)のAnimCommandsを使用して一時的な効果を追加することです。
追加することができます:血、炎、煙と霧(滝の霧のような)
理論的には、共通のトリガのような追加効果を使用することもできます。これは、AnimCommandsでトリガを変換し、それをMoveableのアニメーションに追加する方が良い方法です。

備考:1.2.2.4より、Staticアイテムにも効果を加えることができます。
Staticに効果を追加すると、いくつかのフィールドは無視され、もちろんAnimCommandsを使用して適用することはできません。
引数

Idフィールド
-------------
これは、[Set Trigger Type]ウィンドウで参照するAddEffectスクリプトコマンドの単純な識別子です。これは、PuzzleItemコマンドまたはPuzzleComboコマンドの最初の引数のように機能します。
例えば、「1」と入力すると、追加する効果を1つ選択して[Set Trigger Type]ウィンドウでこの追加効果を参照します。
idの有効範囲は1から999です。インスタンスの最大数は99です。

EffectTypeフィールド
---------------------
このフィールドにADD_コンスタンツを設定して、追加する効果タイプを選択します。NG_Center[Reference]のADD_コンスタンツも参照してください。

FlagsEffect(FADD_...)フィールド
----------------------------------
いくつかのフラグ効果(FADD_)を使用して、デュレーションまたは効果の動作に関するその他の設定を無効にすることができます。
NG_Center[Reference]のFADD_コンスタンツも参照してください。

備考:Staticアイテムに現在の効果を追加したいときは、いくつかのフラグは無視されますが、他のフラグはクラッシュする可能性があるので、使用しないでください!
Staticアイテムで使用しないフラグ:FADD_DURATE_ANIMATION, FADD_DURATE_STATEID, FADD_VORIENT_180, FADD_VORIENT_270, FADD_VORIENT_90

JointType(JOINT_...)フィールド
---------------------------------
その他のタイプの効果を指定するには、この効果を表示する位置を正確に設定する必要があります。
この計算はちょっと複雑で動きのあるジョイントに対応する点から始めなければなりません(次のフィールドDispX、DispY、DispZを参照)。このジョイントからの変位を設定します。
次のジョイントのいずれかを選択できます。

備考:Staticアイテムに現在の効果を追加すると、Staticは常にメッシュが1つしかなく、ジョイントがないため、このフィールドは無視されます。

JOINT_SINGLE_MESH:0
JOINT_PUBIS:0
JOINT_LEFT_THIGH:1
JOINT_LEFT_KNEE:2
JOINT_LEFT_ANCKLE:3
JOINT_RIGHT_THIGH:4
JOINT_RIGHT_KNEE:5
JOINT_RIGHT_ANCKLE:6
JOINT_ABDOMEN:7
JOINT_NECK:8
JOINT_LEFT_SHOULDER:9
JOINT_LEFT_ELBOW:10
JOINT_LEFT_WRIST:11
JOINT_RIGHT_SHOULDER:12
JOINT_RIGHT_ELBOW:13
JOINT_RIGHT_WRIST:14

値JOINT_SINGLE_MESH(0)については、単一のメッシュのMoveableに使われます。このような状況では、効果の起点はメッシュの中心になります。(実際はピボットですが、非常にしばしば単一メッシュの中心です)
つまり、パーティクル効果をマルチメッシュのMoveableに追加する場合は、原点のようなジョイントを設定し、DispX、DispY、およびDispZフィールドでこの原点を変更して、希望の位置に効果を作成する必要があります。
詳細は以下のフィールドの説明を参照してください。

DispX, DispY, DispZフィールド
------------------------------
DispX、DispY、DispZの3つの値は、ジョイントフィールドで設定した効果の原点間の距離です。
これらの3つの値をどのように設定するかを理解するために、例を実行する方が簡単です。

あなたがララの口に(息として)煙を加える場合は、目標点に近いジョイントを選択する必要があります。つまり、JOINT_NECKを選択してジョイントフィールドに入力することができます。

首から煙が出てしまうので、この原点を上と前に移動させるべきです。
軸X、Y、Zを理解するために、あなたの方に顔を向けているララ(フェイストゥーフェイス)を想像してみてください。
さて、X軸、Y軸、Z軸の向きは次のとおりです。

X値はララの左手で(あなたの右手で)負の値になりますが、ララの右手で(あなたの左手で)正の値になります。

Y値はララの頭が(上向きに)移動するときは負の値になりますが、ララの足が(下向きに)移動するときは正の値になります。

Z値はララの顔がダイレクトにあなたの方に向いているとき(あなたはララを見ています、覚えていますか?)に正の値になりますが、ララの顔が後ろになると負の値になります。

上記の方向付けに続いて、我々はララの口の前で煙を動かすためにこれらの値を使うことができます。
我々は原点として首から始めるので、

口が首から出ているので、煙を正面方向に動かすので、これはZ座標を考慮して、煙はララの前で、背後ではないので、正の値を使用します。
DispZ= +70

Y軸は上向きに負の値を持ち、下向きには正の値をとることができるので、首を下にして煙を上に移動する必要があります。
DispY= -70

DispXについては、首と口が同じ垂直線上にあるので、0にすることができます。

そこで、変位を使用します。

JOINT_NECK, 0, -70, 70

煙はララの口の(ほぼ)前にあるはずです。

DurateEmit and DuratePauseフィールド
-------------------------------------
煙や血液のような効果では、崩壊する粒子の周縁部に休止の他の段階で粒子を放出する段階を交互に行う必要があります。
上記のフィールドに入力する値は、フレーム数です。
例えば、DurateEmit 3およびDuratePause 10として挿入すると、3つの連続するフレームで効果が発生し、10フレームの間中断されます。
これらの2つの値を合わせることで、希望する効果の強さを設定できます。

いくつかのヒントは、これらの2つのフィールドを設定する。
火災と煙:FADD_CONTINUE_EMITフラグを使用して、継続して放射する方が良いです。この場合、durateとpauseの値の型は無視されるため、フィールドを送出することは重要ではありません。
血の場合:1をDurateEmit、30をDuratePauseに設定します。
ミストの場合:あなたが望む結果に依存します。場合によっては、FADD_CONTINUE_EMITフラグを使ってミストもうまく動作します。スプレーをシミュレートする場合は、1をDurateEmit、3をDuratePauseとして使用できます。

Extra Param arrayフィールド
----------------------------
このフィールドには、効果タイプに応じてオプションのフィールドが変化します。
現在、ミストやライトの効果にのみ追加のパラメータがあります。

ミストのための余分なパラメータ
------------------------------
Extra1=ミストボールのサイズ。デフォルト値は12です。
Extra2=ミストボールの数。デフォルトは1です。最大4つのミストボールを設定することができます。ミストボールは、理想的なライン上に配置されます。ミストラインは、現在の動きの方向に向いています。とにかく、ミストラインのフェーシングを回転フラグを使って回転させることができます。
Extra3=ミストの色。MIST_COL_値を設定することができます。NG_Center[Reference]ですべての色を見つけることができます。
Extra4=ミストの持続時間。デフォルト値は6です。このフィールドは、移動可能領域が動いていて、目覚めさせたい場合にのみ使用してください。値が大きければ大きいほど、後は長くなる。

光効果のための追加パラメータ
----------------------------
Extra1=光の強さ。Paolone氏はこの値の意味を詳細にはわかりませんが、もしあなたがあなたの光のために最も強くて幅のある大きな値を入力すれば、とにかくです。フレアの光は強度=16で、この値を基準として閉じた値を使用してください。Paolone氏はそれが光によって到達される距離のセクターの数である可能性があると推測します。
この値は、フラットライトとブリンクライトでは機能しますが、スポットライトでは効果がありません。

Extra2=スポットライトの最大距離。この値は、ADD_LIGHT_SPOTエフェクトでのみ機能します。スポットライトは、ライトコーンの始点と終点の2つの3Dポイントを使用します。最初の3Dポイントは、スポットを追加した移動可能なポイントです。最後のポイントは、このスポットで最後に照射されたゾーンです。SOURCE+指定された方向(直面する方向)の距離。距離はセクターで入力する必要があります。例えば、サイドカーのヘッドライトには、デフォルトの古いtomb4では距離の20セクターがあり、それは世界の遠い視点でした。とにかくスーパーパワーライトを望んでいない場合は、この距離を減らす方がよいでしょう。このフィールドにIGNOREと入力すると、12セクターが使用されます。

Extra3=光の色。このフィールドには、ミスト効果に使用されるMIST_COL...コンスタンツと同じ値を入力できます。

ADD_FLAMEエフェクトの追加パラメータ
-----------------------------------
Extra1=強度。このフィールドの値は、FADD_FIRE_STRIPの有無に応じて完全に変化します。
フラグ。

ファイアストリップを使用するときは、Extra1で+1000から-8000の値を入力する必要があります。妥当な値は-4000です。

一般的な単一火を使用するときは、火の大きさを増やす場合は0、1または2を入力します。

Extra2=ララを燃やすための設定。1=ララを燃やし、0=ララにダメージを与えない。

Extra3=垂直方向の設定。1=垂直/0=水平
このフィールドは、FADD_FIRE_STRIPフラグとともにのみ使用されます。
このフィールドに水平方向のファイアストリップを0に設定したい場合は、
あなたが1に設定すると、(小さな)火山の火のような火災の消滅を得る。


詳しくは、AnimationコマンドについてのチュートリアルのAnimationスクリプトコマンドを参照してください。
ヘルプ内のExtraフィールドについて
FAN_WHEN_ON_VEHICLEフラグ、FAN_USE_EXTRA_SLOTフラグは[Reference]にありません。以前のバージョンの名残ではないかと思われます。
Animationコマンドについてのチュートリアル内にもこの2つのフラグに関する説明がありません。

構文:AnimationSlot=Slot, AnimSlotFlags(ASF_...), AnimIndex, Key1, Key2, FAN_flags, ENV_Environment, Distance For Env_, Extra, StateId(STATE_...) or(-)AnimationIndex array(...)
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:511
一応訳しましたが、私もよくわかっていません。

AnimationSlotはAnimationコマンドと非常に似ていますが、AnimationSlotはララとは異なるMoveableで動作します。
これを使用して、新しいMoveableまたは車両をゼロから作成したり、既存のMoveableのアニメーションを変更することができます。

AnimationSlotのフィールドとフラグの大部分はAnimationコマンドと同じなので、ここでは2つのコマンドの違いだけを説明します。一方、一般的なフィールドについての情報を得るには、Animationコマンドの説明を読んでください。

Slotフィールド
---------------
このフィールドには、変更するスロットのスロット番号またはMNEMONIC CONSTANTS(BADDY_1、MUMMY)を入力します。

AnimSlotFlags(ASF_...)フィールド
-----------------------------------
このフィールドには、1つまたは複数のASF_フラグを入力して、AnimationSlotコマンドに影響を与えることができます。

Otherフィールド(Animationコマンドと共通)
---------------------------------------------
(上の)AnimSlotFlagsフィールドに続くすべてのフィールドはAnimationコマンドと同じなので、Animationコマンドの説明を読んで、これらのフィールドについての情報を入手してください。
ここでは、2つのコマンドの違いについて簡単に説明します。

(1)AnimationSlotは、特定の(ララとは異なる)スロット上で動作するので、最後のStateID、AnimationIndex arrayのアニメーション番号およびStateIDは、そのスロットのアニメーションおよびStateIDを考慮します。

(2)Vehicleを除き、AnimationSlotではKEY1フィールドとKEY2フィールドは使用しません。これは、プレイヤーが敵を制御できないためです。

(3)車両を作成するときは、2つの異なるスロット、つまり車両のスロットと、その車両に使用されるララのアニメーションのスロットで作業する必要があります。
ララと車両は同時に(ララがそれを運転する間)常に同じアニメーション番号を持つので、AnimationIndex arrayフィールドにアニメーション番号を設定しても問題はありません。 とにかく、Slotフィールド(AnimationSlotコマンドの最初のフィールド)は同じタイプではありませんは、車のスロットまたはララのアニメスロットです。環境および距離に関する条件は、この選択に従ってMoveableとみなされるためです。このため、通常は、衝突のボックスが大きく、この衝突ボックスが最も重要であるため、車両の移動についてはanimtypeの車両スロットを設定し、ララのアニメスロットを使用して他の敵からのララのさらなる傷害のような特定の状況を計算します。
備考:ララのアニメーションの条件を設定すると、それが使用される有効なオブジェクトは、それ自身のララになります。使用されるアニメーションの違いは、特定のララのアニメーションスロットのものとなります。

(4)ENV Condition:ENV_CONDITION_TRIGGER_GROUPフラグを使用すると、そのTriggerGroupに格納されたアクションとコンディショントリガは、次のTriggerGroupフラグのいずれかを使用して、敵、車両、またはララのアニメスロットで動作するようにリダイレクトできます。

TGROUP_USE_ITEM_USED_BY_LARA_INDEX これはララによって駆動される車両です。
TGROUP_USE_EXECUTOR_ITEM_INDEX これは運転中のララのインデックス、またはAnimationSlotコマンドで変更/作成している敵のインデックスです。
TGROUP_USE_FOUND_ITEM_INDEX(これは通常どおり、AnimationSlotコマンドのテストポジション条件で検出されたアイテムインデックスです)

構文:AssignSlot=MyUsedSlot, OBJ_Type
範囲:[Level]セクションで使用する。
レベルセクションのインスタンス数:100
一応訳しましたが、私もよくわかっていません。

備考:バージョン1.2.2.2から、AssignSlotには新機能があります。以下のアップデートに関する説明を注意深く読んでください。

MyUsedSlotフィールド
---------------------
このフィールドには、スロット名またはスロットインデックスを入力します。
例えば、「ENEMY_JEEP」または「34」を入力します。

OBJ_Typeフィールド
-------------------
このフィールドには、MyUsedSlotフィールドに割り当てるオブジェクトを入力します。
MyUsedSlotフィールドとは別のオブジェクトである必要があります。

プラグインでは、すべての新しいオブジェクトにはAssignSlotとOBJ_というコンスタンツが必要です。

AssignSlotを使用して、あるオブジェクトの機能を別の機能にリースする際に、スロットタイプを入力することができます。このスロットのすべての機能は、MyUsedSlotスロットに配置されたオブジェクトに強制します。

例えば、ANIMATING1スロットにリスタイルのクロコダイルを置いて、実際のワニの特徴を[Level]セクションに入力して、それに与えるには。

AssignSlot=ANIMATING1, CROCODILE

あなたはAssignSlotを使って、2種類以上のワニやBADDY_1のように外見の異なる敵のように、外見は違うが同じ機能を持つ異なる敵を持つことができます。

備考:

*すべてのスロットが割り当てを受け入れるとは限りません。ドア、滝、スイッチ、何らかのエミッターは、おそらく割り当てされたスロットで問題を抱えます。このコマンドは、敵にのみ使用してください。

*スロットを再割り当てするときは、両方のスロットがWADに本当に存在する必要があります。
例えば次のコマンドを実行する場合、

AssignSlot=ANIMATING1, CROCODILE

wadにはCROCODILEオブジェクトが必要です。

* BADDY_1、BADDY_2、VON CROY、GUIDEのようないくつかの敵は、代替スキンを必要とします。
デフォルトでは、代替スキンは次のスロットにあります。

BADDY_1の代替スキンはMESHSWAP3の中に
BADDY_2の代替スキンはMESHSWAP2の中に
VON CROYの代替スキンはMESHSWAP1の中に
GUIDEの代替スキンはMESHSWAP2の中に

上記の敵を割り当てるときは、新しい代替スキンを追加する必要がありますが、それをMESHSWAPスロットに配置することはできません。

このため、使用したすぐ次のスロットに代替スキンを挿入する必要があります。

例えば、次のスクリプトコマンドを使用するとします。

AssignSlot=ANIMATING4, BADDY_1

TRNGは、ANIMATING4_MIPスロット内にBADDY_1の代替スキンを探します。このスロットは、ANIMATING4スロットに続くスロットです。

*新たに割り当てられた敵に、元のオブジェクトの他のHPとは異なる新しいHP(活力)を与えることができます。

例えば、次の例では

AssignSlot=ANIMATING4, BADDY_1

ENEMYコマンドを使用して、ANIMATING4スロットのBADDY_1に他のBADDY_1スロットとは異なる新しいHPを強制することができます。

Enemy=ANIMATING4, 1400, IGNORE, IGNORE, IGNORE, IGNORE, IGNORE

しかし、ANIMATING4のために別のダメージを与えることはできません。実際にはEnemyコマンド内のダメージ値は無視されます。
再割り当てされた敵のダメージはソース割り当てスロットと同じになります。上記の例では、他のすべてのBADDY_1オブジェクトに同じダメージが与えられます。
上記の理由から、再割り当てされた敵の受けるダメージを変更したい場合は、Enemyスクリプトコマンドを使用して再割り当てした元のオブジェクトのダメージを修正する必要があります。

*割り当て先の敵はMIPバージョンをサポートしていません。

*割り当て先の敵は元の敵とは異なるアニメーションを持つことはできません。実際には、割り当て先スロットのアニメーションは決して使用されません。

トリック:上記の制限を越える唯一の方法は、元の敵のアニメーションに、Script.datのTriggerGroupを呼び出すために使用された、エクスポートされたフリップエフェクトを挿入することです。
このTriggerGroupに現在のアイテム(TRNG変数のデモを参照)のスロットIDに関する開始条件も入力すると、割り当て先の敵によってアニメーションが実行されたときにのみ、AnimCommandsを実行できます。このAnimCommandsは、異なるアニメーションを実行するため配置すべきです。とにかく、この新しいアニメーションは元の敵に常に追加し、割り当てられた敵のスロットには追加しません。

構文:ColorRGB=IdColor, Red, Green, Blue
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:199
おそらくこういうことだと思われます。

ColorRGBは、フリップエフェクトまたはアクションでIdColorを参照して使用し、2番目以降のフィールドに使用するRGBを挿入することができます。

IdColorフィールド
------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
IDの有効範囲は1から1999です。

Redフィールド
--------------
赤の強さ。0から255の値を入力できます。

Greenフィールド
----------------
緑の強さ。0から255の値を入力できます。

Blueフィールド
---------------
青の強さ。0から255の値を入力できます。

構文:CombineItems=FirstItem(slot), SecondItem(slot), FinalItem(slot)
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:92
おそらくこういうことだと思われます。

FirstItem, SecondItem, FinalItemフィールド
-------------------------------------------
すべてのフィールドには、NG_Center[Reference]のSLOT MOVEABLESリストで検索できるスロット値を入力することができます。
備考:実際には、すべてのスロットが使用できるわけではありません。インベントリアイテムに対応するスロットのみ使用できます。
これらのスロットには、名前に「_ITEM」という単語が含まれているため、簡単に認識できます。
例えば、PISTOLS_ANIMまたはLARA_HOLSTERS_PISTOLSは使用できませんが、PISTOLS_ITEMまたはPISTOLS_AMMO_ITEMを使用できます。

説明
-------------
このコマンドを使用すると、インベントリアイテムに関する新しい結合ルールを作成して、新しいアイテムを入手することができます。
すでに「PUZZLE_ITEM1_COMBO1」と「PUZZLE_ITEM1_COMBO2」の2つのアイテムを結合して、新しいアイテム「PUZZLE_ITEM1」をインベントリに入れたり、「LASERSIGHT_ITEM」と「CROSSBOW_ITEM」を組み合わせて「CROSSBOW WITH LASER-SIGHT」を入手しました。

ところが、CombineItemsコマンドを使用すると、他のアイテムも同様に入手できます。

1)特定の「COMBO」アイテムやLASER_SIGHT + 武器だけではない、組み合わせを作成することができます。
例えば、「PUZZLE1」と「KEY2」を組み合わせて、他の新しいアイテムを入手することができます。

2)パズルアイテムだけでなく、武器、メディパック、EXAMINEアイテム、その他すべてのインベントリアイテムを最終アイテムとして設定できます。

例えば、プレイヤーにこの武器のさまざまな部分を拾うための目的を与え、すべての部品を拾ったときにのみ、武器を作り上げることができます。

2つの部品で完成するアイテムを作ることができますが、3つ、4つ、5つ、それ以上で完成するアイテムも作成できます。
そのためには、同じ[Level]セクションに2つ以上のCombineItemsコマンドを入力することです。
例えば、最終的な武器がグレネード銃であるとして、それを完成するために3つの部分が必要な場合は、次のスクリプトコマンドを入力できます。

CombineItems=PUZZLE_ITEM1, PUZZLE_ITEM2, PUZZLE_ITEM3

CombineItems=PUZZLE_ITEM3, PUZZLE_ITEM4, GRENADE_GUN_ITEM

上記のコマンドでは、中間アイテムとしてPUZZLE_ITEM3を使用しています。したがって、グレネード銃を作るための3つのピースは次のようになります。

(PUZZLE_ITEM1 + PUZZLE_ITEM2) + PUZZLE_ITEM4 = GRENADE_GUN_ITEM

備考:上の例の、PUZZLE_ITEM1 + PUZZLEITEM2でPUZZLE_ITEM3が完成するのは論理的ではありません。なぜならPUZZLEITEMを完成するための組み合わせが既に存在するからです。
そのため、デフォルトのCOMBOアイテムを使用して3つの部品を用意する必要があります。

PUZZLE_ITEM1_COMBO1 + PUZZLE_ITEM1_COMBO2 + KEY_ITEM1_COMBO1

既に、(PUZZLE_ITEM1_COMBO1 + PUZZLE_ITEM1_COMBO2)というPUZZLE_ITEM1を入手するための結合ルールが存在するため、スクリプトコマンドには、このコマンドだけを入力する必要があります。

CombineItems=PUZZLE_ITEM1, KEY_ITEM1_COMBO1, GRENADE_GUN_ITEM

このようにして、プレイヤーはPUZZLE_ITEM1のためにCOMBO1とCOMBO2をピックアップします。
3番目の部品であるKEY_ITEM1_COMBO1もピックアップし、最後にCOMBO1 + COMBO2(標準コンバインルール)で組み合わせたPUZZLE_ITEM1と、3番目の部品であるKEY_ITEM1_COMBO1と組み合わせることができます。
アイテム。

備考:
*このコマンドでIGNOREを使用することはできません。
*無効なスロット値を入力すると、対応するCombineItemsコマンドはTRNGによって無視されます。
*同じ[Level]セクション内のCombineItemの最大数は67インスタンスです。

構文:CRS=ENABLED/DISABLED
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

CRSはCrash Resume Systemを意味し、NGLEの[Settings]ウィンドウのCRSと同じように動作します。
CRSが有効になっていると、クラッシュによってゲームが停止する可能性は非常に低いです。

CRSの使用については、レベルを制作している間はCRS(CRS=DISABLED)を無効にすることをお薦めします。(問題の把握につながるからです。)レベルが完成しリリースする前にCRSを有効にすれば、プレイヤーがクラッシュを避けやすくなります。

備考:
(1)CRSを無効にしてクラッシュが発生した場合、現在のNGLEフォルダにLast_Crash#.txtという名前のファイルが作成されます。
ゲームが終了したばかりでなく、クラッシュが発生したことを知らせるために、クラッシュログを含む特定のLast_Crashファイルを見つけることができるように、別の小さなファイル(常に同じ)が表示されます。
(2)次のフォーラムでクラッシュレポートを投稿することができます。「Bug Reports about NGLE」(http://www.aspidetr.com/forum/viewtopic.php?t=1748)

構文:Customize=CUST_Customize Type, Arguments
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

Customizeコマンドでは、標準のtomb4エンジンの古いデフォルト値や動作を新しいものに置き換えて、多くの小さな設定を変更することができます。
同じ[Level]セクションにさらにCustomizeコマンドを入力できます。
デフォルトでは、設定は現在のレベルでのみ機能します。すべてのレベルで同じ設定を使用したい場合は、タイトルレベルの[Level]セクションにCustomizeコマンドを挿入します。

CUST_Customize Typeフィールド
-------------------------------
このフィールドには、希望するカスタマイジングのタイプを指定するCUST_..コンスタンツを入力します。
NG_Center[Reference]のCUST_コンスタンツも参照してください。

Argumentsフィールド
--------------------
CUST_コンスタンツの後に入力する引数については、現在のCUST_コンスタンツに応じて異なる意味を持つ可変数(場合によっては存在しません)になります。
その使用方法を知るには、それぞれのCUST_コンスタンツの説明をお読みください。NG_Center[Reference]のCUST_コンスタンツも参照してください。

構文:CutScene=ENABLED
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

Cutsceneコマンドは、現在のレベルをカットシーンレベルのようにすることを許可します。
このコマンドによって実行される操作は2つだけです。
1)すべてのキーボード/ジョイスティック入力が、カットシーンレベル全体で無効になります。
2)ララが手に武器やフレアを持っている場合、強制的に手ぶらにする。この操作は、カットシーンレベルの開始時に実行されます。

構文:Damage=Flags DMG_, SecondsForDeath, SecondsForBarRestore, BarColor, BarName, BlinkPercentage
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:2
おそらくこういうことだと思われます。

Damageコマンドを使用すると、ゲームのDamageルームやColdルームのダメージ機能の外観や動作をカスタマイズできます。
備考:Script.txtでDamageコマンドを使用しない場合は、DamageルームとColdルームは正常に機能しますが、デフォルト設定を使用します。(上記参照)

引数

FlagsDMG_フィールド
--------------------
1つ以上のコンスタンツで、ダメージの動作を設定します。NG_Center[Reference]のDM_フラグも参照してください。
プラス'+'記号を使用して異なるDMG_値を加算して合計することができます。
以下のDMGフラグが存在します。

DMG_INDIRECT_BAR
間接的なダメージの進行状況バーを有効にします。
このフラグが存在するとき、ダメージはこのように作用します。ダメージバーは減少しますが、それが空にならない限り、ララにダメージはありません。
間接ダメージバーが空になったら、ララのHP(活力)が非常に速く下り始めます。
つまり、このフラグを設定しないと、ダメージは直接ララのHPに影響します。

DMG_ONLY_PAD
ララが現在のDamageルームの床に触れているときにのみダメージを制限する。このため、このフラグはColdルームでは無視されます。
このフラグを使用して、燃える床/感電する床をシミュレートすることができます。

DMG_INCREASE_BAR
DMG_INDIRECT_BARフラグとともにのみ使用します。
デフォルトでは、間接ダメージバーは満タンで開始し、時間とともに減少します。このフラグを使用すると、間接ダメージバーは空で開始し、時間とともに増加します。
このフラグを使用して、部屋の温度上昇をシミュレートすることができます。

DMG_COLD_WATER
このフラグを設定すると、Cold Waterルームの機能をカスタマイズできます。
このフラグを使用しないと、設定はDamageルームに影響します。

DMG_POISON_LARA
このフラグを設定すると、ララがまだDamageルームに入っていないのに毒に犯されることになります。

DMG_BURNING_DEATH
水のないDamageルームにのみ使用します。
このフラグを有効にすると、次の場合にララが燃えます。
間接ダメージバーは空です。(間接ダメージバーがある場合)
HPバーが空です。(Damageルームの間接ダメージバーを有効にしていない場合)
このフラグを使用して、ララが燃えるまで温度が上昇する部屋をシミュレートすることができます。

DMG_BURNING_SCREAM
DMG_BURNING_DEATHフラグとともにのみ使用します。
DMG_BURNING_DEATHフラグを設定した場合、このフラグを設定して、ララに火がついたときに悲鳴を上げるよう強制することもできます。
備考:このフラグは、間接ダメージバーが設定されていないと、ララはすぐに焼け死に、叫ぶ時間がないので、間接ダメージバーと一緒に機能します。

DMG_SLOW_DISAPPEARING
DMG_INDIRECT_BARフラグとともにのみ使用します。
このフラグでララがDamage/Coldルームから出ると、間接ダメージバーは満タンになるまでゆっくりと増加し、満タンになると画像から取り除かれます。
言い換えれば、このフラグを設定しないと、ララがDamageルームから出ると、間接ダメージバーがすぐに消えます。

DMG_ALERT_BEEP
DMG_INDIRECT_BARフラグとともにのみ使用します。
このフラグを設定すると、間接ダメージバーが満杯よりも15%(またはそれ以下)まで下がると、バーが点滅し、ビープ音が間隔を置いて鳴ります。
備考:このフラグがない場合、間接ダメージバーは点滅しますが、音は鳴りません。

SecondsForDeathフィールド
--------------------------
=Damageプロシージャは間接ダメージバーの無くなる速度とダメージの程度を秒数で示します。実際は、このフィールドに設定する数値は、間接ダメージバー全体を減らすのに必要な秒数です。したがって、大きな数字(例えば40秒)を設定すると、ララを殺したり、間接ダメージバー全体を減らすのに多くの時間が必要となるため、ダメージは非常に小さくなります。つまり、秒数を少しに設定すると、ダメージは非常に強くなり、ララは速く殺されます。

SecondsForBarRestoreフィールド
-------------------------------
このフィールドは上記のフィールド(SecondsForDeath)と同じように動作しますが、この場合、ララがColdやDamageルームから離れたときに間接ダメージバーを満タンに戻す速度を制御します。

BarColorフィールド
-------------------
このフィールドには、間接ダメージバーの主な色を設定するRGB値を入力します。
16進形式のRGB値(16進数の場合は'$'接頭辞を使用)は次のとおりです。$RRGGBB
ここで、RR=赤、GG=緑、BB=青の強度。
可能な値は次のとおりです。

$F924F1 ピンク(Coldルームのデフォルトカラー)
$F6F923 イエロー(Damageルームのデフォルトカラー)
$FB8953 オレンジ
$FF0000 赤
$00FF00 緑
$0000FF 青

BarNameフィールド
------------------
このフィールドにゲーム内で間接ダメージバーを説明するテキストを設定します。
例えば、このフィールドに「Temperature」というテキストを入力すると、このテキストが間接ダメージバーの下部に表示されます。
備考:
このフィールドに入力したテキストは、English.txtファイルの[Strings]または[ExtraNG]セクションに存在する必要があります。
この制限を回避する方法は、実際のテキストを入力する代わりに[Strings]のインデックス値を直接入力することです。
[Strings]のインデックスを知るには、NG_Center[Strings]を使用できます。
インデックスは次のように入力する必要があります。

#12は[Strings]のインデックス値 = 12は[Strings]セクションにある文字
!12は[ExtraNG]のインデックス値 = 12は[ExtraNG]セクションにある文字

[Strings]のインデックスを使用している場合は、テキストがEnglish.txtに存在する必要はありませんが、ゲームで使用する特定のlanguage.datファイルには必要です。

備考:間接ダメージバーの名前を表示したくない場合は、「IGNORE」またはヌル記号であるテキスト*(アスタリスク)を入力できます。

BlinkPercentageフィールド
--------------------------
間接ダメージバーが点滅し始める割合を設定できます。
例えば、30をBlinkPercentageに設定すると、間接ダメージバーが満タンから30%以下になるとバーが点滅します。
このフィールドにIGNOREと入力すると、デフォルト値は20%になります。
デフォルト値
現在のレベルのスクリプトでDamageコマンドを設定しないと、設定は次のようになります。

一般的なDamageルームの場合

Damage=DMG_INDIRECT_BAR + DMG_SLOW_DISAPPEARING + DMG_ALERT_BEEP, 16, 6, $F6F923, IGNORE

Coldルームの場合

Damage=DMG_INDIRECT_BAR + DMG_SLOW_DISAPPEARING + DMG_ALERT_BEEP, 10, 5, $f924f1, IGNORE

構文:Detector=Flags(DTF_..), MetricScale, MetersOfRange, Target Items array
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

TRNGには、「Detector」という新しいオブジェクトがあります。
Detectorでララは、リアルタイムでターゲットの位置を特定することができます。
Detectorには2つのモードがあります。
サンプルレベルにあるポインタモードとレーダーモードです。
どちらのモードも、このコマンドで設定する必要があります。

Detectorスクリプトコマンドのフィールド

Flags(DTF_..)フィールド
--------------------------
Detectorの最初のフィールドに異なるDTF_値を追加して、その機能を設定することができます。

現在、次のDTF_フラグがあります。

DTF_ENGAGE_ALWAYS
DTF_ENGAGE_IN_RANGE
DTF_ENGAGE_INVENTORY
「ENGAGE」で始まるDTFフラグは、ゲーム内でDetectorを起動する方法を設定します。
上記のフラグの1つだけを選択する必要があります。

DTF_ENGAGE_ALWAYSを設定すると、ゲーム開始と同時にDetectorが表示され、ターゲットを入手すると消えます。

DTF_ENGAGE_IN_RANGEを使用すると、Detectorは、指定された範囲内のターゲットに近づいたときに自動的に表示されます。
例えば50メートルに設定すると、ターゲットから50メートル以内でDetectorは表示され、50メートル以上離れると消えます。

DTF_ENGAGE_INVENTORYは、他のアイテムと同様にDetectorを設定します。ララはそれを拾う必要があります。(サンプルレベルではDetectorはQUEST_ITEM1になります)
インベントリーで選択すると、Detectorが表示されます。画面から削除するときは、インベントリーから「Cancel」を選択します。

DTF_REQUIRED_ITEM
このフラグは、上記のENGAGEフラグに、QUEST_ITEM1アイテムが必要であると設定します。
例えば、DTF_ENGAGE_ALWAYS + DTF_REQUIRED_ITEMフラグを使用すると、Detectorは、ララがピックアップした場合にのみ(常に)表示されますが、インベントリーでは表示を消すことは出来ません。
DTF_ENGAGE_INVENTORYフラグはDTF_REQUIRED_ITEMフラグと同じ意味になるためどちらか一つのフラグだけで構いません。
DTF_ENGAGE_IN_RANGEフラグを使用した場合、Detectorを表示するためには以下の2つの条件が必要です。
ララがピックアップしたQUEST_ITEM1がインベントリーにあり、ターゲットが指定範囲内にある。あるいはララが指定範囲まで近づく。

DTF_RADAR_MODE
このフラグは、Detectorをレーダーモードに設定します。このフラグを設定しない場合、Detectorはポインタモードで動作します。
2つのモードの間には大きな違いがあり、いくつかのフィールドとフラグは特定のDetectorモードでのみ機能します。
ポインタモードは、一度に1つのターゲットに対してのみ機能します。最初のターゲットがピックアップ(または強制終了)されると、Detectorはリスト内の2番目のターゲットをポイントし始めます。
レーダーモードDetectorでは、レーダーの範囲内にあるすべてのターゲットを同時にスキャンすることができます。
レーダーの範囲は半径6 x MetricScaleで与えられ、数字「6」はレーダーの目盛の数です。例えば、MetricScaleフィールドで2メートルを設定した場合、レーダーからの距離が12メートル以下の場合にのみ、ターゲットがレーダーに表示されます。
レーダーモードを理解するためには、レーダーモードのターゲットは常にアップサイド=北で表示されるため、ポインタモードよりも難しくなります。ポインタモードでは、ポインタは常にララの位置を基準にしています。実際、ポインタモードでは、ポインタが赤いサインをしていると、これはララがターゲットの正しい方向を見ていることを意味します。レーダーモードでは、ララは北に向いていて、ターゲットが左右にあるかどうかを知ることができます。

DTF_FAST_RADAR_SCAN
このフラグは、レーダーモードのDetectorでのみ使用されます。DTF_FAST_RADAR_SCANフラグを設定すると、ターゲットのスキャンが高速になります。
レーダーモードでは、レーダーの針がターゲットに「触れる」ときにのみ、ターゲットの位置と距離が更新されることに注意してください。

DTF_SWINGING_POINTER

このフラグは、ポインタモードでのみ機能します。
あなたがより現実的なDetectorにするためにインベントリのコンパスのようなポインタのスイングシミュレーションを追加することができます。デフォルトでは、ポインタは正確にターゲットを指しています。

DTF_INVERSE_VPOINTER
現在のフラグはポインタモードでのみ機能します。
ラインの位置を高度計(Detectorの右側にあります)で反転することができます。
デフォルトでは(このフラグを使用しない場合)、浮動線はララを示し、中央の固定線はターゲットの位置を示します。
この関係が論理的でないと考えるなら、このフラグを使用して状況を逆転させることができます。DTF_INVERSE_VPOINTERフラグの場合、浮動線はターゲットの垂直位置ですが、固定線はララの垂直位置です。

DTF_NONE
このフィールドにフラグを設定しない場合は、DTF_NONEフラグを使用できます。

MetricScaleフィールド
----------------------
このフィールドには、高度計またはレーダーの目盛の距離をメートル単位で入力します。
このフィールドにIGNOREを設定すると、使用されるデフォルト値は2メートルになります。
ゲームのブロックは2メートルなので、メートルのスケールとして2を設定すると、Detectorの目盛は1ブロック(つまり2メートル)になります。
ポインタモードでは、このフィールドは高度計(Detectorの右横のライン)でのみ機能します。
ポインタモードでは目盛の値を小さくする方が良いでしょう(デフォルト値「2」で正解です)。
レーダーモードでは、レーダーの範囲は半径6 x MetricScaleで与えられ、数字「6」はレーダーの目盛の数です。
例えば、距離100メートル(50ブロック)など、レーダーでターゲットが非常に遠くに見えるようにするには、(100/6)=(約)16メートルのような値を目盛として設定する必要があります。
レーダーモードでは、少なくともプレイヤーがターゲットがわかるように大きな値を使用することをお勧めします。

MetersOfRangeフィールド
------------------------
このフィールドには、Detectorをゲームに表示するのに必要なターゲットの距離(メートル)を入力します。
このフィールドは、DTF_ENGAGE_IN_RANGEフラグを設定した場合にのみ使用されます。
DTF_ENGAGE_IN_RANGEフラグとレーダーモードを使用する場合は、MetricScaleで計算された範囲と同じ値で範囲のメーターを合理的に設定することができます。
例えば、2(デフォルト)をMetricScaleに設定すると、ターゲットは2 * 6 = 12メートル内にある場合にのみ表示され、MetersOfRangeでも同じ値(12)を設定できるようになります。

Target Items Arrayフィールド
-----------------------------
Target Items Arrayフィールドには、NGLEプログラムで表示されるアイテム(Moveableアイテムのみ)の1つ以上のインデックスを入力できます。
2つ以上のインデックスを入力する場合は、コンマで分割する必要があります。

Detector=DTF_REQUIRED_ITEM+DTF_ENGAGE_IN_RANGE+DTF_SWINGING_POINTER + DTF_INVERSE_VPOINTER, 2, 30, 365, 372, 373, 375, 377

上の行では、「2」の値はMetricScaleであり、「30」はMetersOfRangeであり、他のすべての数値(365,372,373,375,377)はモニタするMoveableインデックスです。

備考:
アイテム配列のリストは、レーダーモードまたはポインタモードを使用している場合、異なる方法で動作します。

ポインタモード
Detectorは1つのアイテムの位置のみを表示します。
上記の例では最初のインデックス365が、ターゲットです。

最初のインデックス(上記のサンプルで365)をピックアップするか倒された場合だけ、Detectorは2番目のアイテム(上記の例ではインデックス372)を表示します。
このモードでは、リストの次のアイテムをDetectorが表示しないため、倒したりピックアップできないアイテム(DOORやANIMATINGなど)を使わないでください。
ターゲットとして倒したりピックアップできないアイテムを設定したい場合は、以下のようにしてください。
- レーダーモードを使用します。なぜなら同時にリストのすべてのターゲットを表示できるからです。
- または、リストの最後に倒せないアイテムのインデックスを置きます。
-また別のチャンスがあります。あなたがkillトリガを使って同じフィールドを歩いているときに、このアイテムを取り除く(倒す)ためにアクショントリガ(NGLEの特殊トリガ)を使用します。

レーダーモード
このモードでは、すべてのターゲットが同じ時間に追跡されますが、レーダーの範囲(半径6 x MetricScale)に入るために十分に閉じられたターゲットのみがレーダーに表示されます。

レーダーは、垂直位置に応じてさまざまな方法でターゲットを表示します。
ターゲットがララの同じ高さ(床)にある場合、ターゲットは少し点滅する円のように表示されます。

言い換えれば、ターゲットがララ(4メートル以上)の上にあるときは、頂点が北を指す三角形のように表示され、ターゲットが4メートル以上のララの階下にあるとき)、三角は南を指します。
同じ形状が垂直パネル(Detectorの右側の列)に表示され、

説明を読めば、ララ(+ 2 / -2セクター)のターゲットがちょうど上または下になってもサークル(同じ高さのララのターゲット)が実際に表示されることがわかります。

構文:Diagnostic=ENABLED/DISABLED
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

Diagnostic=ENABLEDで診断を有効にすると、現在のララのアニメーションの番号、ララの現在のStateID、およびゲーム中の現在の有効なフレームレートに関する情報が画面にリアルタイムで表示されます。

これらの情報は、アニメーションの番号を発見するのに便利です。そして、この番号を使用して、WADMergerのAnimationEditorを使用してアニメーションをWADファイルに配置することができます。

上記の情報をリアルタイムで読み取ることに問題がある場合は、NG_Center\ToolsフォルダにあるTomb4_Log.exeを使用してすべての診断メッセージをキャッチし、テキストファイルに保存することもできます。
診断機能を有効にしてゲームを起動する前にTomb4_Log.exeを実行すると、ロード画面のためにScript.txtファイルにLoadCameraコマンドで追加した現在のカメラビューについての情報も表示され、ログファイルに保存されます。
LoadCameraについての情報をログファイルに記録するには、F1キーを押し続ける必要があります。
ログファイルはNG_Center\Toolsフォルダにtomb4_log.txtという名前でゲームを終了した時点で自動保存されます。

これはあなたがこのようにして得ることができるテキストのサンプルです。

21656: LoadCamera=6656, -2817, 14123, 6656, -2631, 12800, 2
21672: Animation=103 StateId=2($2)

構文:DiagnosticType=DiagnosticType(DGX_...), Extra Dgx flags(EDGX_...)
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

このコマンドはDiagnostic=ENABLEDで動作します。
診断を有効にすると、DiagnosticTypeコマンドを使用して表示される診断情報の種類を設定できます。

DiagnosticType(DGX_...)フィールド
------------------------------------
このフィールドには、1つまたは複数のDGX_コンスタンツを入力して、表示する特定の診断情報を有効にすることができます。

Extra Dgx flags(EDGX_...)フィールド
--------------------------------------
この余分なフィールドには、選択した診断タイプをさらにカスタマイズするために、EDGX_の値が必要になることがあります。
このフィールドでEDGX値を受け入れる場合は、DGX_コンスタンツの説明を参照してください。

構文:Diary=Id Diary, SlotDiaryItem, LaraDiaryFlags(LDF_...), BackGroundImageID, Default PageLayout(PL_...), FirstString, TitleWFontId, CommonTextWFontId
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:99
確認していませんが、以下の訳の通りではないかと思われます。

このコマンドはララの日誌を有効にし、日誌についての設定をすることを許可します。
ララの日誌は、冒険を説明するためのテキストや画像があるログのようなものでなければなりません。
冒険の進行に従って日誌を更新するために、ララの日誌に新しいページを追加するフリップエフェクトがあります。
プレイヤーは、EXAMINEオブジェクトのようにこのアイテムをインベントリ中で選択することができ、日誌モードに入って、プレイヤーはページ、テキスト、画像を無制限に閲覧したり読むことができます。

備考:Diary=コマンドの説明の下部には、日誌にテキストで挿入して表示できる特殊なテキストフォーマッタについての説明もあります。これらの説明も見てください。

Id Diaryフィールド
-------------------
あなたはすべての冒険に10の異なる日誌を持つことができます。
それぞれの日誌はさらなるレベルに続きます。
そのため、前に[Level]セクションに定義したDiaryコマンドと、同じID値を持つ同じDiaryコマンドを入力することが重要です。唯一の違いはFirstStringフィールドが、さらなる[Level]セクションで使用されるDiaryコマンドで無視される点です。

フリップエフェクトトリガで使用するダイアリーを区別するために、IDを指定する必要があります。
備考:多くの日誌を持つ機会、高度なExamineアイテムのような日誌を使用することが許可され、多くの情報と画像が継続的に更新または増やすことができます。
IDの有効範囲は1から999です。

SlotDiaryItemフィールド
------------------------
このフィールドには、ララのDiaryアイテムに対応するスロットを入力します。
スロットアイテムを選択することはできません。スロットはインベントリアイテムでなければなりません。次のようなクエストアイテムを使用することをお勧めします。

QUEST_ITEM1
QUEST_ITEM2
QUEST_ITEM3
QUEST_ITEM4
QUEST_ITEM5
QUEST_ITEM6

TRNGウェブサイトの「Lara's diary」の例では、QUEST_ITEM2を使用しました。

LaraDiaryFlags(LDF_...)フィールド
-----------------------------------
このフィールドには、1つまたは複数のLDF_フラグを入力して、日誌が表示されたときのバックグラウンドオーディオトラックの動作を設定できます。
IGNOREと入力すると、オーディオトラックに関する変更は行われず、インベントリで発生したようにゲームの前のオーディオトラックが継続されます。
別の方法として、プレイヤーが日誌を見ている間にゲームのオーディオトラックを停止し、別のカスタムBGMを設定する場合は、正しいLDF_フラグを設定する必要があります。

NG_Center[Reference]のLDF_コンスタンツも参照してください。

BackGroundImageIDフィールド
----------------------------
日誌モードでのララの日誌は二次元的なものです。このため、日誌モードで日誌を見やすくするために、イメージを背景に設定する必要があります。
このフィールドには番号を入力します。この番号は、この形式のbmpイメージに対応します。

IMAGE4.bmp

例えば、上記の画像を背景として使用するには、BackGroundImageIDフィールドに値4を入力します。

備考:

-ビットマップイメージは任意のサイズを持つことができ、画面に合わせてサイズが変更されますが、少なくとも640x480ピクセル、または800x600以上のイメージを使用することをお勧めします。

-TRNGがワイドスクリーンモニタを検出すると、バックグラウンドイメージはフルスクリーンにリサイズされませんが、画像が壊れるのをさけるため画面の高さに合わせて拡大されますが、幅はTRNGがサイズ比を維持しようとします。この状況では、日誌画像の側面に2つの短い垂直の列があり、この2つの外部の列には、前のトゥームレイダーの背景が表示されます。

-画像#.bmpにレベルファイルを指定する必要があります。TRLM 2009(Tr Level Manager 1.5)を使用してレベルをインストールする場合は、ビットマップイメージを正しく処理できます。手動インストールの詳細については、異なるフォルダにイメージがあります。

TRLEフォルダ。(つまり、tomb4.exeがあるフォルダ)
TRLE\Pixフォルダ
(これはTREPでも使用され、TRLM2009はPixフォルダにすべてのビットマップイメージ(もちろんLoad.bmpは異なります)を配置します)

-現在TRNGはビットマップ(.bmp)形式の画像のみをサポートしています。とにかく、容量を確保するため画像をjpg形式で挿入することができ、.jpg形式に変換できる小さなユーティリティCONVERTER.exeでPixフォルダに追加することができます。

注:tomb4エンジンは、このユーティリティをPixフォルダ内で見つけたときにconvert.exeを呼び出し、同じPixフォルダ内に.jpgまたは.jpegを呼び出すことができます。

Default PageLayout(PL_...)フィールド
--------------------------------------
このフィールドにPL_フラグを入力して、Diaryのデフォルトとしてに使用されるレイアウトを選択できます。
「レイアウト」とは、同じページに表示するテキスト、タイトル、さらに小さなイメージの配置(位置)を意味します。
上記の要素を異なるレイアウトを設定できます。
あなたは望むレイアウトに沿った背景イメージを作成する必要があります。
詳細は、NG_Center[Reference]のPL_コンスタンツも参照してください。

FirstStringフィールド
----------------------
最初のテキストで日誌を初期化する場合は、このフィールドに最初のテキストを入力します。
このフィールドに入力するテキストは、[ExtraNG]Stringsと同じでなければなりません。
備考:このフィールドに「@MyText.txt」の形式で[ExtraNG]Stringsにテキストを追加し、「MyText.txt」という名前のファイルに有効なテキストを入力してScriptフォルダに保存すると、長いテキストを入力するのが簡単です。この例では、このフィールドに「@MyText.txt」というテキストを入力します。
最初のテキストを入力しない場合は、このフィールドにIGNOREと入力します。

備考:この最初のテキストまたは他のテキストは、フリップエフェクト「Diary. Add(&)NG String to Diary」を使用して日誌に追加します。と同時に1つ以上のページを入力できます。異なるページを区切る#END_PAGE#タグがテキストファイルにあります。

TitleWFontIdフィールドと CommonTextWFontIdフィールド
-----------------------------------------------------
テキストの色とサイズを設定するには、WindowsFontスクリプトコマンドを入力して、DiaryコマンドにそのWindowsFontコマンドの識別子を入れなければなりません。
Diaryコマンドで使用されるWindowsFontコマンドは、そのDiaryコマンドの前に入力する必要があります。TitleWFontIdフィールドには、タイトルのプリファレンスを選択するためのIDを入力します。もちろん、タイトルは一般的なテキストよりも大きなサイズになります。
CommonTextWFontIdフィールドには、共通テキストに使用するIDを入力します。

テキストページで使用するテキストフォーマッタ
--------------------------------------------
Diaryコマンドで入力した設定はデフォルト値として機能しますが、必要に応じて各ページの設定をすべて変更できます。
各ページには、日誌の設定に関するいくつかの変更についてTRNGに通知するために使用される特別なフォーマッタを挿入することができます。
もちろん、これらの設定を行うためのテキストは画面に表示されません。
すべてのテスト設定は、<FORMAT>タグと<END_FORMAT>タグで囲む必要があります。
それぞれのページに<FORMAT>タグを1回だけ入力する必要があります。
とにかく、一部のページにFORMATセクションを入力しないと、そのページには、前のページのFORMAT設定ではなく、Diaryコマンドで入力したデフォルト設定が使用されることに注意してください。
FORMATセクションには、次のテキストタグを1つ以上入力できます。

#TITLE_FONT#=(タイトルのWindowsFontのID)
#TEXT_FONT#=(共通テキストのWindowsFontのID)
#PAGE_LAYOUT#=(PL_..コンスタンツ)
#BG_AUDIO#=(このページのバックグラウンドで再生するオーディオトラックの識別子)
#BG_IMAGE#=(新しい背景として使用する画像の識別子)
#POP_IMAGE#=(このページに表示する画像の識別子)
#TITLE#=(このページの先頭にタイトルとして表示するテキスト)

エンドページ記号の設定方法
--------------------------
日誌のテキストで常に使用する非常に重要なタグは、#END_PAGE#タグです。
同じテキストを複数の異なるページに入力することはできますが、ページの終了時期と新しいページの開始時期を示す必要があります。
この目的に到達するには、テキストのあるポイントに小さなタグフォーマッタを挿入して、そのポイントが最終ページ/新しいページを通知します。
テキストにタグを入力するだけです。

#END_PAGE#

備考:#END_PAGE#を1行に置くことは重要です。つまり、このように#END_PAGE#を配置することはできません。
--------------間違った方法--------
The key is yet in bottomless pit.#END_PAGE#
Now Lara should find the key but to reach the pit she has to search...
----------------------------------

上の位置は間違っています。
#END_PAGE#を配置する正しいモードは次のとおりです。

--------------正しい方法-----------
The key is yet in bottomless pit.
#END_PAGE#
Now Lara should find the key but to reach the pit she has to search...
-----------------------------------

ダイアリーに使用するテキストの例
--------------------------------
日誌に使用する正しいテキストがどのように表示されるべきかを知るために、次のサンプルを見ることができます。

--------日誌に使われるテキストの例---------
<FORMAT>
#TITLE_FONT#=1
#TEXT_FONT#=2
#PAGE_LAYOUT#=PL_WIDE_IMAGE+PL_ADD_INFO_BAR
#BG_IMAGE#=1
#POP_IMAGE#=2
#TITLE#=Mission Organizer
<END_FORMAT>
This is the Mission Organizer of Lara
In this pages you can verify the targets Lara has to reach.
New pages will be adedd while the mission goes on, so remember to come back to read this document also in future, you could get many important informations
#END_PAGE#
<FORMAT>
#TITLE_FONT#=3
#PAGE_LAYOUT#=PL_DOUBLE_PAGE+PL_ADD_INFO_BAR
#BG_IMAGE#=3
#POP_IMAGE#=4
#TITLE#=Beginning...
#BG_AUDIO#=56
#FRAME_IMG#=20,10,400,500
#FRAME_T1#=520,10,400,500
#FRAME_T2#=20,600,400,400
<END_FORMAT>
Lara has to find the man stole the security key.
Last time he has been seen in the dark castel on the hill.
... other text....
Tha man is very dangerous because he has a misterious power...
#END_PAGE#
--------ララの日誌のテキストの例の終わり---

上記は、異なるタグフォーマッタを持つ2ページのテキストダイアリーの短いサンプルです。
上記のテキストを見ると、タグの書式設定の意味を説明することができます。
最初のページには次のものがありました。

<FORMAT>
#TITLE_FONT#=1
#TEXT_FONT#=2
#PAGE_LAYOUT#=PL_WIDE_IMAGE+PL_ADD_INFO_BAR
#BG_IMAGE#=1
#POP_IMAGE#=2
#TITLE#=Mission Organizer
<END_FORMAT>

そして、我々はこのように上記の設定を読むことができます。
「#TITLE_FONT#=1」
スクリプトコマンドに格納されているフォント設定を使用してタイトルを表示する。

WindowsFont=1,....

「#TEXT_FONT#=2」
スクリプトコマンドに格納されている設定を使用して共通テキストを表示します。

WindowsFont=2,...

「#PAGE_LAYOUT#=PL_WIDE_IMAGE+PL_ADD_INFO_BAR」
最初のページでは、中央の位置にある画面の上部にワイドイメージを持つレイアウトを使用し、情報バーをホストするためのスペースを画面の下部に置きます。(この最初のページに使用される背景イメージで描画されます)

「#BG_IMAGE#=1」
背景画像としてファイルを使用します。

IMAGE1.BMP

「#POP_IMAGE#=2」
画面の上半分にファイルのワイド画像を表示する。

IMAGE2.BMP

「#TITLE#=Mission Organizer」
ワイドなimage2.bmpの上に、タイトルを配置します。

Mission Organizer

それから、テキストが表示されます。
<<
This is the Mission Organizer of Lara
In this pages you can verify the targets Lara has to reach.
New pages will be adedd while the mission goes on, so remember to come back to read this document also in future, you could get many important informations
>>

そして上記のすべては、ララの日誌の最初の紹介ページのものです。

次に#END_PAGE#タグがあり、TRNGはプレイヤーが2番目のページに進むために右向きの矢印を押すのを待ちます。

2番目のページの設定は次のとおりです。

<FORMAT>
#TITLE_FONT#=3
#PAGE_LAYOUT#=PL_DOUBLE_PAGE+PL_ADD_INFO_BAR
#BG_IMAGE#=3
#POP_IMAGE#=4
#TITLE#=Beginning...
#BG_AUDIO#=56
#FRAME_IMG#=20,10,400,500
#FRAME_T1#=520,10,400,500
#FRAME_T2#=20,600,400,400
<END_FORMAT>

意味は次のとおりです。

「#TITLE_FONT#=3」
スクリプトコマンドで設定したフォント(色とサイズ)を使ってタイトルを表示する。

WindowsFont=3

「#PAGE_LAYOUT#=PL_DOUBLE_PAGE+PL_ADD_INFO_BAR」
レイアウトはダブルページになり、左側のページの上部にさらにイメージが表示されます。
情報バーも画面の下部に置いてください。

「#BG_IMAGE#=3」
ファイルに保存されている画像を背景画像として使用

IMAGE3.BMP

「#POP_IMAGE#=4」
左ページの上に画像を表示する。

IMAGE4.BMP

「#TITLE#=Beginning...」
image4.bmpの上にタイトルを表示する。

Beginning...

「#BG_AUDIO#=56」
ファイルに保存されているオーディオトラックを再生します。

TRLE\AUDIO\056.wav

(ただし、ファイルの有効な存在に応じて056.mp3または056.oggになる可能性があります)

「#FRAME_IMG#=20,10,400,500」

このページでさらに小さな画像を表示する位置とサイズを設定します。
日誌レイアウトページのフラグでPL_CUSTOM_LAYOUTを設定すると、この設定は次のページにも反映されますが、他のPL_レイアウトを設定すると、この「#FRAME_IMG#=」の設定はこのページだけに使われます。他のページは、Diaryコマンドで設定したPL_レイアウトを使用しました。
このタグ(20,10,400,500)の値は、マイクロ単位で表され、1=画面サイズの1/1500または1/1000です。
これらの値を計算するには、NG_Center[Tools]にある[Get Screen Frames]ユーティリティを使用します。

「#FRAME_T1#=520,10,400,500」

このページのテキストで使用される1番目のフレームの位置とサイズを設定します。
「1番目の」フレームとは、このページの最初に配置するテキストブロックのフレームのことを意味します。
いくつかのレイアウトでは、2つのテキストフレームを持つことが出来、この場合は「#FRAME_T1#=」タグで2つのテキストフレームのうちの最初を設定し、また、テキストフレームが1つのときは唯一のテキストフレームを持つことができます。
このタグにもマイクロユニットが必要です。詳細は「#FRAME_IMG#=」タグの説明を参照してください。

「#FRAME_T2#=20,600,400,400」

2番目のテキストフレームの位置とサイズを設定します。
あなたのレイアウトが2つのテキストフレームが予想されるときは、#FRAME_T2#=タグを使用して、このページの2番目のテキストブロックの位置を設定します。
このタグにもマイクロユニットが必要です。詳細は「#FRAME_IMG#=」タグの説明を参照してください。

備考:

1)DiaryモードのBGMは、レベルでBASS機能を有効にした場合にのみ機能します。

2)#END_PAGE#を間違って、画面上に表示されるテキストの有効範囲が小さすぎると、プレイヤーは現在のページの行を読めなくなりますが、情報バーに余分なテキストは表示されません。

3)いくつかのタグフォーマッタがない場合、Diaryスクリプトコマンドのデフォルト設定が使われます。

4)前のページでBGMを止め、他のオーディオトラックを開始したくない場合は、以下のタグフォーマッタを入力する必要があります。
#BG_AUDIO#=-1
このようにして、前のオーディオトラックが停止され、さらにDiaryスクリプトコマンドで設定されたデフォルトのオーディオトラックが再生されます。

5)NG_Centerで大きなテキストを提供するには、次のようにして、ファイル参照のみを[ExtraNG]Stringsに設定する必要があります。

45:@FirstPages.txt

次に、NG_Centerは、テキストファイル「FirstPages.txt」に存在するすべてのテキストを「exta ng string number 45」として挿入します。
「FirstPages.txt」は、Script.datをビルドするときに、Scriptフォルダに存在する必要があります。
一方、Script.datとEnglish.datをビルドすると、「FirstPages.txt」というファイルは不要になります。その内容は既にEnglish.dat(または他のlanguage.dat)に含まれているため、レベルファイルに含める必要はありません。

構文:Elevator=ElevatorIndex, ClickFloorDistance, NumberOfFloors, Elevator flags(EF_...), FirstDoorIndex, InnerKeyPadIndex, Speed, Frame items array
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:20
確認していませんが、以下の訳の通りではないかと思われます。

引数

ElevatorIndexフィールド
------------------------
ElevatorアイテムをクリックするとNGLEで黄色のボックスに表示されるインデックス

ClickFloorDistanceフィールド
-----------------------------
このフィールドには、各フロアの高さをクリック数で入力します。
例えば、1つのフロアの高さが12クリックである場合、このフィールドには「12」と入力します。

NumberOfFloorsフィールド
-------------------------
このエレベーターの床の数。例えば、3を入力すると、エレベータが3つの異なる位置(フロア)に移動することを意味します。

ElevatorFlagsフィールド
------------------------
NG_Center[Reference]のEF_フラグも参照してください。
「+」記号を使用して1つまたは複数のフラグを配置するか、または値の合計を直接入力することができます。
ただし、いくつかのフラグは、マルチドアやシングルドアのように、同時に使用するフラグとは互換性がないことを覚えておいてください。

現在、次のフラグがあります。

EF_MULTI_DOORS($0001)
どのフロアの前にもドアを欲しい場合は、このフラグを設定して、IndexFirstDoorに1階のドアのインデックスを設定することができます。
TRNGの管理は非常に簡単です。エレベーターがフロアに着くと、そのフロアのドアが開かれます。
エレベータがフロアを離れると、そのフロアのドアは閉じられます。
マルチドアを使用する場合は、ClickFloorDistanceフィールドで設定した垂直距離と同じ距離にドアを配置することが重要です。なぜなら、異なる距離にドアを配置していると、TRNGはドアを見つけられず、あなたは困ってしまうからです。
素直に各フロアにエレベーターが止まるのと同じ高さに各ドアを置きます。

EF_SINGLE_DOOR($0002)
シングルドアモードを使用している場合は、マルチドアフラグは設定できません。
シングルドアモードでは、エレベータはエレベータケージにリンクされたシングルドアを持ちます。
このドアは、エレベータの動きに応じて上下に移動します。
エレベータがフロアに達すると、ドアが開かれます。ドアが閉じると、エレベータはフロアから離れます。
このフラグを設定した場合、FirstDoorIndexフィールドにエレベーターの近くに置いたドアのインデックスを入力する必要があります。
備考:ng2.wadのANIMATING2スロットにある「偽の」ドアを使用することもできます。
このアニメーションは、シングルドアモードを使用してFirstDoorIndexフィールドにインデックスを設定したドアのように、TRNGによって、水平にスライドして移動します。
このような偽のドアを使用するには理由があります。実際のドアを使用すると、実際には場合によっては(ドアの種類や部屋にリンクしたドアの位置によって異なる)、TRNGはドアが閉じた時、ドアの前に見えない壁を追加します。多くの状況で退屈なので、この問題を避けるために偽のアニメーションドアを使用することができます。

EF_INNER_KEYPAD($0004)
エレベータの内側にフロアを選択するためにキーパッドを挿入する場合は、このフラグを設定し、希望のエレベータの壁にキーパッドを配置するように設定する必要があります。次に、InnerKeyPadIndexフィールドにキーパッドのインデックスを入力します。
SWITCH_TYPE1の実際のキーパッドではなく、ng.wadまたはng2.wadのANIMATING16_MIPにある「偽の」キーパッドを使用することを忘れないでください。
この選択の理由は技術的な問題です。SWITCH_TYPEにはスイッチトリガが必要ですが、エレベータフロアにはダミートリガも配置する必要があります。このため、セクターに特別なトリガ両方を設定することはできません。
このため、(ANIMATING16_MIPの)「偽の」キーパッドの管理は、TRNGによってハードコーディングされたモードで実行されます。
明らかに、キーパッドはSWITCH_TYPE1と同じ様に動作しますが、それを処理する特別なトリガは必要ありません。

EF_MODE_YO_YO($0008)
ヨーヨーモードはちょっと不思議です。エレベーターは無限に上下に動き、フロアで止まりません。
このモードを使用すると、ドアを開いたり閉じたりする時間がないので、ドアを使用することはできません。
ララはエレベーター内でジャンプする必要があります。
ヨーヨーモードの興味深い応用例は、エレベーターがララに触れると、彼女は殺されます。(エレベーターが下に移動している時にその下にララがいる、またはエレベーターが上に移動している時にその上にララがいて、その上には天井がある。)あるいは、ララが壁を登っている時にエレベーターが彼女に触れ(ララは壁に触ることができなくなる)「邪魔」される。
備考:
1)あなたはヨーヨーモードとストップアンドゴーモードをミックスすることはできません。
2)ヨーヨーモードにエレベーターを設定すると、フロア数は常に2(2)になり、フロア間の距離はエレベーターが反転する前にカバーする全移動の高さになります。

EF_MODE_STOP_AND_GO($0010)
ストップアンドゴーモードはヨーヨーモードに似ていますが、この場合、エレベーターは、各フロアに数秒間(ドアが1つなら2秒間、ドアが2つなら3秒間)停止します。
ヨーヨーモードとは違って、ストップアンドゴーモードを使用すると、ドアを(マルチまたはシングル)配置することができ、さまざまなフロア数を設定できます。
また、ストップアンドゴーモードは、すべてのエレベーターのようにララを傷つけるかもしれません。

EF_NONE(0)
フラグを設定したくない場合は、EF_NONEまたはそれに対応する値を入力することができます:0(ゼロ)

FirstDoorIndexフィールド
-------------------------
最初のドアのインデックス(1階のインデックス)。このフィールドには、シングルドアまたはマルチドアのインデックスを配置します。

InnerKeyPadIndexフィールド
---------------------------
エレベーターに挿入したキーパッドのインデックス。内側のキーパッドを使用する場合は、EF_INNER_KEYPADフラグを設定することも忘れないでください。

Speedフィールド
----------------
エレベーターの移動速度を設定します。このフィールドにIGNOREと入力すると、デフォルトの速度は20になります。
スピードについては、この単位がセクターの1/1024であることを忘れないでください。すなわち:1024 = 1セクター、256 = 1クリック。
1秒ごとに30回位置が変更されます。
大きなスピード値を設定しない方がいいです。提案されている最大値は50です。この値を超えると、エレベーターがララに当たったときに衝突計算に問題が発生する可能性があります。

Frame Items arrayフィールド
----------------------------
スピードフィールドの後に、アイテムインデックスのオプションのリストを開始します。
オプションであるため、Speedフィールドの後には何も入力しないこともできます。
とにかく、フレーム配列は多くの目的に役立ちます。
この配列に入力するすべてのアイテムは、エレベーターの動きに応じて上下に移動し、エレベーターケージとリンクさせるというアイデアを与えます。
例えば、エレベーターの動きをより現実的にするために、エレベーターの天井の上にチェーンを置くことができます。
ng2.wadでは、エレベーターのヨーヨーモードやストップアンドゴーモードのサンプルとしてANIMATING5が見つかります。
このチェーンの異なるインスタンスを配置して、エレベータの移動高さをすべてカバーし、Elevatorスクリプトコマンドにチェーンのすべてのインデックスを入力することができます。このようにして、エレベータがゲームで動くと、チェーンも動きます。

Frame Items arrayの別の使用法は、目に見えない衝突パネルをエレベータの周りに配置することです。
ng2.wadのANIMATING1(1x2セクター)とANIMATING1_MIP(1x1セクター:エレベーターケージに小さなドアをセットしたときに使用する)で衝突パネルを見つけることができます。
コリジョンパネルは、エレベーターを野外に配置する場合、つまり周囲に壁がない場合にのみ使用する必要があります。
エレベータを大きな環境の中心に置くと、衝突パネルを置く必要があります。そうしないと、ララはエレベータケージの壁を通過できてしまいます。
ヨーヨーモードとストップアンドゴーモードのサンプルで、衝突パネルの使い方が見えます。
コリジョンパネルを各エレベータの壁に置きます。
エレベーターケージのドアがどこにあるのかを除いて、すべての壁をカバーする必要があります。次に、このコリジョンパネルのすべてのインデックスを Frame Items arrayに入力すると、衝突はエレベーターケージが実際の閉じたボックスであるかのように上下に移動します。
Frame Items arrayには約23個のフレームインデックスを配置できますが、衝突パネル用には最大8個のアイテムしか配置できません。

備考:
1)エレベーターやエレベーター用アイテム(キーパッド、シングルドア、チェーン、衝突パネルなど)をプロジェクトに配置する場合、エレベーターは1階になければなりません。
ゲームで別の階にエレベーターを持たせたい場合は、エレベーターのフリップエフェクトを使用して希望のフロアに移動できますが、プロジェクトでは常にエレベーターが1階にある必要があります。

2)フロアの最大数は10です。フロアを10階に使用すると、10階のフロアはキーパッドに値「0」が入力されると選択されます。

3)異なるElevatorスクリプトコマンドに応じて異なるモードで稼動するエレベーターを、1レベル20台まで持つことができます。

構文:Enemy=Slot, HP(vitality), NEF_flags, TombFlags(TCF_...), EXTRA_flags, Damage1, Damage2, Damage3
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:100
確認していませんが、以下の訳の通りではないかと思われます。

このコマンドは、特定のスロットのオブジェクトに対して異なる設定を行うことができます。
HP(活力、つまりララの銃撃に対する耐性)、ララに与えるダメージ(Damage1、Damage2..)を設定できます。
Ng Enemy Flags(NEF_...)やTCF_フラグのようないくつかのフラグを使用すると、スロットに特定の動作を設定できます。
このコマンドは、Slot=Moveable敵(Baddy)またはトラップにだけ使用する必要があります。このコマンドを使用してすべてのMoveableを変更することもできますが、その場合多くの設定は影響しません。

引数

Slotフィールド
---------------
このコマンドを使用して変更するスロット。(NG_Center[Reference]のSLOT MOVEABLESリストを参照)

HP(活力)フィールド
--------------------
ララの銃撃に対する敵の耐性を設定できます。
例えば、大きな値(1000)を設定すると、それを倒すのは非常に困難になります。小さな値(20)を設定すると、リボルバー2、3発で倒せます。

NEF_flagsフィールド
--------------------
このフィールドは別の設定を選択するNEF_値を受け入れます。(NG_Center[Reference]のMNEMONIC CONSTANTSリストを参照)
現在、NEF_フラグには次の値があります。
NEF_EXPLODE
クリーチャーが倒されるとき、それは爆発する。
NEF_EXPLODE_AFTER
「NEF_EXPLODE」と同じようですが、死のアニメーションが完了した後でのみボディが爆発します。
NEF_HIT_BLOOD
NEF_HIT_DEFAULT
NEF_HIT_FRAGMENTS
NEF_HIT_SMOKE
NEF_HITフラグは、ララの銃撃に対するクリーチャーの動作を設定します。
NEF_HITフラグを1回だけ使用して、血液、断片、または煙を設定することができます。
NEF_HIT_DEFAULTを使用すると、銃撃に対するレスポンスは変更されません。NEF_HIT...フラグを設定しないと、銃撃はレスポンスを持ちません。

NEF_NON_TARGET
敵はララから対象外となり、無害になります。
NEF_NONE
予約済み、使用しないでください。NEF_フラグを設定しない場合は、このフィールドにIGNOREだけを入力する必要があります。
NEF_ONLY_EXPLODE
敵はスケルトンやミイラのようになります。
明らかに普通の弾薬は効果がないが、爆発性の弾薬でそれを破壊することができる。
NEF_SET_AS_CREATURE
実験的。敵とトラップ以外のスロットを使用し、このフラグを使用して敵のように変換することができます。実際、ララはこのオブジェクトを狙い、それを倒すことができます。(理論的にはまだ実験的です)

NEF_SET_AS_MORTAL
このフラグは、(DEMIGOD1のような)不死身の敵を倒せるように変更します。
このフラグをセットすると、敵は普通の弾薬でも倒せます。

TombFlags(TCF_...)フィールド
------------------------------
このフィールドは実験用です。スロット構造のFlagsフィールドに対応します。このフィールドに間違った値を入力すると、多くの問題が発生する可能性があります。
このフィールドをIGNOREに設定し、NEF_フラグのみを使用してオブジェクトの動作を変更することをお勧めします。(他のNEF_フラグは短時間で追加されます)
TCF_...コンスタンツの説明を読んで、このフィールドの既知のフラグを発見してください。

TombFlagsフィールドで実験を行う場合は、よく知られているスロットの値がいくつかあります。
      $3A7B=スケルトンに使用
      $327B=フォンクロイに使用
      $3072=ガイドに使用
      $267B=バディ1に使用
      $0472=大きなサソリに使用

EXTRA_flagsフィールド
----------------------
ほとんどのスロットでは、このフィールドをIGNOREに設定することができます。このフィールドに特別な値を入力する必要があるスロットがいくつかあります。

各EXTRA_コンスタンツは、特定の1つのスロットに対してのみ機能します。
NG_Center[Reference]のEXTRA_コンスタンツも参照してください。

Damage1/2/3フィールド
----------------------
現在の敵がララに与えるダメージの値を1つ以上入力することはできません。
いくつかのスロットはララにダメージを与えることはありませんが、他のMoveableが違う方法でララにダメージを与えたり、Baddyがララを未知のUZIや剣で傷つける可能性があるため、さまざまなダメージの種類の値を受け入れる理由があります。
敵に1つ、2つ、3つ、または全くダメージがないことを知るには、NG_Center[Reference]のDamage Enemyリストも参照してください。
備考:
1つのダメージ値のみを変更し、他のダメージ値は変更しない場合は、IGNOREのヌル値を使用して「このダメージの種類を変更しない」を指定できます。
例えば、SASに対してグレネードのダメージのみを変更したいが、UZIダメージを変更したくない場合は、次の行を入力することができます。

Enemy=SAS, IGNORE, IGNORE, IGNORE, 0, IGNORE, 1000
上記のコマンドは、HP、NEF_フラグ、TombFlagsを変更しません。
0に設定し、IGNOREの最初のダメージ(UZI)、グレネードのダメージを1000に変更。(ララは火傷で即死)

備考:
-Damage1/2/3フィールドでは、正の値のみを入力してください。負の値を入力することもできますが、その結果は彼女を傷つけるのではなく、ララの活力を再充電することになります。それはおかしなことです。
-範囲外の値を設定した場合、予期せぬダメージの結果が得られる可能性があるためDamage Enemyリストで読み取った範囲の制限に従うことを忘れないでください。(とにかくクラッシュは起こりません)

構文:Equipment=SLOT item, Amount
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:100
おそらくこういうことだと思われます。
Equipmentは、インベントリ内の特定のスロットアイテムの量を強制します。
デフォルトでは、最初のレベル、またはResetHUBコマンドの後のレベルでララはメディパック、武器、双眼鏡などを同じ量で開始します。
Equipmentコマンドを使用すると、インベントリアイテムごとに異なる量を強制することができます。

SLOT Itemフィールド
-----------------------
このフィールドには、設定するアイテムに対応するスロットを識別する値を入力します。
NG_Center[Reference]のSLOT MOVEABLESリストに、スロットアイテムの全リストがあります。

備考:すべてのスロット名が受け入れられるわけではありません。右側に「ITEM」という単語のスロット名のみを使用してください。

Amountフィールド
--------------------
Amountフィールドでは、インベントリ内の特定のアイテムの数量を設定します。
例えば、現在のレベルの開始時にララにメディパックを与えない場合は、次の2つのコマンドを使用できます。

Equipment=BIGMEDI_ITEM, 0
Equipment=SMALLMEDI_ITEM, 0

あなたが使用しているアイテムが武器である場合、Amountフィールドに1つまたは複数のLOAD_フラグを追加して、現在ロードされている弾薬タイプと、すでに武器に搭載されているさらに別のレーザーサイトを設定できます。
詳細情報については、MNEMONIC CONSTANTSのLOAD_コンスタンツの説明を読んでください。

備考:Amountフィールドの値の範囲は、最小値として-1(無限)、最大値127です。127以上を渡すと、予測できない結果を伴う負の数が返されます。

構文:Fmv=NumberFmv, EnableEscape
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

NumberFmvはFMVファイルの番号です。

EnableEscapeの値は0または1です。値1は、「Escキーを使用してムービーのスキップを許可する」という意味です。

FMVファイル名の構文は次のとおりです。

「FMV」+[Number]+[Extension]
例えば、次の名前はFMVファイルでは正しいです。

fmv4.wmv
fmv1.mpg
fmv43.avi

別の言い方をすると、以下の名前を使用するのは間違いです。
fmv04.wmv(「4」の前に意味のない「0」があります)
fmv0.avi(数字は「1」から始まります)
fmv41(拡張子がありません)
fmv5.bik(「.Bik」拡張子はサポートされていません)

スクリプトコマンド「Fmv=」の最初の番号(NumberFmv)は、FMVファイル名内の番号です。
例えば、ファイル名「fmv3.wmv」を使って作業する場合は、次のようなコマンドをスクリプトに書くべきです:Fmv=3.0

備考:

(1)[PCExtensions]セクションで使用するコマンド「FMV=」で希望の拡張子を設定してください。(この「Fmv=」コマンドは同じ名前ですが、混乱しないで、別のスクリプトコマンドです)

(2)実はFmv=コマンドは新しい次世代コマンドではなく、標準のscript.exeにも存在していました。とにかくTRNGを使用するだけで、実際にはFMVをゲームで見ることができます。

(3)TRNGは、以下のフォルダ内のFMVファイルを検索します。
-現在のフォルダ(TRNGも格納されているフォルダ。通常は「TRLE」という名前のフォルダ)
-現在の(TRLE)フォルダに追加された「FMVs」という名前のフォルダ「TRLE\FMVs\... fmv files」
-現在の(TRLE)フォルダに追加された「Store」という名前のフォルダ「TRLE\Store\... fmv files」

構文:FogRange=StartLimitDistanceFog, EndLimitDistanceFog
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。
TRLE\Helpフォルダ内のFog_Distance.htmlにより詳しい説明があります。

tomb4のデフォルト値
StartLimitDistanceFog = 12セクター
EndLimitDistanceFog = 20セクター(またはLevelFarView)

FogRange=コマンドでは、Distance Fogの位置と密度を変更できます。
備考:Distance Fogは、VolumetricFXが無効の場合にのみ表示されます。
フリップエフェクト194、227番を使って、ゲーム内でDistance Fogの始点と終点を変更することもできます。

StartLimitDistanceFogフィールド
--------------------------------
StartLimitDistanceFogの値は、フォグが視認できるセクターの数です。これはDistance Fogにのみ使用されます。つまり、VolumetricFXが無効になっているときの霧です。
Distance Fog効果を高めるには、このフィールドに負の数を入力する必要があります。より大きい値でフォグ濃度は強くなります。

備考:上記の説明にもかかわらず、この方法では、レベルの透明なテクスチャ(水のような)やオブジェクト(透明または輝きのあるテクスチャ)では、霧の色の異常な強さもまた発生します。
場合によっては、高密度でDistance Fogをしたいときは、EndLimitDistanceFogフィールドを減らすほうがよいでしょう。この場合、StartLimitDistanceFogフィールドを0にして、負の値を避けることができます。

EndLimitDistanceFogフィールド
------------------------------
この値は通常、WorldFarView(またはLevelFarView)と同じ値で設定されます。非常に深いDistance Fogが必要な場合は、この値を小さくします。この値は、ララが見えるセクターの数になります。
このように、Distance Fogの式は(およそ)働きます。
ララからのStartLimitDistanceFogセクターからFog効果を開始します。(実際にはララカメラから。)このFog効果は、EndLimitDistanceFogセクターの距離まで密度100%に達するまで密度を上げます。
したがって、非常に大きなEndLimitDistanceFog値を設定した場合、霧は非常に明るく、遠景も見ることができます。一方、EndLimitDistanceFogで小さい値を設定すると、近景しか見ることができません。

HelpフォルダのFog_Distance.htmも参照してください。

構文:ForceBumpMapping=ENABLED/DISABLED
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

ゲームにバンプマップテクスチャを使用している場合は、このコマンドを使用してtomb4セットアップの設定を上書きし、バンプマップを有効にすることができます。

備考:
(1)ForceVolumetricFXとは異なり、このコマンドは[Options]セクションでのみ動作します。これは、同時にすべてのレベルに影響するためです。

構文:ForceVolumetricFX=ENABLED/DISABLED
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

ForceVolumetricFXコマンドを使用すると、現在のレベルでVolumetricFX設定を有効または無効にすることができます。
このコマンドは、霧の電球とDistance Fogを混在した場合に便利です。

備考:
(1)NGLEの新しい効果を使って、ゲーム内で動的にVolumetricFXを有効または無効にすることもできます。
このトリックは、霧の電球を「スイッチオフ」し、爆発の後にガスや煙の効果を作りたいときに、それらを「スイッチオン」するのに面白いでしょう。
(2)現在のレベルでForceVolumetricFXコマンドが使用されていない場合、プレイヤーがtomb4セットアップウィンドウで設定した設定が使用されます。

構文:GlobalTrigger=IdGlobalTrigger, Flags Global Trigger(FGT_...), Global Trigger(GT_..), Parameter, IdConditionTriggerGroup, IdPerformTriggerGroup, IdOnFalseTriggerGroup
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:499
一応訳しましたが、私もよくわかっていません。

GlobalTriggerを使用すると、グローバルイベントが発生したときにトリガを有効にすることができます。
GlobalTriggerの意味を理解するために、ローカルトリガの説明から始めましょう。
ローカルトリガは、マップに配置して使用するトリガです。これらのトリガは、それらが配置されている場所、つまりそれらが配置されているセクターでのみ機能するローカルなものです。
一方GlobalTriggerは全レベルで機能し、グローバルイベントが発生すると有効になります。

引数

IdGlobalTriggerフィールド
--------------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
これは、フリップエフェクトを使ってGlobalTriggerを有効/無効にした時、そのGlobalTriggerを識別するためだけに使用されます。
注:IdGlobalTriggerフィールドの有効範囲は1から4999です。

Flags Global Trigger(FGT_...)フィールド
-----------------------------------------
GlobalTriggerコマンドの動作についてオプションを設定できます。
現在のところ、FGT_フラグしかありません。

FGT_SINGLE_SHOT:このフラグは、現在のGlobalTriggerを1回実行するように設定します。GlobalTriggerが実行されると、それ以降の実行を避けるために無効になります。

備考:FGT_フラグを設定していない場合は、このフィールドにIGNOREと入力します。

Global Trigger(GT_..)フィールド
----------------------------------
希望のGlobalTriggerを選択するには、GT_接頭辞で始まるコンスタンツを入力します。

NG_Center[Reference]のGT_値も参照してください。
現在、以下のGlobalTriggerが利用可能です。

GT_ENEMY_KILLED:パラメータフィールドでモニタするためのMoveableインデックスを指定できます。指定したMoveableが倒されると、GlobalTriggerが開始されます。
備考:
*NGLEプログラムで、そのアイテムを1回クリックすると、インデックスが黄色のボックスに表示されます。
*理論上は、クリーチャーが死亡したときにローカル(共通)スイッチトリガでも、トリガの起動を得ることができます。スイッチトリガで敵をトリガし、そのトリガにドアや敵を有効にするために共通のトリガを追加した場合、敵が死ぬとトリガがアクティブになります。とにかく、この方法を使う上で問題となるのは、クリーチャーが死ぬときにスイッチトリガを持ったセクターにいなければならないので、広い面積をトリガで覆わなければならないということです。GlobalTriggerGT_ENEMY_KILLEDはそれとは違って、トリガは敵の位置とは無関係に起動されます。

GT_SCREEN_TIMER_REACHED:スクリーンタイマーが指定された秒数に達した時に、GlobalTriggerを開始できます。Parameterという名前の次のフィールドに秒数を指定する必要があります。
例えば、タイマー画面が240秒(4分)に達したときにトリガを開始するには、「GlobalTrigger=1、IGNORE、GT_SCREEN_TIMER_REACHED、240、...」と入力します。

GT_USED_INVENTORY_ITEM:このGlobalTriggerを使用すると、プレイヤーがインベントリから特定のアイテムを選択したときを検出できます。Parameterという名前の次のフィールドにスロットIDを指定する必要があります。
例えば、プレイヤーがスロットID=253のQUEST_ITEM2を選択したときにGlobalTriggerを有効にするには、「GlobalTrigger=1、IGNORE、GT_USED_INVENTORY_ITEM、253、...」と入力します。

備考:
*GlobalTriggerが使用されているときにインベントリから選択したアイテムを削除したい場合は、TriggerGroupを挿入して特定のフリップエフェクト「Inventory-Item. Remove <&>inventory-item from inventory」を挿入する必要があります。
あなたがこのフリップエフェクトを使用しない場合、選択されたアイテムはインベントリに残ります。

*QUEST_ITEM1は既にDetectorに使用されているため、GlobalTriggerにはQUEST_ITEM1を使用しないでください。

備考:他にも多くのGT_GlobalTrigger値があります。NG_Center[Reference]でそれらの説明を見つけることができます。

Parameterフィールド
--------------------
このフィールドに入力する値は、前のフィールド「GT_GlobalTrigger」で選択されたGlobalTriggerのタイプによって異なります。
Parameterフィールドに入力する情報については特定のGlobalTriggerの説明を読んでください。

IdConditionTriggerGroupフィールド
----------------------------------
このフィールドはオプションです。
デフォルトでは、グローバル条件を設定するためのGT_GlobalTriggerだけです。最後のIdPerformTriggerGroupを実行する場合は、条件がtrueの時のみ、条件付きTriggerGroupスクリプトコマンドを作成し、他の条件を実行するための条件付きTriggerGroupのIDをこのフィールドに設定します。
条件付きTriggerGroupを使用すると、条件付きTriggerGroupがtrueで、最終条件がtrueの場合のみGlobalTriggerで設定されたイベントが発生します。
追加の条件を設定したくない場合は、このフィールドにIGNOREと入力します。

IdPerformTriggerGroupフィールド
--------------------------------
このフィールドには、GT_triggerのグローバル条件がtrueとなったときに実行されるTriggerGroupコマンドのID(最初の値)を入力します。
理論上TriggerGroupの実行ではコンディショントリガも配置できますが、とにかくこれらのさらなるコンディショントリガはGT_Globalトリガがtrueである場合にのみ検証されます。

IdOnFalseTriggerGroupフィールド
--------------------------------
グローバル条件がfalseのときにTriggerGroupを実行したい場合は、このフィールドにfalse条件で実行するTriggerGroupのIDを入力します。

構文:Image=IdImageCommand, IdImageFile, ImageFlags(IF_...), EffectTime, AudioTrack, XPosition, YPosition, SizeX, SizeY
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:199
確認していませんが、以下の訳の通りではないかと思われます。

Imageコマンドは、フリップエフェクトトリガ「Show Image...」で使用するいくつかのデータを設定します。

IdImageCommandフィールド
-------------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
IDの有効範囲は1から1999です。

IdImageFileフィールド
----------------------
このフィールドには、表示するイメージの番号を入力します。
この番号(またはID)は、「IMAGE<ID>.BMP」の形式でイメージを参照します。
例えば、このフィールドに5と入力すると、次のイメージを表示することになります。

IMAGE5.bmp

TRNGはTRLE\Pixフォルダ内の画像を探し、Pixフォルダにない場合、TRLEフォルダ、つまりtomb4.exeと同じフォルダ内の画像も探します。
備考:TRLM2009プログラムは、TRLE\Pixフォルダ内のすべてのimageN.bmpイメージをコピーします。

ImageFlags(IF_...)フィールド
------------------------------
いくつかのIF_フラグを指定して、イメージの機能を設定したり、それを表示するモードを指定することができます。
このフィールドにIGNOREと入力すると、このコマンドの次のフィールドに設定した位置とサイズを無視して、ゲーム内でイメージが表示されます。

EffectTimeフィールド
---------------------
このフィールドは、この画像のために選択した別の効果のためにのみ機能します。
イメージに効果を適用しない場合、このフィールドは無視されます。
時間は、tomb4エンジンの内部時間であるティックフレーム単位で入力する必要があります。
1つのティックフレームの値は1/30秒です。
現在の画像に効果を設定すると、EffectTimeは効果を完了するのに必要なフレームの量をTRNGに通知します。
小さな値を入力すると効果が速く表示され、大きい値をEffectTimeとして入力すると効果がゆっくりと表示されます。
このフィールドにIGNOREと入力すると、デフォルト値は30ティック、つまり効果を完了するためには1秒です。

AudioTrackフィールド
---------------------
画像の表示開始時にオーディオトラックを実行したい場合は、このフィールドに0から255の数字を入力して、Audioフォルダの希望するオーディオトラックを選択することができます。
例えば、35と入力すると035.wavが鳴ります。

XPositionフィールドとYPositionフィールド
------------------------------------------
これらの2つのフィールドには、座標を入力して、トゥームレイダーのスクリーンを考慮し、画像を配置します。
位置の使用単位(および次のフィールドのサイズ)がピクセル単位でないことを理解することは重要です。
その理由は、現在のトゥームレイダーの解像度を事前に把握することが難しいためです。
レベル、Script.datを作成しても、そのゲームが640x480スクリーンや1024x768(またはその他)で再生されるかどうかは分かりません。そのため、画像の座標またはそのサイズをピクセルで設定すると多くの問題が発生します。
この理由から、画像の座標と大きさは比例単位で与えられます:「マイクロ単位」(1/1000の画面)
例えば、ゲーム画面の中心を特定する場合、ゲーム画面の幅と高さが1000x1000マイクロ単位だと、XPosition=500とYPosition=500になります。
この方法は複雑に思えるかもしれませんが、解像度の違う画面で希望の位置とサイズでイメージを配置する最後の方法です。

SizeXおよびSizeYフィールド
---------------------------
この2つのフィールドでは、ゲーム画面に描画された画像のサイズを設定します。
値はマイクロ単位で表示されます。(XPosition、YPositionフィールドの記述を参照)
画面の高さ(およそYサイズ)がマイクロ単位(1/1000)で計算されるため、画像の現在の比率を設定するのに問題がある可能性があります。
例えば、元の画像が100x100ピクセル、つまり完全な正方形である場合、目的のサイズを200x200マイクロ単位に設定することはできません。なぜならScreenYで計算されたサイズy 200がScreenXで計算されたサイズよりも大きくなければならず、つまり、通常、画面の幅は高さの1.3倍だからです。
この問題を解決するには、NG_Center[Tools]で新しいユーティリティGet Screen Framesを使用することができます。
このユーティリティを使えば、マウスを使って、トゥームレイダー画面上で理想的な矩形領域を選択し、XPos、YPos、SizeX、SizeYの4つの値をマイクロ単位で返信することができます。

構文:ImportFile=IdImport, PathFile, FileType(FTYPE_...), ImportType(IMPORT_...)
範囲:[Options]セクションで使用する。
レベルセクションのインスタンスの最大数:199
確認していませんが、以下の訳の通りではないかと思われます。

ImportFileコマンドを使用すると、任意のファイルのバイナリイメージをScript.datに挿入できます。
ImportFileを使用する利点は2つあります。
*サウンドのように、ファイルをあらかじめ読み込んでゲームを早くスタートさせることができます。この場合、ファイルをRAMメモリに直接ロードするようTRNGに強制するためメモリインポートを使う必要があります。
*Script.datを特別なファイルのコンテナのように使用するには、TRLEフォルダに目的のフォルダをコピーします。
例えば、画像と「start.htm」のようなファイルを含むTRLEフォルダの「Help」フォルダを置いておきたい場合は、一時ファイルモードでimportfileを使用して、このインストール広告をtomb4プログラムから起動させることができます。

引数

IdImportフィールド
-------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
このIDは、新しいフリップエフェクトを使用してインポートファイルを使用する場合に重要です。例えば、メモリモードで「wagner.mp3」のようなファイルをインポートすると、フリップエフェクト「Sound(CD)Play <&> imported file ...」を使用してこのオーディオファイルを再生することができます。そして「imported file」として IDImport番号を選択する必要があります。
IDの有効範囲は1から1999です。

PathFileフィールド
-------------------
インポートするファイルを見つけるパス。

「c:\trle\audio\003.wav」のような絶対パスは使用できません。
パスは、常に現在のTRLEフォルダをルートとして使用して、相対パスでなければなりません。
例えば、AudioフォルダにあるWAVファイル003.wavをインポートする場合は、次のようなパスを入力します。

Audio\003.wav

他の例では、TRLEフォルダのload.bmpファイルをインポートする場合は、次のようなパスを入力します。

load.bmp

備考:一時モード(IMPORT_TEMPORARY値)でファイルをインポートすると、ファイルはtomb4.exeの最初の起動時にエクスポート(抽出)され、ファイルはScript.txtに入力した相対パスに書き込まれます。
この事は、デフォルトにはない名前のサブフォルダにファイルを配置したときに重要です。
例えば、あなたのTRLE(レベル開発に使用)上にサブフォルダ「Mp3」を作成し、このようにしてこのサブフォルダからファイルをインポートするとします。

ImportFile=1, mp3\bach.mp3, FTYPE_SOUND, IMPORT_TEMPORARY

上記のコマンドはインポートフェーズで動作しますが、エラーになります。なぜなら、TRNGがファイルをエクスポートし、抽出され、サブフォルダ「mp3」を作成し、ファイル名「bach.mp3」をコピーします。
問題は、TRNGがAudioフォルダと異なるフォルダからオーディオトラックを読み取ることができないことです。
この問題を回避するには、2つの方法があります。

*他の一般的なADPCM WAVファイルと一緒に、あなたのサウンドファイルを、Audioフォルダにインポートしてください。

または...

*メモリインポートを使用してファイルをインポートします。
実際、IMPORT_MEMORYモードでファイルをインポートすると、このファイルは決してエクスポートされないので、さほどフォルダ名は重要ではありません。メモリにインポートされたファイルはバイナリイメージにロードされ、メモリから直接再生されます。
この場合、パス名はインポートフェーズでのみ使用されますが、目的のコンピュータでゲームをプレイするときにはその名前は無視されます。

FileType(FTYPE_...)フィールド
-------------------------------
TRNGにこのファイルの性質を知らせるためにFTYPE_値を入力することができます。
現在は2つの値しかありませんが、将来は他の値が追加されるでしょう。

NG_Center[Reference]のFTYPE_値も参照してください。

ImportType(IMPORT_...)フィールド
----------------------------------
IMPORT_MEMORYまたはIMPORT_TEMPORARYの2つのインポートモードを選択できます。

IMPORT_MEMORY
-------------
この場合、ファイルはゲームの開始時にメモリに直接ロードされます。
利点は、一般的なディスクファイルをロードするためにハードディスクにアクセスするために必要な遅延を避けて、このファイルを高速に開始することです。
CDトラック(104.wavなど)をディスクから再生したときと、メモリから再生したときの違いに現れます。
ディスクからファイルを読み込むと、ゲームは短い時間停止され、メモリからの読み込む(Script.datからの事前にロードして開始)と、オーディオトラックがスローダウンなしで即座に開始されます。

注:このフラグに関する情報は、NG_Center[Reference]のMNEMONIC CONSTANTSリストにある説明を参照してください。

IMPORT_TEMPORARY
----------------
一時モードでは、ファイルはScript.datに格納されますが、ゲームの開始時にディスク上に展開されます。
これは、伝統的な方法でゲームが使用されることを意味します。:ディスクから読み込む。
一時モードでインポートされたファイルを使用する利点(特定の分離ファイルを囲むのではなく)は、このようにしてプログラムTRLMまたは一部の初心者プレイヤーをインストール段階で混乱させないようにします。
.oggのようなファイルはTRLMからは無視され、レベルエディタの世界の初心者からもです。
MP3ファイルについてはTRLMから処理されますが、結果的にはWAV形式で変換され、これはあなたが望んでいない工程です。
したがって、サウンドファイルをMP3形式で直接再生したい場合は、TRLMのWAVの自動変換を避け、このMP3ファイルをインポートし、TRLMはインストール段階でそれを見ることはできませんが、ゲーム開始時に、TRNGはそれをエクスポートし再生します。

注:このフラグに関する情報は、NG_Center[Reference]のMNEMONIC CONSTANTSリストにある説明を参照してください。

構文:ItemGroup=IdGroup, FirstIndexItem, Other indices for items
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:99
確認していませんが、以下の訳の通りではないかと思われます。

ItemGroupはMoveableまたはStaticインデックスのグループを格納することを許可し、NGLEからこれらのインデックスを取得します。オブジェクトをクリックすると、そのインデックスが黄色のボックスの最初の数値として表示されます。
備考:Staticインデックスのグループを作成するときは、インデックスを負の数で入力する必要があります。例えば、インデックスが12、43、55、56のStaticアイテムを持つグループを作成する場合は、-12、-43、-55、-56のように入力する必要があります。

ItemGroup内のアイテムのリストを設定すると、ItemGroupによって参照されるすべてのオブジェクトに対して、一つのトリガでいくつかの操作を実行できます。(フリップエフェクトのDescription:「ItemGroup。....」で始まります)

ItemGroupを使用する利点は2つです。

1)一つのアイテムのように多くのアイテムを使用することができます。例えば、1回のトリガですべてのアイテムを同時に移動(または有効化、回転、または非表示)することができます。
2)ドアや敵とのいくつかの特定の操作を起動するためにシーケンスを実行する。
「ItemGroup」で始まる具体的なフリップエフェクトトリガを参照してください。

IdGroupフィールド
---------------------
この最初のフィールドはオブジェクトインデックスではなく、このItemGroupスクリプトコマンドの検索に使用されるIDで、トリガを実行するときに使用します。[Level]セクションの最初のItemGroupは「1」で始まり、IDは2,3,4などに増やす必要があります。
IDの有効範囲は1から999です。

FirstIndexItem、Other indices for items
---------------------------------------
IDフィールドの後に、NGLEで読み込まれた1つまたは複数のMoveableインデックスを入力します。
各ItemGroupに最大83のインデックスを入力できます。

備考:Staticアイテムのインデックスを入力するときは、インデックスを負の数で入力する必要があります。

構文:KeyPad=AtStartAnimation, FrameStartPopUp, AtEndAnimation, ClickSound
範囲:[Level]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

KeyPadコマンドはオプションで、ng.wadにあるキーパッドSWITCH_TYPE1のデフォルトのアニメーションとサウンドを変更するために使用されます。
このコマンドは、ララがゲームのキーパッドスイッチをアクティブにするときにアニメーションやサウンドを変更したい場合にのみ使用してください。

Parameters:
AtStartAnimationフィールド
---------------------------
「Ctrl」キーでララがキーパッドを操作したときに表示するアニメーション番号を指示します。
アニメーションを表示させたくない場合は、このフィールドにIGNOREと入力します。
備考:デフォルト値は197

FrameStartPopUpフィールド
--------------------------
上記のAtStartAnimationフィールドに有効な値を設定した場合にのみ使用されます。この場合、スタートアニメーションがこのフレーム番号に達すると、キーパッドイメージが表示されます。例えば、このフィールドに20と入力すると、アニメーションが開始されてから20フレームでキーパッドイメージが表示されます。
備考:
*AtStartAnimationを設定しない場合、このフィールドは無視されます。
*有効なAtStartAnimation値を設定した場合、FrameStartPopUpフィールドに有効な値を設定する必要があります。このフィールドにIGNOREを設定することはできません。

AtEndAnimationフィールド
-------------------------
キーパッドが閉じられたときに表示されるアニメーション番号。
備考:
*最後のアニメーションを表示していない場合は、このフィールドにIGNOREと入力します。
*AtEndAnimationは、プレイヤーがEnter/[*]キーでキーパッドから消えた場合にのみ表示されます。「Esc」キーを使用して終了すると、最後のアニメーションは実行されません。

ClickSoundフィールド
---------------------
プレイヤーがキーパッドのいくつかのキーにヒットしたときに再生するサウンドエフェクトの番号。
備考:
*音を鳴らさない場合は、このフィールドにIGNOREと入力してください。
*NG_Center[Reference]でサウンドエフェクトのリストを見ることができます。

構文:LevelFarView=NumberOfBlocks
範囲:[Level]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

NumberOfBlocksは、ゲームビューで示されたセクターの数です。
以前のtomb4のデフォルト値は20セクターでした。これは、ララから20セクターよりも遠いメッシュは黒くなることを意味します。

有効範囲は1から127です。

備考:
(1)このコマンドで設定したNumberOfBlocksは、[Options]セクションでWorldFarViewコマンドで設定した値と同じかそれ以下でなければなりません。それ以外の場合は無視されます。
(2)上の注釈のため、[Options]セクションにWordFarViewコマンドで大きな数字を挿入し、ゲームの速度に合わせてLevelFarViewコマンドを使って異なるレベルごとに小さな値を設定する必要があります。
遠方の距離だけでなく、ゲームの速度は(全体的な)メッシュの数、透明なテクスチャ、およびレベルに存在するMoveableの数にも影響を受けることを思い出してください。
このため、広いスペースと多くのMoveable/メッシュ/透明テクスチャを減らして、レベル速度を向上させることができますが、TRNGがより簡単にシーンを描画できる他のレベルでは、問題なくより大きなLevelFarViewを設定できます。

構文:LogItem=FlagsLogItem(FLI_...), IndexOfItem
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

このコマンドは、次のコマンドを使用して診断を有効にした場合にのみ機能します。

Diagnostic=ENABLED

[Option]セクションにあります。

LogItemは、ララの場合と同じ情報を画面に表示することができますが、この場合は別の情報が表示されます。このコマンドの主な目的は、TestPositionコマンドを入力して独自のカスタムアニメーションを起動するための情報を取得することです。

FlagsLogItem(FLI_...)フィールド
---------------------------------
このフィールドには、1つまたは複数のFLI_フラグを入力できます。
NG_Center[Reference]のFLI_フラグも参照してください。
備考:フラグを設定しない場合は、このフィールドにIGNOREと入力します。

IndexOfItemフィールド
----------------------
このフィールドには、監視するMoveableインデックスを入力します。
マップでアイテムを選択し、黄色のフレームの中にある数字がインデックスです。

構文:MirrorEffect=InFrontRoom, HiddenRoom, MirrorType(MIR_), Animating array + FMIR_flags
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:100
おそらくこういうことだと思われます。

MirrorEffectは古いMirrorコマンドを置き換えます。
本当に古いMirrorスクリプトコマンドはまだ動作していますが、古いMirrorコマンドで新しいミラータイプを使用することはできません。

引数

InFrontRoomフィールド
----------------------
鏡の前の部屋番号。これはララが入り、動きまわれる本当の部屋です。

HiddenRoomフィールド
---------------------
鏡の後ろの部屋番号。ララは入ることができません。

MirrorTypeフィールド
---------------------
ミラータイプを設定するには、MIR_値を指定します。
NG_Center[Reference]のMIR_値も参照してください。
現在、次の値を使用できます。
MIR_WEST_WALL
西の壁は、以前の鏡で使われていた設定です。
西は、NGLEではララの位置からの鏡の方を向いた方角です。

MIR_FLOOR
鏡はInFrontRoomの床上にあります。

MIR_CEILING
鏡はInFrontRoomの天井にあります。
備考:天井の鏡を使用したい場合は、部屋を非常に低くすることをお勧めします。さもなければ、ララは鏡に映っているララを見ることができません。

MIR_INVERSE_WEST
鏡は、MIR_WEST_WALLのようにInFrontRoomの西側にありますが、トゥームレイダー1の古いレベルのように逆ミラーの中のララと他のオブジェクトは反転します。

Animating array(+ FMIR_flags)フィールド
-------------------------------------------
このフィールドでは、InFrontRoomに存在するアニメーションのインデックスを1つ以上設定することができます。
この配列を使用すると、鏡の種類に応じてミラーイメージをシミュレートするために、HiddenRoomでTRNGが正しい位置と向きにすべてのアニメーションを置き換えます。

1つ以上のFMIR_フラグをアニメーションインデックスに追加できます。
これらのフラグは、回転軸がオブジェクトの中心にないときに反射または座標を調整することを可能にします。
詳細情報については、NG_Center[Reference]のFMIR_コンスタンツも参照してください。

注:あなたは一組のアニメーションを配置する必要があります:メインのアニメーションをInFrontRoomで希望の位置に配置し、このアニメーションのクローンはHiddenRoomに配置します。
クローンアニメーションを正しい位置に配置する必要はありませんが、TRNGが各メインアニメーションに適したクローンを見つけることを可能にするために、同じ行(ミラータイプに従って垂直または水平)に配置すると便利です。
垂直ミラーを使用している場合は、あなたの望む向きにメインアニメーションをInFrontRoomに配置する必要があります。
次に、同じタイプの別のアニメーションをHiddenRoomに配置する必要があります。この状況では、メインのアニメーションと同じ垂直線(つまり、2次元のビジュアルで同じセクター)でアニメーションを配置することが重要です。これらの設定は実行時にTRNGによって設定されるため、クローンのアニメーションの高さまたはその向きは重要ではありません。

水平ミラーの場合(MIR_WEST_WALLのように)、少し違います。メインのアニメーションが配置されているセクター行と同じセクター行にアニメーションを配置する必要があります。
クローンアニメーションの正しい位置についての詳細は、ヘルプファイルを参照してください。

備考:
*理論的には、Animating arrayに他のMoveableのインデックスも入力できます。この状況では、Moveableは動的に更新されます。
とにかく敵のようなMoveableを動かすには、HiddenRoomに置く必要がありますが、トリガはInFrontの部屋に置かれます。部屋の前で敵を有効にするトリガもあります。

*InFrontRoomとHiddenRoomフィールドに入力する部屋番号はNGLEの部屋リストにあります。とにかくスクエアの数字が異なる場合に常に小さな数字を選択することを思い出してください。
例えば、このテキストをHiddenRoom(またはInFrontRoom)に読み込んだ場合は、次のようになります。

Mirror Hall(34:30)

上記の場合、実際の部屋番号は「30」で、MirrorEffectコマンドにこの値を入力する必要があります。

構文:MultEnvCondition=IdMultCondition, ENV_condition, DistanceForEnv, Extra field, array of tripled of {ENV_Condition, DistanceForEnv, Extra field}
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:255
一応訳しましたが、私もよくわかっていません。

このコマンドは、Animationスクリプトコマンドに複数のENV_(環境)Conditionを保存するためにのみ使用されます。
Animationコマンドに2つ以上のENV Conditionを設定する必要がある場合は、必要なENV Conditionをすべて指定してMultEnvConditionコマンドを作成し、AnimationコマンドのDistance for Envフィールドに現在のMultEnvConditionのIDを設定する必要があります。AnimationコマンドのENV_Environmentフィールドに値ENV_MULT_CONDITIONを入力すると、実条件にはAnimationコマンドのDistance for EnvにMultEnvConditionコマンドのIDが格納されます。

IdMultConditionフィールド
--------------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
AnimationコマンドのDistance for Envフィールドに同じ番号を使用してAnimationコマンドとリンクします。

注:IdMultConditionフィールドの有効範囲は1から2559。レベルのトリガから直接呼び出すと、最大有効IDは1023です。

ENV_Conditionフィールド
------------------------
このフィールドはAnimationコマンドのENV_Environmentフィールドと同じように機能します。 このフィールドには、ENV_Conditionの値+(オプション)いくつかのENV_POS_フラグを入力します。
詳細については、AnimationコマンドのENV_Environmentの説明を参照してください。

DistanceForEnvフィールド
-------------------------
このフィールドは、AnimationコマンドのDistance for Envフィールドと同じように機能します。
このフィールドには、現在の(前の)ENV_Conditionに関する距離を設定する値を入力します。
詳細については、AnimationコマンドのDistance for Envの説明を参照してください。

Extraフィールド
----------------
このフィールドは、AnimationコマンドのExtraフィールドの使用法と同じです。
Extraフィールドに値を必要とするENV Conditionを使用する場合は、このフィールドに値を入力します。

{ENV_Condition、DistanceForEnv、Extra}フィールドのトリプルの配列
------------------------------------------------------------------
フィールドに「ENV Condition」、「DistanceForEnv」、「Extra」の3つの配列を最大125個まで入力できます。

ENV_CEILING_HEIGHTの高さ(距離ENV)=$300(3クリック)+他の条件:ENV_HOLE_FLOOR_AT_LEFTの深さ(距離ENV)=$400(4クリック)のように、Animationコマンドに2つのEnv Conditionを設定したい場合は、MultEnvConditionコマンドの一行目をこのように書きます。

MultEnvCondition=1,ENV_CEILING_HEIGHT,$300,IGNORE,ENV_HOLE_FLOOR_AT_LEFT,$400,IGNORE

上記のMultEnvCondition(1)のIDと ENV_ConditionをAnimationコマンドで参照するにはENV_MULT_CONDITIONと入力します。

例えば:

Animation=447,KEY1_LEFT,IGNORE,IGNORE,ENV_MULT_CONDITION,1,IGNORE,-445,-448

構文:NewSoundEngine=ENABLED/DISABLED
範囲:[Option]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

新しいサウンドエンジンはUn4seen Developments Ltd.が作成したBASS 2.4サウンドライブラリでなければなりません。
この新しいエンジンはbass.dllに基づいており、同時にCDオーディオ(バックグループとフォアグラウンドまたはチャンネル1とチャンネル2)の2つのチャンネルを持つことができます。
サポートされるその他の機能は次のとおりです。
-MP3またはOGGファイルのようなWAVとは異なるサウンドファイルを再生できる。
-別のCDトラックを開始する前に、前のサウンドを静かに終了するフェードアウト効果。
-新しいフリップエフェクトがトリガするゲーム内での頻度や音量の動的変化。

ENABLED/DISABLEDフィールド
---------------------------
デフォルトでは、新しいサウンドエンジンが有効になっています。つまり、Script.txtにNewSoundEngineコマンドを入力しなくても、新しいサウンドエンジンが使用されます。
そのため、このコマンドは、サウンドエンジンを無効にする必要がある場合にのみ使用してください。

NewSoundEngine=DISABLED

備考:

*新しいサウンドエンジンを使用するときは、サウンドフォーマットを変更する必要はありません。bass.dllは、Audioフォルダにある一般的なADPCM WAVファイルをサポートすることができます。
*TRNGはビルドインbass.dllライブラリを使用し、別の違ったバージョン番号であるbass.dllライブラリとの競合を引き起こす可能性があるため、レベルファイルにbass.dllライブラリを追加することはお勧めできません。
(tomb_nextgeneration.dllで使用されるbass.dllはバージョン2.4.0.1です。このバージョンのbass.dllを使用する方がよいでしょう)
tomb4を起動すると、内部のbass.dllライブラリが即座に抽出されます。

構文:Organizer=IdOrganizer, Flags Organizer(FO_..), Parameter, FirstTime, PerformFirstIdTriggerGroup, SecondTime, PerformSecondIdTriggerGroup, {Time and TriggerGroup Array }
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:499
一応訳しましたが、私もよくわかっていません。

Organizerは、TriggerGroupスクリプトコマンドで整理されたトリガのリストを、特定の希望の時間に実行することを許可します。
例えば、Organizerコマンドで整理されたTriggerGroupのリストを作成してドアを開け、4秒後にBaddyを起動し、22秒後にフリップマップを有効にすることができます。

Parameters
----------

IdOrganizerフィールド
----------------------
現在のOrganizerのIDを指定します。この番号は、Organizerを有効または無効にするためのフリップエフェクトを使用するOrganizerコマンドを特定するために使用されます。
そのレベルのセクションでは最初のOrganizerに1を割り当て、2番目のOrganizerには2を割り当てる必要があります。

注:IdOrganizerフィールドの有効範囲は1から4999です。

Flags Organizer(FO_..)フィールド
-----------------------------------
このフィールドには、1つ以上のFO_コンスタンツを追加してOrganizerコマンドの動作を制御することができます。

NG_Center[Reference]のFO_コンスタンツも参照してください。

Parameterフィールド
--------------------
現在使用されていません。将来のバージョンで使用することができます。
このフィールドにIGNOREと入力することができます。

Couples of Time + IdTriggerGroup
--------------------------------
Parameterフィールドの後には、格納するフィールドの2つ以上の組み合わせを使用できます。

始める前に待つ時間...

TriggerGroup

これらの予定情報を想像することができます。
この時間に、これをして。
他の時間に、あれをして...

しかし、この場合は秒を使用しますが、とにかく方法は同じです。

例えば、次のOrganizerコマンドを作成したとします。

Organizer=1, IGNORE, IGNORE, 6, 1, 5, 2, 4, 3

上記のデータは次のように読んでください。

Organizerの有効化から6秒後に、TriggerGroup 1が実行されます。
他の5秒後に、TriggerGroup 2が実行されます。
他の4秒後に、TriggerGroup 3が実行されます。

テーブルを使用してこれらのデータをよりよく理解できます。

Time     TriggerGroup
-----------------------
6        TriggerGroup=1
5        TriggerGroup=2
4        TriggerGroup=3
-----------------------

備考:時間フィールドには最大65535、つまり約18時間の番号を入力できます。

構文:Parameters=Type of parameters(PARAM_...), IdParameterList, parameter array
範囲:[Level]セクションで使用する。
一応訳しましたが、私もよくわかっていません。

Parametersコマンドは、一部のトリガで使用されるパラメータを提供する汎用コマンドです。
[Set Trigger Type]ウィンドウは1つまたは2つのパラメータしか提供することができないので、トリガが多くのパラメータを必要とするときは、その操作に必要なすべてのパラメータを取得するために、Script.txtにParametersコマンドが必要です。

Type of parameters(PARAM_...)フィールド
------------------------------------------
このフィールドには、PARAM_コンスタンツを入力して、このParametersコマンドのトリガを指定します。
のリストは、NG_Center[Reference]のPARAM_コンスタンツも参照してください。

IdParameterListフィールド
--------------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
備考:異なるPARAM_コンスタンツで2つのParametersコマンドを使用する場合、同じIdParameterListを使用できます。同じPARAM_コンスタンツを持つParametersに対してのみ異なるIDを設定する必要があります。

Parameter arrayフィールド
--------------------------
この(3番目の)Parametersから、トリガによって使用されるParametersが開始されます。
これらのParametersの数と意味は、PARAM_タイプに従って変化します。
NG_Center[Reference]のPARAM_コンスタンツも参照してください。

構文:PreserveInventory=ENABLED
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。
PreserveInventoryコマンドは、同じ[Level]セクションでResetHUBコマンドを使用すると使用できます。
ResetHUBコマンドでは、FINISHトリガを使用して現在のレベルから開始するレベル番号を設定します。
ララのメッシュをリロードしたい場合は、ResetHUBを使用する必要があります。これは古いResetHUBコマンドです。
ResetHUBの問題は、ピックアップアイテムがResetHUBコマンドでクリアされることです。
ResetHUBを使い、以前のレベルで取り上げたピックアップアイテムを保存するには、[Level]セクションに次のコマンドを追加するだけです。

PreserveInventory=ENABLED

構文:Rain=RAIN_...constant
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

現在の[Level]セクションに「Rain=」というコマンドが存在する場合にのみ、現在のレベルでレインルームを設定することができます。そうでない場合は、NGLEで雨の設定は無視されます。

引数

RAIN_Constantフィールド
-------------------------
次のコンスタンツのいずれかを選択できます。
RAIN_DISABLED
スクリプトにRainコマンドを挿入しないのと同じです。

RAIN_SINGLE_ROOMS
この設定では、特定の部屋にのみ雨が表示されます。

RAIN_ALL_OUTSIDE
NGLEの各部屋の「Rain」ボタンを設定せずにすべての外の部屋に雨を降らせたい場合は、RAIN_ALL_OUTSIDE設定を使用する必要があります。

備考:
(1)RAIN_ALL_OUTSIDEを使って雨の強さを変更するトリックを使うには、ララが訪れる部屋の「Rain」ボタンを有効にし、強度フィールドに設定するだけです(Room Typeボタンの水/雨/雪...の右側)強度(1-4)
これで、その部屋は選んだ強度になります。
とにかく他の「雨」の部屋を別の強度で設定すると、ララがその部屋に入ると雨の強さが設定どおりに変わります。

(2)現在のレベルで雨の部屋を使用しない場合は、雨の部屋を見つける計算を避けるようTRNGに知らせるため「Rain=RAIN_DISABLED」コマンドを使用する(またはRainコマンドを入力しない)方が良いでしょう。

構文:SavegamePanel=SavegamePanelFlags(SPF_...), BackGroundImageID, NumberOfSave, NumberOfVisibleSave, SavegamePanelLayout(SPL_...), InfoFormatString, IdListWindowsFont, IdInfoWindowsFont, InTitleWindowsFont
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

SavegamePanelコマンドを使用すると、新しいセーブゲームパネルをカスタマイズして、ゲームをロードまたは保存することができます。
このコマンドを[Level]セクションに入力すると、古いロード/保存画面がこの新しいセーブゲームパネルに置き換えられます。
この新しいセーブゲームパネルを使用する最大の利点は、各セーブデータの内部イメージを表示して、プレイヤーが容易にセーブデータを選択できることです。(または保存操作で重要なセーブデータを上書きしないようにすることです)

上記の理由から、この新しいセーブゲームパネルを使用してカスタマイズして、スクリーンショットを保存できるようにすることを強くお勧めします。次の行を追加してこの目的を実現することができます。

Customize=CUST_INNER_SCREENSHOT, QSF_SIZE_320x240+QSF_TRUE_COLOR

備考:QSF_フラグは異なる可能性があります。唯一の重要な事実は、[Level]セクションにCustomize=CUST_INNER_SCREENSHOTコマンドを追加して、各セーブデータにスクリーンショットイメージを作成できるようにすることです。
セーブデータごとにスクリーンショットがPixフォルダに保存されます。この場合は、スクリーンショットをQSF_フラグによりサイズ320x240のTrueカラーで保存します。

セーブゲームパネルのもう1つのニュースは、(以前のトゥームレイダーでは15個のセーブデータであった)処理するセーブデータの数をカスタマイズし、セーブデータが選択されたときに表示する情報を変更できることです。

Savegame_panel.zipデモをテストして勉強して、この新しいTRNG機能の正しい使い方を理解することをお勧めします。デモのサンプルはOfficial Next Generation webpageでご覧いただけます。

SavegamePanelFlags(SPF_...)フィールド
---------------------------------------
このフィールドには、2つ以上のSPF_フラグを追加して、セーブゲームパネルの機能をカスタマイズすることができます。

フラグを必要としない場合は、このフィールドにIGNOREと入力します。

NG_Center[Reference]のSPF_フラグも参照してください。

BackGroundImageIDフィールド
----------------------------
常にセーブゲームパネルの背景画像を提供する必要があります。
このフィールドには、Pixフォルダに存在するイメージの番号を入力します。
例えば、背景画像として「Image8.bmp」ファイルを使用する場合は、このフィールドに値8を入力する必要があります。

NumberOfSaveフィールド
-----------------------
このフィールドには、セーブゲームパネルが処理できるセーブデータの数を入力します。
例えば、以前のtomb4の場合、この数値は15です。(savegame.0からsavegame.14まで)
設定できる最大数は100です。この場合、TRLEフォルダには、savegame.0からsavegame.99まで100個までのセーブデータがあります。
あまりに多くのセーブデータを選択しないことをお勧めします。なぜなら、プレイヤーは、あまりにも多くのセーブデータでは検索が難しくなる可能性があるからです。
上記以外の理由で、以前のTRLMのユーザーに問題を引き起こす可能性があります。(ただし、TRLM2009は任意の数のセーブデータを管理できるはずです)
妥当な値に30を設定することもできますが、セーブデータの標準数を指定することもできます。この場合、このフィールドにIGNOREと入力します。

NumberOfVisibleSaveフィールド
------------------------------
このフィールドは理解しにくいようです。
表示されるセーブデータの数は、前のフィールド「NumberOfSave」とは異なります。
「NumberOfSave」フィールドに大量のセーブデータを設定すると、同時にこの長いセーブデータのリストを画面に表示することができない(可能性が高い)可能性があります。この問題を解決するために、TRNGは画面上に短い数のセーブデータを表示し、リストのスクロールを許可して、セーブデータの別の「ページ」を表示することができます。

NumberOfVisibleSaveフィールドは、スクリーン上に表示されているページごとに表示されるセーブデータの数です。

例えば、古いセーブゲームパネルには15のセーブデータしか表示されませんでした。例えば、TRNG起動時に50個のセーブデータ行をすべて同じ画面に表示することはできないので、15個のセーブデータを表示します。次に、プレイヤーがDOWNキーを押すと、15のセーブデータ(savegame.15からsavegame.29へ)の次のグループが表示され、次に進みます。

備考:現実には、特定のSPF_フラグを設定した場合に限り、この方法でスクロールします。そうしないと、リストを一度にゆっくりスクロールします。

備考:このフィールドにIGNOREと入力すると、同時にすべての「NumberOfSave」が画面に表示されます。つまり、「NumberOfVisibleSave」フィールドと「NumberOfSave」フィールドは同じ値になります。

これは、まずセーブゲームパネルのフォント、イメージ、レイアウトを設定し、一度にどれくらいのセーブデータを画面に表示できるか試して、その番号を「NumberOfVisibleSave」フィールドに設定します。

警告:NumberOfVisibleSaveフィールドに正しい数値を設定しないと、TRNGは実際に必要なすべてのセーブデータが画面に収まるかどうかを検証しないため、大きな混乱を招きます。

SavegamePanelLayout(SPL_...)フィールド
-----------------------------------------
単一のSPL_値を入力すると、画面上の別のフレームの位置を設定できます。
NG_Center[Reference]のSPL_フラグも参照してください。

元来、スクリーンショットの画像を置く場所(左、右、中央)とセーブデータのリストを置く場所を設定する必要があります。
別の(オプションの)フレーム、情報フレームもあります。
情報フレームには、現在選択されているセーブデータに関する情報が表示されます。
例えば、選択したセーブデータにシークレットの数や武薬の数を表示することができます。
この機会に次のフィールドの説明を見てください。

InfoFormatStringフィールド
---------------------------
情報付きSavegamePanelLayoutフレームを使用する場合は、InfoFormatStringフィールドに、選択したセーブデータに表示する情報の書式設定に使用するテキストを入力する必要があります。
情報フレームはスクリーンのゾーンで、現在選択されているセーブデータについての情報が表示されます。

Paolone氏は、外部テキストのトリックを使用してフォーマットテキストを保存することをお勧めします。つまり、テキストファイルにテキストを入力し、Scriptフォルダに保存してから、このテキストを「@」 + 「name.txt」
例えば、「Info_savegames.txt」という名前のファイルにフォーマットテキストを入力し、新しい[ExtraNG]Stringsに「@Info_savegames.txt」というテキストを入力します。

この形式のテキストでは、画面に表示する内容を正確に入力できますが、特別なプレースフォルダを使用してセーブデータの特定の値を通知することを忘れないでください。
すべてのプレースフォルダは丸括弧「()」で囲まれており、その名前は、セーブデータから読み取られた実際の値を認識して置き換えることができる固定名です。
例えば、info形式のテキストに次の行を入力するとします。

Found Secrets (SECRETS)
Large Medipacks (L-PACKS)
Small Medipacks (S-PACKS)
括弧は半角文字をお薦めします。

ゲームでは、プレイヤーがリストからセーブデータを選択すると、そのセーブデータの有効値が画面に表示されます。例えば、次のようになります。

Found Secrets   5
Large Medipacks 3
Small Medipacks 12

備考:見栄えをよくしたい場合は、「courier」や「new courier」のような固定幅のWindowsフォントを情報テキストとして選択することをお勧めします。これは、比例フォント(「Arial」など)

Found Secrets   5
Large Medipacks    3
Small Medipacks  12

プレースフォルダの完全なリストは次のとおりです。

(LEVEL-NAME)セーブデータ内のレベルの名前
(SAVE-NUMBER)savegameの連続した内部番号
(SECRETS) 発見されたシークレット数
(L-PACKS) 大型メディパックの数
(S-PACKS) 小型メディパックの数
(FLARES) フレア数
(WEAPONS) このセーブデータに存在する武器のリストを表示します。次の備考のセクションの(1)の注を参照してください。
(GAME-TIME)ゲーム時間。次の備考のセクションの(2)を参照してください。
(DATE-TIME)現在のセーブデータがいつ作成されたか、または最後に変更された日付。形式はDD / MM / YYYY(HH:MM:SS)です。
(KM-DISTANCE)移動距離(Km)
(METERS-DISTANCE)距離の再測定メーターの数((3)を参照)

備考:
(1)武器リストは長くなる可能性があるので、このような書式のテキストを使って行全体をこの値にする方が良いでしょう。
-----情報フォーマットテキストの例---------------
Available Weapons:
(WEAPONS)
-----情報フォーマットテキストサンプルの終り-----
このようにして、リストは提供されるすべての情報フレーム行を持ちます。

(2)ゲーム時間については、通常、この値はデフォルトのセーブゲームパネルのように、セーブデータリストに表示されます。セーブデータリストからゲーム時間を削除したい場合は、SPF_NO_TIME_IN_LISTフラグを追加します。
この方法の利点は、幅の短いフレームでセーブデータリストを提供できることです。
情報フレームから削除するには、テキストファイルから(GAME-TIME)を削除します。

(3)KMとメートルの2つの異なる値を持つ理由は、あなたの言語で「km」と「メートル」という単語を入力できるようにするか、言語ファイルごとに異なる言語で入力することです。
例えば、info形式のテキストを入力することができます。

Distanza:(KM-DISTANCE) chilometri e(METERS-DISTANCE) metri.

上記の例は、「キロメートル」と「メートル」の代わりに「chilometri」と「metri」という言葉を使用してイタリア語での距離の説明を示しています。
ゲームではこうなります。

Distanza: 2 chilometri e 43 metri

IdListWindowsFontフィールド
----------------------------
WindowsFont=IdNumberコマンドのIDを入力します。ここでは、セーブデータリストに使用するテキストのスタイルを設定します。

備考:SavegamePanelコマンドの最初にWindowsFontコマンドを置いて使用することが重要です。

IdInfoWindowsFontフィールド
----------------------------
WindowsFont=IdNumberコマンドのIDを入力します。ここでは、選択したセーブデータに示されている情報に使用されているテキストのスタイルを設定します。
情報が非常に多くなる可能性があるので、すべての追加情報テキストを確実に表示するために、小さなフォントを使用する必要があります。

備考:SavegamePanelコマンドの最初にWindowsFontコマンドを置いて使用することが重要です。

InTitleWindowsFontフィールド
-----------------------------
WindowsFont=IdNumberコマンドのIDを入力します。ここでは、パネルのタイトルを表示するために使用するテキストのスタイルを設定します。すなわち現在の言語に従って「ゲームを保存」または「ゲームを読み込む」というテキストが表示されます。

備考:SavegamePanelコマンドの最初にWindowsFontコマンドを置いて使用することが重要です。

構文:Settings=SET_constants
範囲:[Options]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

このコマンドは、[Options]セクションに配置され、グローバルな設定を行います。

引数

SET_constantsフィールド
-------------------------
プラス(+)記号で区切られた1つ以上のSET_値を入力できます。
現在、次のSET_constantsがあります。

SET_DISABLE_CHEATS
レベルをスキップし、無制限に弾薬やアイテムを入手する隠されたすべてのチートを無効にします。
備考:フライチートを無効にするには、以前のコマンドFlyCheat=DISABLEDを使用する必要があります。

SET_BLIND_SAVEGAMES
プレイヤーがsavegameエディタを使ってsavegamesを変更することを禁止したい場合は、このフラグを追加します。
プレイヤーがsavegamesを変更すると、リロード時に即座にクラッシュすることになります。

SET_CRYPT_SCRIPT
このフラグを設定すると、Script.datファイルが暗号化され、いくつかのユーティリティで逆コンパイルが禁止されます。
SET_DISABLE_CHEATSのようなセキュリティ問題を設定した場合は、Script.datの暗号化も設定することをお勧めします。そうしないと、単にScript.datを逆コンパイルしてSET_DISABLE_CHEATSフラグを削除して再コンパイルできます。

SET_PERFORM_FROM_CD
このコンスタンツを使用すると、CD/DVDや一般的な読み取り専用のストレージからゲームを実行することができます。
この設定を使用する理由は、友人にゲームを提供し、ローカルディスクにレベルエディタ(TRLE)フォルダをインストールすることなく、CDから直接再生できるからです。
この設定が存在すると、TRNGは保存されている現在のTRLEフォルダからではなく、ローカルドライブC:内の新しいタイトルと同じ名前の新しいフォルダ内に、savegameを保存し、そこからロードします。
例えば、「City Of The Dead」のようにScript.txtに記述されているレベルでこのオプションを使用すると、TRNGは次の名前のフォルダを作成します。

C:\City_Of_The_Dead

このフォルダにsavegamesを保存し、ここからロードします。

備考:
このようにして自動起動CDを作成するには、次の手順を実行する必要があります。

1)[Options]セクションのScript.txtファイルに次のコマンドを追加します。

Settings=SET_PERFORM_FROM_CD

(もちろん、他のSET_フラグを上記の行に追加することもできます)

2)Script.txtをScript.datに変換します。

3)TRLEフォルダにあなたのゲームに必要なすべてのレベルファイル(.dat、.tr4など)を入れ、TRLEフォルダ全体をCDイメージに保存して、CDライターで書き込むことができます。

4)イメージを書き込む前に、以下のファイルもイメージに追加する必要があります。Extra_NG_File.zipにあります。

START.exe
autorun.inf

5)CDを焼くことができるようになりました。最後に、作成した新しいCDの中身をみてください。

START.exe
autorun.info
TRLE(フォルダ)

備考:start.exeファイルとautorun.infファイルは、TRLEフォルダの外にあるCDのルートになければなりません。

6)このCDをいくつかのCDリーダに挿入するだけで、ローカルディスク(相手のコンピュータの)にTRLEや他のファイルやプログラムをインストールすることなく、ゲームが起動して再生されます。

構文:ShowLaraInTitle=ENABLED/DISABLED
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

デフォルトでは、ララはタイトルレベルでは表示されず、次のコマンドを使用して表示されます。
ShowLaraInTitle=ENABLEDを[Options]セクションに追加すると、ララが表示されます。

構文:Snow=SNOW_constant
範囲:[Level]セクションで使用する。
おそらくこういうことだと思われます。

現在の[Level]セクションに「Snow=SNOW_SINGLE_ROOM」または「Snow=SNOW_ALL_OUTSIDE」というコマンドが存在する場合のみ、現在のレベルで雪が表示されます。

SNOW_DISABLED
この設定は、Snowコマンドを省略したのと同じです。NGLEで「Snow」ルームと表示された部屋は無視されます。つまり、Snow効果は表示されません。

SNOW_SINGLE_ROOM
「Snow」ラベルが付いた部屋と「O」(外)状態の部屋のみがゲームに雪が降ります。
各部屋は、水分/雨/雪のマルチステーションボタンの右にある水の強さから読み取った雪の強さになります。

SNOW_ALL_OUTSIDE
雪は、マルチステートのボタンを無視して、すべての外の部屋に表示されます。これは、[Snow]ボタンがない部屋でも、Waterルームと異なる場合は雪が降り、[O]が外になっていることを意味します。

備考:
(1)SNOW_ALL_OUTSIDE設定を使用し、すべてのレベルで雪の強度を設定したい場合は、「雪」属性を持つ部屋をNGLEに設定し、強度フィールドのその部屋に雪強度の値を設定することができます。その値は全体のレベルで使用されます。

(2)現在の雪室を使用するつもりがない場合は、「Snow=SNOW_DISABLED」コマンドを使用して(またはSnowコマンドを入力しない)、より多くのSnowルームを見つけるために多くの計算を避けるようTRNGに通知してください。

構文:SoundSettings=Sound Quality(SQ_...), MusicVolume, SoundEffectVolume
範囲:[Options]セクションで使用する。
おそらくこういうことだと思われます。

SoundSettingsでは、音楽の品質、音楽、サウンドエフェクト(SFX)のボリュームを強制的に設定できます。

Sound Qualityフィールド
------------------------
音楽には3つの異なるクオリティを選ぶことができます。

SQ_LOW_QUALITY(11025 hz)
SQ_MEDIUM_QUALITY(22050 hz)
SQ_HIGH_QUALITY(44100 hz)

IGNOREと入力すると、クオリティは変更されず、現在ゲームで設定されている値が使用されます。

MusicVolumeフィールド
----------------------
0(完全無音)と100(最大音量)の間の値を入力できます。

このフィールドにIGNOREと入力すると、音楽ボリュームは変更されず、現在ゲームで設定されている値が使用されます。

SoundEffectVolumeフィールド
----------------------------
0(完全無音)と100(最大音量)の間の値を入力できます。

このフィールドにIGNOREと入力すると、SFXボリュームは変更されず、現在ゲームで設定されている値が使用されます。

構文:StandBy=IdStandBY, Type StandBy(TSB_..), WaitTime, Flags StandBy(FSB_...), Text, NumTexts, AudioTrack, VAngle, RotateSpeed, Distance, IdTriggerGroupBegin, IdTriggerGroupEnd
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:49
おそらくこういうことだと思われます。

StandByコマンドを使用すると、ゲームで自動ポーズモードを有効にすることができます。
プレイヤーが(WaitTimeフィールドで設定した時間)ゲームコマンドを使用しない場合、自動ポーズが開始されます。
ゲームで何が起こるかを選択することができます。主な効果は、カメラがララの回りを回る映画「マトリックス」の効果です。スタンバイモード時にテキストと新しいオーディオトラックを追加することができます。

IdStandBYフィールド
--------------------
理論的には、スタンバイは正しい条件が成立したときに開始され、いずれにしても、スタンバイモードを実行するためのフリップエフェクトが追加されています。このフリップエフェクトのおかげで、StandByコマンドの設定を使用してゲームでカメラエフェクトを実行することができます。
希望するStandByを選択するには、対応するIdStandBY値を選択します。
とにかく、StandByを本来の方法で使用する場合、IdStandByの値は=1である必要があります。実際には、IDが1のStandByだけが正しい条件で起動されます。
IDの有効範囲は1から499です。

StandBy(TSB_..)フィールド
----------------------------
このフィールドには、1つのTSB_値を入力して、スタンバイのメインエフェクトを設定します。
NG_Center[Reference]のTSB_コンスタンツも参照してください。

WaitTimeフィールド
-------------------
スタンバイを有効にするには、入力なしの時間を設定します。
秒数を入力する必要があります。

Flags StandBy(FSB_...)フィールド
----------------------------------
多くのFSB_フラグを設定して、TSB_値で設定されたメインメソッドをカスタマイズすることができます。
NG_Center[Reference]のFSB_コンスタンツも参照してください。
備考:このフィールドにIGNOREと入力すると、FSB_フラグを省略できます。

Textフィールド
---------------
スタンドバイがオンのときに、画面に表示されるテキストを入力することができます。
例えば、「Hit a Key To continue」のようなテキストを表示できます。

NumTextsフィールド
-------------------
スタンバイモード中に表示するテキストの数を設定します。
前の「Text」フィールドに入力した1つのテキストを表示するため、通常は「1」になります。
「1」より大きい数字を入力すると、「Text」フィールドに入力したテキストと、4秒後に、ExtraNGテキストリストにある、指定したテキストがすぐ後に表示されます。
例えば、スクリプトの[Strings]セクションに次のテキストを入力したとします。

23: Pause - Hit a Key
24: The longest Night
25: Created by Paolone

そして、上記の3つのテキストが画面上に連続して表示されることを望むなら、「Text」フィールドに最初のテキストを入力し、続いて「NumTexts」フィールドに表示するテキストの数(「3」)を入力します。

StandBy=...., Pause - Hit a Key, 3,....

AudioTrackフィールド
---------------------
スタンバイモード中に新しいオーディオを流したい場合は、再生するCDトラックの番号を入力することができます。
言い換えれば、オーディオを望まない場合は、このフィールドにIGNOREと入力することができます。

VAngleフィールド
-----------------
このフィールドは、カメラがララを下または上から見ているかを設定します。
正の値を指定すると、カメラがララよりも下に配置されるため、ララは下の階から表示され、負の値ではカメラがララよりも上に移動し、ララは上の階から表示されます。
0の値では、カメラはララと同じ高さになります。
有効な値の範囲は約-16384から+16384ですが、現実には16384のabs値に達することは避けてください。
このフィールドにゼロまたは負の値を使用することをお勧めします。大きな正の値を入力すると、カメラが床下に移動してしまいます。
備考:16384=90度、8192=45度。

このフィールドにIGNOREと入力すると、デフォルト値にすることができます。

RotateSpeedフィールド
----------------------
ララの周りを回るスピードには度のような単位があり、360度回転するには値は65536($10000)になります。
このフィールドに入力した値は、1秒に30回加算されるため、値を計算して希望の目的に到達することができます。
例えば、カメラが1秒間に4分の1回転(90度)を実行するようにするには、16384(つまり90度)/ 30(つまり1秒)=546と入力する必要があります。
特に距離が大きいときには低速を、距離が小さいときには速度を上げることをお勧めします。

速すぎる値をタイプすると、プレイヤーは船酔いするでしょう。

Distanceフィールド
-------------------
これはカメラ(ララを探している)とララの距離です。
1セクターは1024ユニット、1クリック=256ユニットです。
合理的な値の範囲は256/4096ですが、とにかく小さな値を推奨します。高い値(2048以上)を選択すると、ララを回っているカメラが壁に衝突して問題を起こす可能性があるからです。

IdTriggerGroupBeginフィールド
------------------------------
StandByコマンドは、カメラエフェクト、バックグラウンドオーディオ、テキストの表示に関する多くの機能を提供します。スタンドバイをさらにカスタマイズする場合は、このフィールドを使用してスタンバイを開始するときに実行するTriggerGroupを設定できます。例えば、TriggerGroup内の、Organizerを呼び出し、スクロールまたはスライドしたテキストを表示させたり、フライバイシーケンスを開始するトリガを呼び出すことができます。
TriggerGroupタイプを使用しない場合は、このフィールドにIGNOREを入力します。

IdTriggerGroupEndフィールド
----------------------------
StandByモードの開始時にTriggerGroupを設定すると、開始時のTriggerGroupで追加された効果を画面から削除する別のTriggerGroupが必要になります。
例えば、長いテキストを長い時間表示する場合、End TriggerGroupを使用して、そのテキストを画面からクリアすることができます。

構文:Switch=SwitchId, VariablePlaceFolder, FlagsSwitch(SWT_....), Trigger Group Indices
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:127
一応訳しましたが、私もよくわかっていません。

前書き
------
Switchコマンドを使用すると、変数の値に応じてTriggerGroupインデックスのリストを選択できます。
このようにして、例えば、プレイヤーにKeyPadで番号をたずねてから、プレイヤーが選んだ番号に応じて異なるTriggerGroupを実行することができます。
備考:論理的には、コンディショントリガとELSE tgroup_flagsの長いリストでいっぱいになったTriggerGroupと同じ結果を得ることができますが、スイッチを使用すると、この目的をより簡単かつ迅速に実現できます。

SwitchIdフィールド
-------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
IDの有効範囲は1から1279です。

VariablePlaceFolderフィールド
------------------------------
このフィールドには、特定のTRNG変数を識別するためPlace Folderを入力します。
Place Folderの全リストは、NG_Center[Reference]のVARIABLE PLACEFOLDERSリストにあります。
例えば、変数「Local Short Beta1」を使用する場合は、Place Folderに#0052を入力します。

備考:このフィールドにIGNOREと入力すると、Switchは KeyPadオブジェクトでタイプされた値を受け取る変数、「Last Input Number」を使用します。

FlagsSwitch(SWT_....)フィールド
----------------------------------
このフィールドには、1つまたは複数のSWT_コンスタンツを入力して、Switchコマンドの作業モードに影響を与えることができます。
フラグを使用しない場合は、このフィールドにIGNOREと入力します。
NG_Center[Reference]のSWT_コンスタンツも参照してください。

Trigger Group Indicesフィールド
--------------------------------
このフィールドには、TriggerGroupコマンドのインデックスを入力できます。
最初のTriggerGroupは、変数が「1」のときに実行され、2番目のときは変数が「2」のとき実行されます。
いくつかのフィールドにIGNOREと入力すると、その番号がTriggerGroupにないことを意味します。
例えば、変数が「2」のときにTriggerGroupを実行したくない場合は、次のようなリストを入力できます。
..., 4, IGNORE, 7, 8
このようにして、変数が「1」になると、TriggerGroup=4が実行されます。
変数が「2」のときは何も実行されません。
変数が「3」の場合、TriggerGroup=7が実行されます。
変数が「4」の場合、TriggerGroup=8が実行されます。

この配列に最大120のインデックスを配置することができます。

詳しくは、AnimationコマンドについてのチュートリアルのTestPositionコマンドを参照してください。

構文:TextFormat=Color(CL_...), FormatFlags(FT_...), BlinkTime, SizeCharacterMenu(SC_...)
範囲:[Title]または[Level]セクションで使用する。
おそらくこういうことだと思われます。

引数

Colorフィールド
----------------
CL_...の値(コンスタンツリストを参照)を使用して、フリップエフェクトの表示テキストのデフォルトの色を設定します。

FormatFlagsフィールド
----------------------
=FT_...の値(コンスタンツリストを参照)を使用して、テキストのデフォルト位置を設定し、デフォルトのサイズを設定し、さらに点滅またはストレッチを行います。
備考:テキスト位置のFT値にFT_NARROW_CHARSフラグとFT_Blink_CHARSフラグの2つとすべてのFT_SIZE..フラグを「+」文字を使用して追加することができます。

TextFormat=CL_GOLD, FT_TOP_CENTER + FT_Blink_CHARS, 16
このようにして、色に金色を設定し、位置を上部の中心に設定し、(プラス文字で)点滅する文字を設定します。
備考:この設定は、フリップエフェクトを使用して表示するテキストに対してのみ有効です。
トゥームレイダーの文字のサイズを変更するには、SizeCharactersフィールドにSC_..の値を設定する必要があります。(下記参照)

BlinkTimeフィールド
--------------------
数値は、FormatFlagsパラメータにFT_Blink_CHARSフラグも設定した時に、点滅する間隔になります。
注:点滅時間は、1、2、4、8、16、32、64、128などの2の階乗でのみを使用できます。

SizeCharacterMenuフィールド
----------------------------
tomb4メニューの文字のデフォルトサイズを変更するためのCostant値SC_Type。
備考:FT_フラグの値とは違って、SizeCharacterフィールドで設定した値は、トゥームレイダーのデフォルトテキスト(メニュー、オプション、ただしLegendのテキスト)には影響しますが、この設定はフリップエフェクトの表示テキストには影響しません。このため、このフィールドは[Title]セクションでのみ使用してください。

TextFormat=IGNORE, IGNORE,IGNORE, SC_HALF_HEIGHT

[Level]セクションでTextFormatを使用するときは、このフィールドには常にIGNOREと入力する必要があります。そうしないと、トゥームレイダーのメニューのテキストが、最後にプレイされたレベルに従って不規則に変化します。

現在、このフィールドでは次のいずれかの値のみを選択できます。
SC_NORMAL
何も変更しない。文字は通常のサイズになります。
SC_HALF_WIDTH
文字の幅が半分に縮小されますが、高さは変更されません。
SC_HALF_HEIGHT
文字の高さが半分に縮小されますが、幅は変更されません。
SC_HALF_SIZE
文字の幅と高さの両方を半減させる。
SC_DOUBLE_WIDTH
文字の幅が2倍、高さは変更されません。
SC_DOUBLE_HEIGHT
文字の高さが2倍、幅は変更されません。
SC_DOUBLE_SIZE
文字の幅と高さの両方が2倍になります。

TextFormatコマンドのデフォルト値
現在のレベルにTextFormatコマンドを設定しないと、デフォルト値が使用されます。
TextFormat=CL_WHITE、FT_BOTTOM_CENTER、16、SC_NORMAL

備考:
(1)フリップエフェクトを使ってゲーム内のテキストの設定を変更することもできますが、テキスト形式のトリガをあまりにも多く消費しないようにするには、このスクリプトコマンドを使用してデフォルト値を設定する方がよいでしょう。
(2)FT_...値を使用してテキストの位置を設定する場合は、特定のテキストにいくつかの書式文字を追加して、画面上のテキストの位置をさらに変更することもできます。例えば、FT_TOP_LEFTを使用しても、活力バーにテキストが重なって表示されない場合は、文字の組み合わせでテキストを開始できます。この方法で「\n」(n =改行)を使用すると、最初の空の行が表示され、表示されるテキストは下の位置から開始します。
左の行頭をより右に移動したい場合は、文字の組み合わせでテキストの各行を開始することができます:「\t」(t =タブ)

\tHi world\n\tI'm very happy to be here

構文:TextureSequence=IdTexSeq, FramePerSec, SEQ_flags, Tex Indices array {...}
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:99
おそらくこういうことだと思われます。

IdTexSeqフィールド
-------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
有効範囲は1から999です。

FramePerSecフィールド
----------------------
このフィールドでは、シーケンスの速度を設定します。値は1秒あたりのフレーム数です。最大値は30、つまり1秒間に30フレーム、最小値は1です。

SEQ_flagsフィールド
---------------------
2つ以上のSEQ_フラグを設定することができます。NG_Center[Reference]のSEQ_フラグも参照してください。
現在、次のフラグがあります。

SEQ_LOOP
シーケンスは無限ループします。このフラグを使用する場合、特定のフリップエフェクトを使用してシーケンスを停止する必要があります。そうでない場合は、連続して実行されます。

SEQ_LOOP_INVERSE
このフラグは、SEQ_LOOPフラグも設定した場合にのみ機能します。
単一のSEQ_LOOPフラグはこのシーケンスで無限ループを設定します。(0から3までの4つのテクスチャを仮定)

0 1 2 3 0 1 2 3 0 1 2 3....

SEQ_LOOP_INVERSEフラグも設定すると、シーケンスは次のようになります。

0 1 2 3 2 1 0 1 2 3 2 1 0...

SEQ_STOP_AT_FIRST
このフラグを設定すると、アニメーションが完了すると常にTRNGが強制的に最初のテクスチャの範囲を設定します。
つまり、このフラグを省略すると、最後のテクスチャはアニメーションのタイプによって異なります。
ループを設定していない場合、最後に表示されたテクスチャは、配列シーケンスの最後のインデックスのテクスチャになります。
ループを設定している場合は、最後に表示されたテクスチャは、テクスチャシーケンスを止めるフリップエフェクトを実行した瞬間に表示されていたテクスチャになります。

Tex Indices array {...}フィールド
----------------------------------
Tex Indices arrayは、1000までの異なるインデックスを提供できます。
値はカンマ「,」で区切ります。
各インデックスは、特定のアニメーション範囲内の各テクスチャのインデックス位置を記述しています。
例えば、tgaマップに4つのテクスチャを設定した場合、各テクスチャにリテラル「A」が表示され、次に「B」、「C」、「D」
フレーム内の「A」テクスチャを表示する場合は0(ゼロ)を入力し、「B」を表示する場合は1を入力します。

例えば、TextureSequenceコマンドが次の場合

TextureSequence=1, 4, IGNORE, 3, 2, 1, 0

あなたはID=1のシーケンスを持っています。(これは、このシーケンスを開始/停止するためのフリップエフェクトトリガで設定する番号です)
4fpsを設定しているため、アニメーションは遅く、画像は1秒間に4回しか変化しません。
SEQ_フラグにIGNOREを設定したため、ループはありません。
ゲームで示されるシーケンスは、次の画像で表示されます。

D(3)
C(2)
B(1)
A(0)

備考:
* TextureSequenceコマンドでアニメーション化できる範囲は、NGLEで「P-Frame」のように設定する必要があります。
* TextureSequenceでアニメーション化できるテクスチャの最大数は16です。つまり、インデックス配列フィールドに0から15の範囲で囲まれた数値のみを入力できます。
*同じP-Frame範囲を異なる TextureSequenceコマンドでアニメートできます。
*アニメーションするP-Frame範囲のIDは、フリップエフェクトトリガに設定されます。

構文:TriggerGroup=IdGroup, ExportValue1 + TGROUP_flags, ExportValue2, ExportValue3, {Other Values 1/2/3 of exported triggers or conditions)
範囲:[Level]セクションで使用する。
レベルセクションの最大インスタンス数:999
おそらくこういうことだと思われます。

TriggerGroupは、1つのフリップエフェクト「Perform TriggerGroup..」を使用して、同時に2つ以上のトリガを提供することを許可します。
TriggerGroupをコンディショントリガ「Check condition of <&> TriggerGroup」を使用して実行することもできます。この場合、TriggerGroupコマンドで入力されたすべてのコンディショントリガがtrueであればが条件がtrueとなります。
NGLEの[Set Trigger Type]ウィンドウから[Export Script Trigger]という名前のボタンをクリックしてTriggerGroupコマンドラインに入力するデータを得ることができます。その名前のボタンが表示されない場合は、特定のトリガをスクリプト形式でエクスポートできないことを意味します。
次のトリガをエクスポートできます。

フリップエフェクト
アクション
コンディション

スクリプト形式でトリガをエクスポートすると、次のような情報を含むテキストファイルが取得されます。

---ファイルの先頭---------

; Set Trigger Type - FLIPEFFECT 96
; Exporting: TRIGGER(0:0) for FLIPEFFECT(96) {Tomb_NextGeneration}
; <#> : Lara. (Weapons) Disarm Lara in <&>way
; <&> : Remove All. (Weapons + Ammos)
; (E) :
; Values to add in script command: $2000, 96, $0

---ファイルの終わり-------

次の3つの値をスクリプトコマンドに追加します。

..., $2000, 96, $0

エクスポートしたトリガに関する情報
--------------------------------------
; Set Trigger Type - FLIPEFFECT 96
; Exporting: TRIGGER(0:0) for FLIPEFFECT(96) {Tomb_NextGeneration}
; <#> : Lara. (Weapons) Disarm Lara in <&>way
; <&> : Remove All. (Weapons + Ammos)
; (E) :
--------------------------------------

上記の例では、TriggerGroupコマンドに追加する値は「$2000,96,$0」の値です。
テキストファイルで読んだその他の情報は、上記の3つの数字がトリガ「Lara. Disarm Lara」を実行することを覚えておくために、参考のためだけに与えられています。

引数

IdGroupフィールド
------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
このTriggerGroupの中のトリガをスタートするためにIdGroup番号が使われます。事実、トリガウィンドウでフリップエフェクトの「Object to trigger <&>」フィールドで「Perform <&>Trigger Group」を選択した時、異なるIdGroup値を持つ異なるTriggerGroupとは異なるTriggerGroupを選択する必要があります。

注:IdGroupフィールドの有効範囲は1から9999です。

Exported Trigger values
-----------------------
IdGroupフィールドの後に、3つの値のリストを入力できます。3つの値の各グループは、[Export Script Trigger]操作から取得されています。
1つのトリガのデータを保持するために必要です。これらの3つの値は、[Export Script Trigger]ボタンから取得したテキストと同じ順序で入力します。

したがって、TriggerGroupの一般的な構文は次のようになります。

TriggerGroup=IdGroup, {Alfa1, Alfa2, Alfa3}, {Beta1, Beta2, Beta3}, {...}, {Omega1, Omega2, Omega3}

備考:括弧は本当に書く必要はありません。これらの括弧は、TriggerGroupコマンドに追加するトリガデータのオプションを説明するためです。

上記の構文では、「Alfa」、「Beta」、「Omega」は特定のエクスポートされたトリガ、「1/2/3」はエクスポートされた各トリガの3つの値です。

最初の値(「Alfa1」、「Beta1」、「Omega1」など)に現在のトリガに具体的な意味を与えるTGROUP_フラグを追加することはできますが、エクスポートした値は変更しないでください。

エクスポートされた各トリガの最初の値に次のTGROUPを追加できます。

TGROUP_AND
TGROUP_NOT
TGROUP_OR
上記のフラグは論理演算子であり、コンディショントリガのリンクにのみ使用されます。
論理演算子を使用しない場合、デフォルト値は常にANDです。これは、入力したすべての条件が、最終条件が成立するためには同時にすべてtrueでなければならないことを意味します。
とにかく場合によっては、より特定の状態を作りたいと思うかもしれません。
例えば、「ララがクライミング状態」または「ララがモンキースイング状態」のときを条件とする場合は、このようにTGROUP_OR演算子を使用する必要があります。

Condition1(ララがクライミング状態の条件)
TGROUP_OR + Condition2(ララがモンキースイング状態の条件)

このようにして、最終的な条件をtrueにするためには、少なくとも一つの条件がtrueである必要があります。

TGROUP_NOTは別のやり方で動作します。以前の条件(存在する場合)とリンクしているため、「AND NOT」のようになります。
あなたが[Set Trigger Type]ウィンドウの条件リストで欲しい条件を見つけられないときには、あなたはNOTを使用しますが、反対のもののみを使用します。この反対の条件をNOTで使用すると、その条件の意味を反転させます。

TGROUP_ELSEは条件または共通のトリガに追加出来ます。
このフラグをトリガに追加すると、「ELSEブロック」が開始されます。
ELSEブロックは、前の条件ブロックが成立しなかった場合にのみ実行されます。
ELSEを使用して、1つの条件ブロックに従って2つの異なるトリガ(またはトリガのブロック)を実行できます。
例えば、ララがすべてのシークレットを見つけた時はボーナスレベルをロードし、ララがすべてのシークレットを見つけられなかった時は、タイトルレベル(冒険を終わらせるため)に戻るには、次のようにELSEを使用して実現できます。

Condition(ララは <&> 個のシークレットを見つけた)
(もしそれがtrueなら)Perform trigger(ボーナスレベルをロードします。)
TGROUP_ELSE + Trigger(タイトルレベルに戻ります。)

このようにしてララがすべてのシークレットを見つけたらボーナスレベル、それ以外はタイトルレベルが読み込まれます。

TriggerGroupに2つかそれ以上のELSEフラグを配置して、非常に複雑な条件を作成することができます。

ELSEを使用するには、多くの条件をテストし、上記の条件と異なる結果に異なるトリガを実行することです。

例えば
Condition:「ララは1つシークレットを見つけた」
Trigger:レベル5をロードする
ELSE Condition:「ララは2つシークレットを見つけた」
Trigger:レベル6をロードする
ELSE Condition:「ララは3つシークレットを見つけた」
Trigger:レベル7をロードする

上記の例では、他の条件に付けられたELSEを使用しました。このようにして、条件のリストをスキャンし、結果ごとに異なるトリガを実行することができます。

TriggerGroupをスキャンするために使用されるルールは次のとおりです。

もし現在のトリガが条件の場合:条件がtrueであるかどうかを確認する。
もし、その条件がtrueなら他の条件を確認する。他の条件がなければ、最初のトリガが検出され、TriggerGroupの終了または最初のELSEフラグが検出されるまで、トリガがすべて実行されます。
もし現在のトリガが条件でない場合:以下の全てを実行し、最初にELSEフラグが見つかったときに停止します。

もし現在のトリガが条件であり、条件がfalseの場合、現在の条件ブロックをスキップし、それ以降の箇所もスキップして、ELSEフラグを見つけるまで解析を継続し、このELSEフラグから条件の確認またはトリガを開始します。

TGROUP_USE_FOUND_ITEM_INDEX
TGROUP_USE_OWNER_ANIM_ITEM_INDEX
TGROUP_USE_TRIGGER_ITEM_INDEX
TGROUPフラグを上のように「ITEM_INDEX」と変更した場合。ここで「ITEM_INDEX」は、トリガ(アクションなど)または条件によって使用されるMoveableインデックスを意味します。
デフォルトでは、各トリガはエクスポート時に既にインデックスを持っていますが、場合によっては、まだわかっていないMoveableのアクション(トリガ)を実行することがあります。
例えば、次のような戦闘状況を作成するには

「ララが敵を攻撃した時、その敵の体力が消耗する。」

複数の敵がレベル内には存在する可能性があるため、ララが敵と最初に遭遇するトリガが何であるか知ることはできません。
この問題を解決するために、トリガや条件に従うために使用する特別なインデックスをフラグとして追加します。
このやり方は、Moveableを動的に見つける方法がある場合にのみ可能です。
例えば、「Lara collides with moveable of <&>slot」のような条件を実行した場合、条件がtrueの場合、TRNGはララに触れているMoveableインデックスを発見します。現在、現在の条件で見つかったインデックスにフラグTGROUP_USE_FOUND_ITEM_INDEXを追加すると、次のトリガや条件が使用され、動的に検出されたこの敵に対して特定のトリガを実行できます。例えば、「Remove vitaltiy to <#> enemy」のようにダメージを与えます。
上記のフラグを使用することがわかっているときは、ソーストリガに任意のオブジェクトを選択して入力することができます。
なぜなら無関係に、そのアクションを実行するオブジェクトの別のインデックスが使用されることがわかっているからです。

TGROUP_USE_OWNER_ANIM_ITEM_INDEXフラグは、より理解しやすく使いやすくなりました。
このフラグは、現在のTriggerGroupが、Moveableのアニメーションに挿入されたAnimCommandsによって実行される場合にのみ使用してください。
この状況では、TGROUP_USE_OWNER_ANIM_ITEM_INDEXフラグは、このAnimCommandsを挿入したMoveableインデックスを使用するためのインデックスとして強制的に使用されます。

TGROUP_USE_TRIGGER_ITEM_INDEXフラグは、Moveableインデックスをリセットし、新たに元の値に強制します。
仮に以前のトリガまたは条件でTGROUP_USE_OWNER_ANIM_ITEM_INDEXまたはTGROUP_USE_FOUND_ITEM_INDEXのようなフラグを使用した場合は、このTGROUP_USE_TRIGGER_ITEM_INDEXフラグを使用して、現在の実際のソースインデックスを新たに使用してトリガまたは条件を使用できます。
このフラグを使用すると、最初にそのトリガで入力された有効なインデックスを使用するようにTRNGに通知します。

備考:NG_Center[Reference]のTGROUP_コンスタンツも参照してください。

構文:Turbo=Flags(TRB_..), FPStoKeep
範囲:[Level]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

Turboコマンドは、TRNGのスピードを上げるためのいくつかのトリックを設定することができます。
このコマンドは、レベルにフレームレートの問題がある場合、つまりFPSが29FPSを下回る場合にのみ使用してください。

備考:Turboコマンドの説明の最後に、プロジェクト作成段階の少しのトリックを使ってレベルのスピードを上げるための提案があります。

フィールドの説明

Flags(TRB_..)フィールド
--------------------------
1つまたは複数のTRB_コンスタンツ値を設定することができます。
NG_Center[Reference]のTRB_値も参照してください。

FPStoKeepフィールド
--------------------
このフィールドは、フラグフィールドにTRB_ADAPTIVE_FARVIEWを設定した場合にのみ使用されます。
保持するFPS値を入力する必要があります。
IGNOREと入力すると、デフォルト値は29FPSとなり、FPSが29fpsより下がるとTRNGは新たに29fpsに達するまで遠方視距離を減少させます。
もしあなたのレベルが非常に低いfps、例えば15fpsを持っていれば、あまりにも高いFPStoKeep値を必要としない方が良いでしょう。さもなければ、距離があまりにも小さくなります。例えば、20FPStoKeepを入力すると、TRNGはfpsが20fpsに低下した場合に限り、距離の遠い表示を減らし始めます。
このフィールドは、次の質問に答える方法です。最高のフレームレートがどれくらい重要で、最大の遠景距離はどれくらいですか?
常に最高のフレームレートを持つことが非常に重要である場合、29(最大値)と入力すると、ゲームでは常にこのフレームレートが維持され、遠方の視界の距離は大きく損なわれます。逆に遠景距離が非常に重要だと思うならば、20fpsのような低値だけをこのフィールドに打ち込むことができます。こうするとフレームレートが非常にダウンした場合を除いて、遠くの距離はほぼ常に維持されます。

備考:TRB_ADAPTIVE_FARVIEW設定を使用しない場合は、このフィールドにIGNOREと入力する必要があります。

****************************************************************

あなたのレベルのスピードを上げるためのヒント
--------------------------------------------
Turboコマンドの使用がまだ希望の結果を得るのに十分でない場合、スピードを上げるためにレベルを構築している間に少しトリックを使うことができます。

Staticの問題...
----------------
Staticオブジェクトは、Moveableオブジェクトよりも表示に多くの時間を必要とします。このため、同じ部屋または近くにあまりに多くのStaticがあると、多くの「遅くなる」問題が発生します。
この問題を解決するには、Staticオブジェクトを同じ外観でMoveableオブジェクトに置き換えるというトリックがあります。
例えば、StaticメッシュとテクスチャをStrpixプログラムで置き換えることができます。
元のStaticオブジェクトを「Export dxf」し、ANIMATINGオブジェクトのようなMoveableに「Import dxf」というコマンドを使用すると、テクスチャも正しく移動します。

透明性の問題...
---------------
複雑な理由から、TRNGは、透明なテクスチャを持つオブジェクトがある場合に、多くの余分な計算を実行します。けれども、この使い方をあきらめることはありません。場合によっては、透明テクスチャをより詳細な不透明メッシュに置き換えることができます。
例えば円をシミュレートする場合は、円が透明テクスチャを持つ四角いメッシュを使用する代わりに、不透明な三角形を使って円形メッシュを作成することができます。このようにして、望む形をあきらめずに、透明なテクスチャの使用を避けることができます。

Adapative frame rate設定の代わり
---------------------------------
TurboコマンドのAdapative frame rateで作業しても満足できない場合は、現在のレベルの遠景値を動的に変更する新たなフリップエフェクトトリガを使用して、遠景が縮小されたり、遠景がより大きくなる領域を設定できます。
この方法を使用するには、競合が発生するためTurboコマンドのadaptive far viewを無効にする必要があります。そしてゲームのレベルを調べて、遠景を減じfpsを得られる重要な場所がどこであるかを理解する必要があります。
例えば、多くの木々があって非常に見通しの悪いレベルは、スピードの問題があります。この場合、ララがこの森に入ったときは遠景を減らすトリガを置き、ララがこの森から出て行くときは遠景を広げるトリガを置くことができます。

構文:WindowsFont=IdWindowFont, WindowFontName, WindowsFontFlags(WFF_...), SizeFont, ColorRbgId, ShadowColorRgbId
範囲:[Level]セクションで使用する。
レベルセクションのインスタンスの最大数:99
おそらくこういうことだと思われます。

Windowsフォントは、Windowsフォントの設定を選択することを許可します。
トゥームレイダーで使われている共通ゲームフォントとWindowsフォントを混同しないようにしてください。
Windowsフォントは、ララのDiaryやTRNGに追加された他の機能のような特別なTRNGページレイアウトでのみ使用できます。

IdWindowFontフィールド
-----------------------
このフィールドには、このコマンドのIDを入力します。
このIDはトリガや他のスクリプトコマンドを実行するときに使用します。同じ[Level]セクションにあるこのコマンドの最初には「1」を使用し、2番目のコマンドには「2」を使用します。
IDの有効範囲は1から999です。

WindowFontNameフィールド
-------------------------
標準のフォント名を入力できます。
注:1.2.2.7 TRNGバージョンから、そのフォントの文字コードを使ってフォント名を導入することができます。
コロン文字「:」を使用して、両側を折り返します。

204:Arial

最も重要な文字コードのリスト

ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
HANGEUL_CHARSET 129
GB2312_CHARSET 134
CHINESEBIG5_CHARSET 136
OEM_CHARSET 255
JOHAB_CHARSET 130
HEBREW_CHARSET 177
ARABIC_CHARSET 178
GREEK_CHARSET 161
TURKISH_CHARSET 162
VIETNAMESE_CHARSET 163
THAI_CHARSET 222
EASTEUROPE_CHARSET 238
RUSSIAN_CHARSET 204
BALTIC_CHARSET 186

備考:西洋の文字セットでは文字セット番号を省略すると、デフォルトで使用される値は0になります。すなわち、すべての西ヨーロッパ言語(英語、ドイツ語、フランス語、スペイン語、イタリア語)に適したANSI文字セットです。

備考:現在のTRNGは、8ビットエンコーディング文字セットのみをサポートしています。そのため、Unicodeなどの16ビット文字セットは使用できません。

フォント名については、多くのWindowsフォントがありますが、非常に一般的なフォント名のみを使用することをお勧めします。そうしないと、選択したフォントがプレイヤーの環境によっては失われてしまう危険性があります。
最も一般的なフォント名は次のとおりです。

Arial
Comic Sans MS
Courier
Courier New
Ms Sans Serif
Times New Roman
Verdana

備考:このフィールドに入力した名前は、PuzzleやLegendのようなスクリプトコマンドのように、[Strings]セクションにも必要です。
例えば、「Courier New」を使用する場合、このフィールドに次のテキストを入力します。

WindowsFont=1, Courier New,...

そして、このテキストを[Strings]または[ExtraNG]セクションにも入力する必要があります。

注:文字セット番号を設定する場合は、この番号もテキストに入力する必要があります。例えば、Windowsフォントで複合フォント名「128:MS Gothic」を使用する場合は、[Strings]セクションにもこの合成名を入力する必要があります。「128:MS Gothic」

備考:フォント名を省略してIGNOREと入力すると、太字やサイズなどの他の設定に応答する一般的なフォントが検索されます。
とにかく、最良の結果を得るには、常にフォント名を入力する方が良いでしょう。

WindowsFontFlags(WFF_...)フィールド
---------------------------------------
このフィールドには、「+」記号でリンクされた1つ以上のWFF_フラグを入力できます。
このフィールドにIGNOREと入力すると、TRNGは一般的なテキスト設定ではWFF_BOLD + WFF_SHADOW + WFF_LEFT_ALIGNのデフォルト設定を使用し、タイトル設定ではWFF_CENTER_ALIGN + WFF_UNDERLINE + WFF_ULTRA_BOLDを使用します。

NG_Center[Reference]のWFF_フラグも参照してください。

SizeFontフィールド
-------------------
フォントのサイズは複雑な方法で計算されます。
この値は、1024x768の画面解像度でより大きい文字のピクセル単位の高さです。ここで、文字の幅は入力したSizeFontの50%です。
そして、このサイズは、ゲーム画面の現在の実効解像度に応じて拡大されます。

備考:画面上にテキストを表示するために必要なスペースについては、ゲームが異なる画面解像度で動作する場合、このサイズが少し異なる可能性があることを伝えることが重要です。このため、[Size Font][Frame Size for text]には、フレームテキストに空き領域がありますが、それ以上の調整はできません。
言い換えれば、フォントに大きなサイズを選んだ場合、あなたが選んだテキストフレームにはすべてのテキストが収まるので満足していても、他のPCや他の解像度でゲームが再生されると、同じテキストが長すぎてそのテキストフレームに収まらず、プレイヤーがテキストの最後の行を読み取ることができない可能性があります。
したがって、このリスクを回避するには、テキストフレームの余分なスペースを取って、さまざまなコンピュータと解像度の間のフォントサイズの変化を補う方がよいでしょう。理論的には、上記のバリエーションを補うためにスペース全体の25/30%を空にする必要があります。

ColorRbgId and ShadowColorRgbIdフィールド
------------------------------------------
これらの2つのフィールドで、フォントの色を設定できます。(ColorRbgId)、さらにシャドウカラー(ShadowColorRgbId)
あなたが入力する値は、同じ[Level]セクション内のいくつかのColorRGBの識別子です。
影の色は、テキストの色とはまったく異なる色を選択する必要があります。例えば、テキストの色が白であれば、影には黒を選択する必要があります。逆も同じです。

備考:ColorRGBコマンドは、それらを使用するWindowsFontコマンドの前にタイプされている必要があります。そうでなければ、解析ステップで解析されていないため、正しいColorRGBコマンドを見つけることができません。

構文:WindowTitle=NameOfCurrentLevel
範囲:[Title]または[Level]セクションで使用する。
おそらくこういうことだと思われます。

このコマンドを使用すると、ゲームのウィンドウタイトルバーに表示されるテキストを設定できます。
このコマンドは、ゲームがウィンドウモードになっている場合にのみ有効です。

WindowTitle=The Last Revenge by Paolone

備考:テキストを使用する他のコマンドについては、English.txtファイルにも同じテキストを追加することを忘れないでください。
別の言語バージョンを取得したい場合は、英語のセクションにテキストを入力し、別の言語のコンボボックスをクリックするだけで、選択した位置に表示されたテキストを上書きできます。

構文:WorldFarView=MaxSectorDistance
範囲:[Options]セクションで使用する。
確認していませんが、以下の訳の通りではないかと思われます。

tomb4のデフォルト値
WorldFarView=MaxSectorDistance=20セクター

有効範囲は1から127です。

WorldFarViewを使用すると、ゲームのあらゆるレベルで使用できる最大(視野の)距離を設定できます。
2つのワイドシーンや複雑なシーンに応じて、WorldFarViewよりも小さいか同じLevelFarView値を異なるレベルで設定する必要があります。

備考:
詳細は、LevelFarViewコマンドとFogRangeコマンドを参照してください。

構文:DefaultWindowsFont=IdWindowsFont, FLAGS(DWF_...), LineSpacing, MainMenuOffsets, NewGameTitle, LoadGameTitle, NewGameList, LoadGameList, OptionSettings, OptionCmdList, PauseScreen, StatList, InventoryItemName, ExamineText
範囲:[Title]セクションで使用する。
おそらくこういうことだと思われます。

スクリプトの[Title]セクションにこのコマンドを入力すると、tomb4エンジンはWindowsのフォント文字を使用してゲーム内のテキストを表示するようになります。
すべてのメニュータイトル(New game/Load game/Optionsなど)が、WindowsFontコマンドで設定したWindowsフォントで表示されます。

備考:
Windowsフォントを使用する最大の利点は、異なる文字セット(デフォルトの西洋文字セットと異なる)をサポートできることです。
Windowsフォントを使用すると、東洋言語でテキストを表示できます。
とにかく、Windowsのフォント管理にもいくつかの問題があります。
Windowsフォントの表示はWindowsAPIの機能(DirectXの機能ではない)に基づいているので、トゥームレイダーが使用するDirectXで管理するデフォルトよりも描画が遅くなります。
これは、画面上にウィンドウのテキストが軽く「ちらつく」ことを意味します。
別のリスクは、あなたの選択したWindowsフォントが、いくつかのコンピュータでは見つからない可能性があり、その場合TRNGは類似のフォントを探し出そうとしますが、それは違うのでゲームの見栄えはあまり良くありません。

上記の理由から、DefaultWindowsFontコマンドは東洋言語(トゥームレイダーのデフォルトではサポートされていません)を使用する場合にのみ使用することをお勧めします。西側のレベルビルダー(およびそのプレイヤー)は、より良いパフォーマンスとコンピュータとの互換性の問題から、デフォルトのフォント管理を使用することをお勧めします。

IdWindowsFontフィールド
------------------------
このフィールドには、すべてのシステムテキストのデフォルトとして使用するWindowsフォントの設定のあるWindowsFontスクリプトコマンドのIDを入力します。
スクリプトでは、最初にWindowsFontコマンドを置き、次に、前のコマンドを使用するDefaultWindowsFontを(下に)配置することが重要です。

ColorRGB=1, 255,255,255
ColorRGB=2, 0,0,0
WindowsFont=1, Arial, WFF_BOLD+WFF_SHADOW, 40, 1, 2
DefaultWindowsFont=1, IGNORE

備考:WindowsFontコマンドで入力する多くの設定は、ゲームでは無視されます。なぜなら点滅テキスト以下、原色(白)、または二次色(黄色)としてTRNGが処理するためです。
とにかく、サイズ、フォント名、太字、イタリック体などが使用されます。

注:バージョン1.2.2.7からWindowsFontはFontNameフィールド(そのフィールドで指し示すテキスト)に希望の文字セットも入力できます。

文字セット:FontName

128:Arial

128は、日本語や中国語のような東洋言語の文字セットです。
その他の文字コードは次のとおりです。

ギリシャ語=161
トルコ語=162
ロシア語=204

西洋の文字セットについては0ですが、他の文字セットがない場合は常に西洋の文字セット(デフォルト)が使用されるため、入力する必要はありません。

Flags(DWF_...)フィールド
---------------------------
このフィールドには、DWF_フラグを追加してこのコマンドをカスタマイズできます。
セットフラグを使わない場合は、このフィールドにIGNOREとタイプすることができます。

LineSpacingフィールド
----------------------
行間隔については、文字行とそれに続く行間の垂直方向の距離を意味します。
このフィールドを使用して、このスペースを増減することができます。
値は、トゥームレイダーのエンジンによって設定された元の値の100分の1で表されます。
例えば、100と入力すると、変更はありません。(この場合は無駄です)
120を入力すると行間隔の20%を増やし、半分に減らすには50を入力します。

このフィールドにIGNOREと入力すると、元の値を保持できます。

Offset modifiersフィールド...
------------------------------
MainMenuOffsetsフィールド以降には、トゥームレイダーメニューで使用されるシステムテキストの位置を上下に移動するフィールドがあります。
入力する値はピクセルで表示されますが、トゥームレイダーの画面の現在の解像度に応じて大きな違いがあるため、これらの値を1024x768解像度で入力する必要があります。次に、TRNGは実際の画面解像度に従ってこれらのオフセットを調整します。

備考:テキストを上に移動するには、-10などの負の値を設定する必要があります。例えば、-10は元の位置よりも10ピクセル高くテキストを移動します。

これらのフィールドの名前は自己解説です。とにかく、変更するテキストをすぐに覚えることができます。

MainMenuOffsets:最初の画面の「New Game」、「Load Game」、「Options」、「Exit」

NewGameTitle:「New Game」画面のタイトル

LoadGameTitle:「Load Game」画面のタイトル

NewGameList:「New Game」画面のレベルのリスト

LoadGameList:「Load Game」画面のsavegame情報のリスト

OptionSettings:「Options」画面のすべてのテキスト:「Options」、「Control Configuration」、「Music Volume」、「Sfx Volume」、「Sound Quality」、「Targeting」、およびそれらの設定

OptionCmdList:「Option」、「Control method」、およびゲームコマンドのすべてのリストとその設定。

PauseScreen:「Paused」メニューのすべてのテキスト:「Paused」、「Statistics」、「Options」、「Exit to title」

StatList:「Statistics」画面のすべてのテキスト。タイトルの「Statistics」をのぞく全て。

InventoryItemName:現在選択されているアイテムの名前。

ExamineText:Examineコマンドを設定した後に表示されるExamineアイテムにリンクされているテキストの位置

位置を変更したくない場合は、上記のすべてのフィールドにIGNOREとタイプすることができます。

旧スクリプトコマンド

言語の開始セクション。

異なる言語のLanguage.txtファイルのリスト。
各File=文に対して、language.datファイル(例:JAPAN.DATファイル)が作成されます。

構文:

[Language]
File=0,English.txt
File=1,FRENCH.TXT
File=2,GERMAN.TXT
File=3,ITALIAN.TXT
File=4,SPANISH.TXT
File=5,US.TXT
File=6,JAPAN.TXT
File=7,DUTCH.TXT

引数

1 - インデックス番号(「1」)
language.datの位置をソートします。このファイルのレベル名とパズルアイテム名は、Script.txtファイルで同じでなければならないため、数字が「1」のファイルは重要です。

2 - Txtファイル名(「English.txt」)
その言語のテキストを取得するソースtxtファイル

他のLanguage.txtファイルのリストの下に追加することができます。

レベルセクションを開始します。
各TR4ファイルには、オーディオトラック、レベル名、パズルアイテムのリファレンスなどを設定する独自の[Level]セクションが必要です。

構文:

[Level]
Name=Playable Tutorial Level
Legend=        The year 2000, somewhere in Egypt...
Horizon=       ENABLED
Layer1=        160,160,192,7
PuzzleCombo=   3,1,Cartouche Piece 1,   $0000,$0400,$0000,$0000,$0000,$0002
PuzzleCombo=   3,2,Cartouche Piece 2,   $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=        3,Ba Cartouche,$0000,$0400,$0000,$c000,$8000,$0002
Puzzle=        5,Eye Of Horus,$0017,$0500,$0000,$0000,$0000,$0002
PuzzleCombo=   5,1,Eye Piece, $0017,$0500,$0000,$0000,$0000,$0002
PuzzleCombo=   5,2,Eye Piece, $0017,$0500,$0000,$0000,$0000,$0002
Puzzle=        6,The Hand Of Orion,     $0000,$0400,$8000,$c000,$0000,$0002
Puzzle=        8,The Hand Of Sirius,    $0000,$0400,$8000,$c000,$0000,$0002
LoadCamera=    0,0,0,0,0,0,255
LoadCamera=    11088,-1100,28896,11119,-1399,31486,0
Level=         DATA\TUT1,107

[Level]ステートメントの説明については、現在のテーブルのステートメント名を参照してください。
オプションセクションの開始を設定する。

構文:

[Options]
LoadSave=      ENABLED
Title=         ENABLED
PlayAnyLevel=  ENABLED
InputTimeout=  18000     ; frames * seconds = 60x30
FlyCheat=      ENABLED
Security=      $55
DemoDisc=      DISABLED

上記のステートメントの説明については、現在のテーブルの特定のステートメント名を参照してください。

構文:

[PCxtensions]
Level=.TR4
Cut=.TR4
FMV=.BIK

PCゲーム版のファイル拡張子を割り当てる。

1 - Level file(Level=)
2 - Cutscene files(CUT=)
3 - Movies(FMV=)

これらの値を変更することは有用ではありません。

構文:

[PSXExtensions]
Level=.PSX
Cut=.CUT
FMV=.FMV

プレイステーション1版のファイル拡張子を割り当てる。

1 - Level file(Level=)
2 - Cutscene files(CUT=)
3 - Movies(FMV=)

これらの値を変更することは有用ではありません。

タイトルセクションを開始します。
タイトルセクションはtitle.tr4ファイルの作成に関するもので、画面上にメニュー[New game][Load game][Options]などが表示されたときに表示されます。

[Title]セクションの文は[Level]セクションと同じですが、[Title]セクションにはパズルアイテムのすべての文がありません。

[Title]ステートメントの説明については、現在のテーブルのステートメント名を参照してください。

構文:AnimatingMIP=Slot, SectorDistance

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

このコマンドは、所定の距離から見たときの低品質アニメーション(MIP)の使用を可能にします。
これはゲームエンジンの仕事を減らすのに便利です。

引数

1-Slot=Mipバージョンを使用するメインスロットのインデックス
これは、WADファイルのアニメーション名で表示される番号です。
例えば、この場合、その名前は次のようになります。「ANIMATING 13」

2 - SectorDistance:MIPオブジェクトの使用対象からの距離。
Paolone氏はこの数がスクエア(またはセクター)の数であると考えます。

構文:ColAddHorizon=ENABLED/DISABLED

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

空のテクスチャとHorizonオブジェクトとの境を表示させるかどうか設定します。
Layer1コマンドを使用して正しい空の色の値を設定すると、より効果的です。

構文:DemoDisc=DISABLED/ENABLED

[Options]セクションで使用する。

現在のゲームがデモだけの場合に設定します。
引数がENABLEDの場合、最初のレベルでのみ再生されます。

構文:Examine=NumberOfExamine,NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

Examineコマンドは、プレイヤーが調べることができる入手可能なアイテムのデータを設定します。
インベントリ内でプレイヤーがExamineを選択すると、オブジェクトの画像がフルスクリーンで表示され、この背景の上にLanguage.txt(English.txtのこと)ファイルで見つかったテキストが表示されます。
Examineオブジェクトのテキスト(Examineオブジェクトは1から3の3つしかありません)は、[PSXStrings]セクションの最初の部分をすぐに開始します。
3つのExamineオブジェクトは、テキストを表示する動作が異なります。

Examine1はテキストを持ちません。それはグラフィックイメージだけです。描画や特殊記号で地図を表示することができます。
この地図を変更するには、Strpixを使用して、Examine1オブジェクトに新しい(高精細)テクスチャを貼る必要があります。これは、これらのテクスチャがフルスクリーンで表示されるためです。

Examine2のオブジェクトには2つの異なるテキストがあります。最初のテキストは「Language.txt」内のヘッダー「Rules1:」の後から始まり、画面の上半分に表示されます。
2番目のテキストはヘッダー「Rules2:」の後に開始され、画面の下半分に表示されます。
Examine2は画面の中央で縮小されて表示されます。

Examine3のオブジェクトが最も一般的なExamineオブジェクトです。
そのテキストはヘッダー「PETEPOO:」の後に開始され、オブジェクトはバックグラウンドでフルスクリーンに表示され、フォアグラウンドでは「PETEPOO:」タグの後の共通テキストが表示されます。

Examineコマンドの引数の説明については、Puzzleコマンドの説明を参照してください。構文と意味は同じです。

構文:FlyCheat=ENABLED/DISABLED

[Options]セクションで使用する。

ララが空を飛ぶためにD O Z Yと入力するのを有効または無効にする。

通常、このオプションは、レベルのすべての部屋の構造(とテクスチャ!)を容易に確認するデバッグフェーズでしか使えません。
レベルを配布する前に、常にこのコマンドをDISABLEDに設定する必要があります。

構文:FOG=Red,Green,Blue

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

現在のレベルのフォグの色を設定します。
霧の電球とは違って、Script.txtのFOGは霧の効果をレベル全体で有効にしますが、霧は広い空間でしか見えません。
霧は周りが黒い非常に遠いゾーン(18スクエア以上)に適しています。

引数

1 - 霧の赤の強さ(「210」)
2 - 霧の緑の強さ(「176」)
3 - 霧の青の強さ(「99」)

備考:
ゲーム中の霧を見るには、(霧の電球とは違って)Volumetric FXを無効にする必要があります。(!)

構文:Horizon=ENABLED/DISABLED

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

Horizonを現在のレベルで使用するように設定します。
ENABLEDを設定すると、地平線が表示されます。
DISABLEDを設定すると、Horizonは使用されず、レベルの周りは黒色になります。

構文:InputTimeout=FramesBy60

[Options]セクションで使用する。

ゲームのフレームレートを設定します。
引数はFrames *秒として計算されます。
例えば、18000 = 60×30(毎秒30フレーム)

高すぎるフレームレートを使用すると古くて遅いコンピュータには問題があるため、この値を変更しない方が良いです。

構文:Key=NumberOfKey,NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

引数とその意味はPuzzleとExamineコマンドと同じですが、この場合はパズルアイテムの代わりにキーを記述します。

引数の説明については、「PuzzleCombo=」コマンドを参照してください。

構文:KeyCombo=NumberOfCombo,NumberOfPart, NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

キーの一部についてのデータを設定する。PuzzleComboのように機能しますが、パズルアイテムの代わりにキーアイテムの一部を記述します。

引数の説明については、PuzzleComboコマンドを参照してください。

構文:Layer1=Red,Green,Blue,Speed

Horizon=ENABLEDのときに[Level]セクションで使用する。

このコマンドは、空のテクスチャの色と空のテクスチャの動きの速度を設定します。

引数

1 - 赤色(「160」)
背景の空色のために赤の強度を設定する。

2 - 緑色(「150」)
背景の空色のために緑の強度を設定する。

3 - 青色(「192」)
背景の空色のために青の強度を設定する。

4 - 空のテクスチャの速度の動き(「7」)
範囲の値:-16 から +16
負の値を使用すると、アニメーションの動きが反転します。

構文:Legend=TextToShowAtLevelBegin

[Level]セクションで使用するには{Name=}ステートメントの後に追加します。

現在のレベルの開始時に表示されるテキストを設定します。
このメッセージは約4秒間表示されます。

このステートメントはオプションです。

構文:LensFlare=OrigX,OrigY,OrigZ,Red,Green,Blue

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

これは、太陽をカメラで見たような光効果を作り出すために使用されます。

注:ヌルメッシュオブジェクトLensFlareと同じ名前であるにもかかわらず、このコマンドは異なります。

引数

1 - X軸の反射座標
2 - Y軸の反射座標
3 - Z軸の反射座標
4 - 反射光の赤色強度
5 - 反射光の緑色強度
6 - 反射光の青色強度

座標の値を設定するには、LoadCameraの設定と同じ方法を使用することをお勧めします。(F1キーを使用して試行錯誤が必要です。)

構文:Level=FileName, NumberOfCdTrack

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

引数

1 - レベルファイル(「DATA\KARNAK」)
拡張子TR4のないTR4ファイルのパス。

2 - デフォルトオーディオトラック(「110」)
現在のレベルのデフォルトの背景音として使用するAudioフォルダのNNN.wavファイルの番号

構文:Lightning=ENABLED/DISABLED

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

空に雷(音)と雷(白い点滅)を有効または無効にします。
嵐があるレベルでこの効果を有効にします。

構文:LoadCamera=SourceX,SourceY,SourceZ,TargetX,TargetY,TargetZ,SourceRoom

カメラの位置を設定して、ゲームの「ロードゲーム」画面で使用するイメージを作成します。

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

引数

1 - ゲームユニット内のカメラのソースX位置(76406)
2 - ゲームユニット内のカメラのソースY位置(-3880)
3 - ゲームユニット内のカメラのソースZ位置(40584)
4 - ターゲット(カメラが見ている場所)X位置(75794)
5 - ターゲットY位置(-3220)
6 - ターゲットZ位置(40328)
7 - カメラが置かれている部屋の数(23)

F1キーを押します。引数が画面左上隅に表示されます。
Script.txtファイルにその数字をコピーしてください。

備考:
(1)F1機能は、Script.txtにFlyCheat=ENABLEDコマンドがある場合にのみ機能します。

(2)同じ[Level]セクションに2つのLoadCameraコマンドがある場合、ゲームは2番目のLoadCameraコマンドを使用して、セーブデータの読み込み画面を表示したり、ララが死んだ後のリロード画面を表示します。
おそらく最初のLoadCamera=は次のレベルにジャンプするFinishトリガなどいくつかの状況で使用されますが、わかりません。

構文:LoadSave=ENABLED/DISABLED

[Options]セクションで使用する。

ゲームのロード/セーブ操作を有効または無効にします。
このコマンドでDISABLEDを設定すると、プレイヤーはゲームを読み込んだり、ゲームを保存したりすることができません。

このコマンドは、すべてのレベルで機能するため、あまり役に立ちません。
奇妙なことに、理論的に可能なのは、ゲームを保存するためのピックアップアイテムを[Level]セクションに設定して、プレイステーションのトゥームレイダー3のように、プレイヤーがブルークリスタルを拾った後にのみ保存できることです。

構文:Mirror=RoomNumber, XOriginRoomBy1024

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

Mirror効果を設定します。

引数

1-RoomNumber。これは、ララが鏡を見ることができる部屋番号であり、鏡の前の部屋です。

2 -XOriginRoomBy1024 = ルームエディタのX座標の計算値。
この数字は16進形式です。
X座標は、[3D]パネル上で床を選択した際にRoom Infoに表示されます。
Mirrorコマンドに入力するには、X座標に1を加えた後、その合計に1024を掛ける必要があります。

例えば、鏡の前の部屋のX座標が12(10進数)とすると、
次のように16進数を取得します。

12 + 1 = 13
13 * 1024 = 13312
13312 =(16進数で変換)$3400

備考:X座標は、鏡の前の部屋の左上隅でなければなりません。

構文:Name=NameForNewGameScreen

備考:[Level]セクションの始めに使用する。

レベルの名前を設定します。この名前はSelect Level画面に表示されます。
Script.txtファイルでこの名前を変更する場合は、English.txtファイルの名前も変更する必要があります。

構文:Pickup=NumberOfPickup,NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

引数とその意味はPuzzleとExamineコマンドと同じですが、この場合はパズルやキーアイテムの代わりに一般的なPICKUP_ITEMを記述します。

引数の説明については、PuzzleComboコマンドを参照してください。

構文:PickupCombo=NumberOfPickup, NumberOfPart, NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

Pickup可能な(パズルではない)アイテムの一部に関するデータを設定する。PuzzleCombo=のように機能しますが、パズルアイテムの代わりに、一般的なPICKUP_ITEMの一部を記述します。

引数の説明については、PuzzleComboコマンドを参照してください。

構文:PlayAnyLevel=ENABLED/DISABLED

[Options]セクションで使用する。

プレイヤーが任意の順序でプレイするレベルを選択できるかどうか、またはゲームがScript.txtファイルの最初のレベルから自動的に開始するかどうかを設定します。(もちろんtitle.tr4レベルを除く)

初心者の間違いは、このコマンドをENABLED設定にすることです。
レベル作成者は有効にしても役立ちますが、レベルを配布するときは、常にこのコマンドをDISABLEDにしてプレイヤーが最初のレベルから開始して最後に達すると次のレベルに進むようにする必要があります。

構文:Puzzle=NumberOfPuzzle,NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

入手可能なアイテムのデータを設定します。
引数の説明については、PuzzleComboコマンドを参照してください。
引数は同じですが、唯一の違いはPuzzleコマンドに「オブジェクトの一部のインデックス」引数がないことです。

構文:PuzzleCombo=NumberOfPuzzle, NumberOfPart,NameInInventory,TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, RotationFlag

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

現在のレベルで使用するパズルコンボオブジェクトのデータを設定します。
注:コンボは複合オブジェクトで、2つ以上の部分からなる形式です。
それを使用する(Puzzle_Holeに入れる)前に、異なるパーツを組み合わせます。

引数

1 - オブジェクトのインデックス(「1」)
この番号は、WADファイルのPUZZLE DONEオブジェクト名と同じです。
例えば、現在のコンボパズルがPUZZLE_ITEM4に対応している場合、このフィールドには数字「4」が入力されます。
また、他のコマンド(Pickup、Key)でも、同じルールで値を設定します。例
PUZZLE_ITEM3はこのフィールドに「3」を入力します。
KEY5はこのフィールドに「5」を入力します。etc.

2 - オブジェクトの一部のインデックス(「1」)
例えば、このコンボアイテムが3つの部分を持つ場合、Script.txtには3つのPuzzleComboステートメントがあります。

最初のPuzzleComboでは、パーツのインデックスは「1」、2番目の「2」、3番目の「3」になります。

3 - オブジェクトの名前(「Sun Disk」)
この名前は、プレイヤーがこのアイテムを入手したときにインベントリに表示されます。
Script.txtでオブジェクト名を変更する場合は、English.txtも同じ変更をする必要があります。
他のLanguage.txtファイルについては、同じ名前を持つ必要はありませんが、Script.txtとEnglish.txtのオブジェクト名は常に同じ名前でなければなりません。

以下の16進数の6つの数字は、インベントリのオブジェクトの見え方を設定するためです。
$0000,$0180,$0000,$0000,$0000,$0002
説明しやすくするため、名前を付けます。
番号A、番号B、番号C、番号D、番号E、番号F

4 - 番号A($0000)
画面の上端からの位置。(ピクセル単位)
備考:必ずしもオブジェクトの起点が左上の視点とは限りません。原点は3D構造のオブジェクトの位置によって異なります。このため、オブジェクトを他のインベントリオブジェクトと同じ高さにするために、この番号Aを増減します。
負の数も挿入できますが、16進数で入力する必要があります。例えば、-10(上端に10ピクセル)を設定するには、数値$FFF6を入力する必要があります。

5 - 番号B($0180)
(仮想)表示カメラからの距離
この引数は、インベントリ内のオブジェクトのサイズを増減するのに便利です。
距離を伸ばすと、オブジェクトは小さくなります。
距離を縮めると、オブジェクトは大きくなります。
この値はゲーム単位で表しています。(1スクエア=512単位)
例えば、値$0200(小数点以下は512)を設定すると、表示カメラから1スクエアの距離にあるようにオブジェクトが表示されます。
このフィールドに$0000を設定すると、オブジェクトは表示カメラの前にあり、スクリーン全体をカバーするため、オブジェクトは巨大になります。
通常は、この範囲内の値を使用します。$0200 - $0500

6 - 番号C($0000)
この引数は、表示カメラのX軸の向きを設定します。
説明するのは複雑ですが、この値を変更しようとすると、Paolone氏が意味することを理解できます。
この引数の値は$0000から$FFFFまでですが、通常は4つの値しか使われません。

$0000 = 北(上から見た図)
$4000 = 東(右図)
$8000 = 南(下から見た図)
$C000 = 西(左図)

7 - 番号D($0000)
Cナンバーと同じ意味ですが、Y軸に関係しています。

8 - 番号E($0000)
CとDの数字と同じ意味ですが、これはZ軸に関するものです。

9 - 番号F($0002)
特殊機能を有効/無効にするビットマスク。

$0002 = オブジェクトの回転を有効にする。
$0008 = わかりませんが、オブジェクトの回転中心が境界ボックスの中心にくるように強制します。

構文:RemoveAmulet=ENABLED/DISABLED

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

RemoveAmulet=ENABLEDの場合、現在のレベルのQUEST_ITEMをインベントリから削除します。

構文:ResetHUB=NumberOfLevel

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

ゲームエンジンにララやサイドカー、ジープなどのデフォルトメッシュを再ロードさせます。
次のレベルのララに異なるメッシュ構造がある場合は、このコマンドを使用する必要があります。

引数

1 - 最初のレベル番号は、必要な再ロードララメッシュ(「3」)です。

例えば、レベル2では少女ララを使用し、次のレベル3では成人ララを使用すると、レベル2の[Level]セクションに次のコマンドを入力する必要があります。
ResetHUB=3
第3レベル(次のレベル)をロードする前に強制的にリロードします。

備考:
異なるテクスチャ(スキン)は、ResetHUBコマンドを必要としません。

TRNG専用の設定。TRLEでは動作不可。おそらくTREPで動作可能なため旧スクリプトに分類されていると思われる。
構文:ResidentCut=NumberOfCutscene, RoomNumber

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

現在のレベルで内部カットシーンを宣言します。

引数

1 - 内部カットシーンのインデックス(「1」)
このインデックスは1から始まります。

2 - 部屋番号(「5」)
カットシーンを開始する部屋番号。

構文:Timer=ENABLED/DISABLED

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

Race For The Irisで使用されたタイマーを有効または無効にします。

備考:

画面上でタイマーを開始するには、以下を行う必要があります。

- レベルにVon Croyオブジェクトを配置。
- Von Croyのトリガを配置。
- フリップエフェクトトリガの45番を配置。
フリップエフェクトトリガの45番?30番の間違いではないかと思われる。

伝統的な(ゲームの)方法でタイマーを止めることは容易ではありません。
ただし、Media Managerを使用すると、機器メディアを使用してsavegame内の「スクリーンタイマー」という名前のフィールドを0に設定できます。この方法は、最初にフリップエフェクト45(Von Croyを止める)またはフリップエフェクト46(Von Croyを消す)がトリガされた 場合にのみ正しく機能します。
Media Manager?

構文:Title=ENABLED/DISABLED

[Options]セクションで使用する。

紹介画面の背景としてtitle.tr4レベルを使用するかどうかを設定します。
title.tr4は一般的なレベルですが、フライバイカメラシーケンスを使用しています。これは「装飾的な」効果のためだけに使用されます。
Title=DISABLEDとするとScript.txt内にある最初のレベルがいきなり始まります。
強制終了しか終了方法がありませんので変更しない方がいいでしょう。

構文:Train=ENABLED/DISABLED

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

Train効果を有効/無効にします。
Train効果では、列車の動きを表現するため地平線が動き続けます。

Train=ENABLEDを使用する場合は、AddColHorizonおよびLayer1コマンドも使用する必要があります。
AddColHorizonはColAddHorizonの間違い。
AddColHorizonおよびLayer1コマンドは(あくまで列車の外を表現するために使用されるので)関係なく、UVrotateを使用する必要があります。

構文:UVrotate=SpeedOfScrollingTextures

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

UVスクロールテクスチャの速度を設定します。

引数

1- スピードテクスチャアニメーション(「8」)
明らかにこの数字は1バイト。(8ビット)
これは、書き込み-2または254が同じ結果を持つことを意味します。

範囲は-16 +16で囲まれているようです。

numberが負の場合(または127より大きい場合)、アニメーションの方向が反転されます。

備考:
以前のバージョンのTRNGドキュメンテーションでは、このコマンドでは、WATERFALLのテクスチャの速度にどのように影響するかが間違って説明されていました。現実には、このコマンドはWATERFALLのテクスチャには影響しませんが、レベルの床/壁に適用されるスクロールテクスチャのみに影響します。
WATERFALLのテクスチャの速度を変更したい場合は、このスクリプトコマンドを使用できます。

Customize=CUST_WATERFALL_SPEED,NewSpeed

NewSpeedは負の値で、スクロールの速度を設定します。
詳細は、NG_Center[Reference]のCUST_WATERFALL_SPEEDコンスタンツも参照してください。

構文:YoungLara=ENABLED/DISABLED

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

現在のレベルで少女ララを使用することをゲームエンジンに「知らせる」ために使用されます。
少女ララは成人ララ(少女ララは武器を持たず、彼女はおさげが2つ、成人ララは1つしかありません)と非常に異なっているので、ゲームエンジンに助言する必要があります。

動作させる方法がはっきりしないコマンドがいくつかあります。

試してみたい方は、ここに未知のスクリプトコマンドのリストがあります。

Weather=
[Level]セクションで(おそらく)使用する。
script.exeに「rain」や「snow」のような魔法の言葉がないので、おそらくENABLED/DISABLEDで動作します。
備考:このコマンドは、次世代エンジンでは削除され、いくつかのコマンドで代用されています。

StarField=
その名前から、夜の空を星と見なしているように見えますが、どう動くのかわかりません。

Layer2=
引数の構文はLayer1=と同じですが、違いは何ですか?

Security=
このコマンドは[Options]セクションにあり、値は常に$55(10進数で85)です。
しかし、この番号は何ですか?
たぶん、武器無制限のような他のチートを有効/無効にすることを考慮しています。
あるいは、チェックサム計算でのsavegameの検証を実行するために使用されていますか?
謎です…。

Pulse=
おそらく構文は次のようになります。
Pulse=ENABLED/DISABLED

NoLevel=
これは非常にうんざりですが、このコマンドは、TR4で実際に使用されています。
使用されたのは[Level]セクションです。

[Level]
Name=Yes
NoLevel=ENABLED
Level=A,0

もちろん、利用可能なA.tr4レベルはありません。
おそらく、これは条件付きテストを処理するためハードコードされた方法です。
セネスゲームの後には、2つの異なるルートがあり、「YES」レベルはそのレベルのまさに前に来ます。
別のNoLevelコマンドは、「NO」という名前の他のレベルで使用されます。

OCBリファレンス

_NEW Animating

おそらくこういうことだと思われます。
ANIMATINGの中のOCBは、ANIMATINGを動かすためにアクショントリガを使用する場合にのみ使用されます。
この状況でOCBはANIMATINGの動きの速度として使用されます。
タイプする値については、1つのセクターが1024単位であることを覚えておいてください。タイプする値は、2番目の現在の座標に30回追加されます。
例えば、速度に40という値を入力すると、ANIMATINGが1200単位(40 x 30 fps)の秒単位で移動し、この距離は1つのセクターよりも少し大きくなります。
備考:ANIMATINGのOCBを0にすると、「move animating」トリガで使用されるデフォルトの速度は30単位になります。

_NEW Boats

おそらくこういうことだと思われます。
ボート、ラバーボートまたはモーターボートは、同じOCBです。

次の値またはそれらの合計を使用して、同時に異なる機能を有効にすることができます。

1 =ボートの前にライトを表示する。

+2 =ボートはヘビートリガを有効にできません。

+4 =ボートはララトリガを有効にすることができません。

備考:「ララ」トリガについては、トリガがララによって活性化される可能性があることを意味します。

値2と4について、この制限を使ってゲームで興味深い状況を作成することができます。例えば、フリップエフェクトトリガを使用してWaterルームの底をカバーすることができます。

Lara. Kill Lara in <&>way -> Default death(vitality=0

共通の「トリガ」をトリガタイプとして使用する。

次に、あなたはモーターボートに値4(ボートは「ララ」トリガを有効にすることができません)を設定します。

さらに、その水に危険な外観(例えば溶岩のようなもの)を与えると、
今、ララは危険な水に直接入ると殺されますが、モーターボートを使って水を渡ると、モーターボートは水の底の共通の「トリガ」をトリガしないため、生き残ります。
これはほんの一例であり、他の興味深い組み合わせは少しのファンタジーを使って作成することができます。

+8 =「見まわす」機能を有効にする。

+16 =ボートを「燃料なし」に設定します。このような状況では、ボートエンジンのスイッチは不可能になります。このボートを停止または復元するには、TRNG変数トリガを使用してゲーム時間にボート内のこのOCBを設定またはクリアすることができます。

+32 =自動燃料管理。このフラグがあると、TRNGはLocal Long Delta変数を使用して燃料の現在値を検出します。デルタが0の場合、ボートは「無燃料」モードになり、作動しません。デルタがゼロ以外の値を持つと、ボートは機能します。あなたはデルタ変数の燃料を変更するために変数トリガを使用することができます。とにかく、TRNGはデルタ変数の値をエンジンボートが作動しているごとに減少させることを忘れないでください。

+64 =ボートを「アンカー」に設定します。この状況では、エンジンは機能しますが、ボートは現在の位置から離れることができません。

+128 =燃料バーを画面に表示します。このフラグは、32(自動燃料管理)と一緒に動作します。OCB 128 + 32では、ララがボートを運転している間、現在の燃料を表示する燃料バーが画面に表示されます。
スクリプトに「Cutomize=CUST_BAR、BAR_CUSTOM4、...」コマンドを追加して、燃料バーの機能を設定する必要があります。
NG_Center[Reference]のFBAR_USED_FOR_BOAT_FUELフラグも参照してください。

_NEW Bridges

おそらくこういうことだと思われます。
1.2.2.4以降のバージョンのTRNGdllでは、すべてのBRIDGEオブジェクトに対して次のOCBを使用できます。

ティルトグレード(0/63)
------------------------
ティルトグレードは、現在のブリッジの勾配のレベルです。
斜面の方向にある2つの対向する辺の差についてのクリック数です。
例えば、0 =フラット(傾きなし)、1 =反対側の1つのクリック、4 =両側の間が1セクター(4つのクリック)など。

備考:Tilt GradeはBRIDGE_CUSTOMオブジェクトに対してのみ機能し、他のBRIDGEオブジェクトでは、タイル要素の名前に傾斜が使用されます。BRIDGE_FLAT=Tilt0、BRIDGE_TILT2=Tilt2

ハンギングを有効にする(64)
----------------------------
断片化されたトリガゾーンの境界の端にララがハンギングするのは良くありません。彼女は凍りつくだろうし、いくつかのダイナミックなアクションでは、彼女は荒々しくブリッジに投げつけられるだろう。
これらの問題をすべて回避するため、すべてのブリッジオブジェクトに対してハンギング機能が無効になっています。
とにかく、いくつかのブリッジでそれを新たに有効にしたい場合は、そのOCBフィールドに64を追加するだけです。
Paolone氏は、一般的な二乗ブリッジ(条件付きトリガなし)に対してのみ、またはプレイヤーが他の反対側でハングしようとしなかったことを期待して、1つまたは2つの辺がゲームセグメントのグリッドと同じブリッジを追加することをお勧めします。(ゲーム計画のトリックを使ってこれを禁止するべきです)

スライドを無効にする(128)
---------------------------
デフォルトでは、傾きの等級が2以上(3から無限)までのとき、ララはそのゲームセクターで滑ります。(スライドします)
ブリッジを使用すると、傾きグレードのスライドを無効にすることができますが、状況によっては非現実的なように見えます。
実際には、このOCBは、傾き3以上のBRIDGE_TILT3、BRIDGE_TILT4、BRIDGE_CUSTOMで使用することができます。
このOCBを使うと、ララはこの斜面の橋で普通に歩くことができます。
Paolone氏は、階段のように45度(傾斜4クリック)の傾きが正常で、ララのような人が歩き回ることができるように、目に見える理由がある場合にのみ、この機能を使用することを提案します。

ブリッジの厚さ(1/255に256を乗じたもの)
----------------------------------------
ブリッジの厚さは重要です。ララがブリッジの下にいるとき新しい天井をシミュレートする役割と、ブリッジの上面と下面の間の壁を設定された厚さで作ることができるからです。

デフォルトでは(厚さとして「0」と入力した場合)、厚さは古いレベルエディタのように1回のクリックです。
厚さの単位はゲームセクターの1/16なので、クリック数よりも低い値を設定することができます。これは、1クリックが4単位であることを意味します。
このようにして、非常にスリムなブリッジ、歩道橋を吊り下げる素晴らしいチャンス、床に置かれた大きなStaticオブジェクトの衝突をシミュレートするのに便利な非常に深い橋があり、ララがそれらを降りることを避けることができます。

_NEW Fish Emitter

おそらくこういうことだと思われます。
備考:NG_Center[Tools2]にあるOCB電卓を使用して、このオブジェクトのOCBを計算できます。このツールを使用すると、正しいOCBを簡単に計算できます。

魚の数
------
OCBフィールドで設定する主な値は、魚の数です。
1から127の数値を入力できます。
魚の数はあまり多くしないでください。レベル全体の魚の最大数は「128」です。
魚はLITTLE_BEETLEのリソースの一部を使っているので、この数量はLITTLE_BEETLEにも影響が出ることを覚えておいてください。
魚の群れの代わりに別々の魚を使用する場合は、16匹または32匹で広い水域を埋めることができます。

備考:

*OCBフィールドで0にすると、TRNGはララを攻撃しようとする8匹の魚の群れの設定を使用します。

*イナゴやスカラベと魚の相違は、灰色のボックスを認識することができることです。
灰色のボックスを使用すると、水域の一部へのアクセスを禁止することも、StaticまたはMoveableの存在を識別することもできます。
実際には、床、壁面、天井のみの衝突をチェックすることを覚えておく必要があります。そのため古い船のようなものを水の中に入れ、船の下に灰色のボックスを置くと、魚はそれを横切るかわりに周りを回ります。

スローフィッシュ(128)
-----------------------
値128を加えて、魚をゆっくりと動かすことができます。
プールや水槽のような狭い空間でこの値を使うと非常に便利です。Fish and Pirahnaのデモの水槽も参照してください。

フレンドフィッシュ(256)
-------------------------
魚を装飾的な使い方をする際に使用します。
OCBに値256を追加すると、魚はどんな場合でもララを攻撃したり傷つけたりしません。

個々の魚(512)
---------------
魚は群れでなく別々に泳ぎます。
魚が群れでいるとき、彼らは群れのボスを中心に狭いスペースに留まろうとします。
群れを利用する利点は、ララが水の中に入ったとき、攻撃的な魚の群れが非常に早く移動することです。
広い水域では、魚が広いスペースに分散されるように群れを無効にするほうがよいでしょう。

魚の種類
--------
すべての魚が常に同じ外観を持つトゥームレイダー3とは異なり、TRNG Fish Emitterでは4種類の魚の中から選択できます。

ピラニア(+1024)
クラウンフィッシュ(+2048)
バタフライフィッシュ(+4096)
エンジェルフィッシュ(+8192)

「魚の種類」と魚の動作を混同しないでください。
例えば、あなたは友好的なピラニアまたは攻撃的なクラウンフィッシュを設定することができます。
魚の種類は魚の外観だけを設定し、その動作は設定しません。

備考:同じFish Emitterに2種類以上の魚を追加することができます。この場合、Fish Emitterは異なる種類の魚を同じ量、生成します。
例えば、次のようにタイプすると、OCB = 2048 + 8192 + 8 =(クラウンフィッシュ + エンジェルフィッシュ + 8匹の魚)= 10248
Fish Emitterは4匹のクラウンフィッシュと4匹のエンジェルフィッシュを生成します。

ジャンプフィッシュ(16384)
---------------------------
魚がランダムに水から飛び跳ねます。
この設定を使用する場合、魚が水から飛び跳ね、地面で死なないように注意してください。
このリスクを回避するには、少なくとも水の周りに少なくとも4クリックの高さの壁を作成します。
もう一つの方法は、水の深さが2クリック未満のとき、魚はジャンプできないので、水の部屋の周りに、2クリック未満の浅瀬を作成します。

備考:「Fish and Pirahna」のデモをチェックすると、レベルの開始時に熱帯魚が少し頻繁に飛びます。これは、ジャンプを可能にするのに十分な深さ(2クリック以上)の水面があるが、水の中間の高さが非常に低い場合に発生します。これはデモレベルで使用された沿岸の状況でした。とにかく、あなたが深い水を作成する場合、デモレベルのようではなく、魚はめったにない状況で飛び出します。これは魚が水面に近すぎる(1クリックで)ときだけジャンプしますが、非常に深く、魚は非常に頻繁に飛び出すには深すぎる水になります。

ティミー・フィッシュ(32768)
-----------------------------
フレンドフィッシュの設定を使用すると、ティミー・フィッシュも追加して、ララが魚に近づくと恐れて逃げる魚をシミュレートすることができます。
この設定は狭い水域ではなく、広い空間でのみ使用することをお勧めします。

_NEW Guardian

おそらくこういうことだと思われます。
GUARDIAN(Laser Head)のOCBは、GUARDIANがララへ攻撃を開始する前のカウントダウンとして使用されます。
OCBを0にすると、GUARDIANは初めてララを攻撃するまでに約3秒かかります。
150のような数値を設定すると、GUARDIANはすぐにララを攻撃します。
OCB0ですぐに攻撃し、OCB150で3秒の間違いではないかと思われます。ヘルプが間違い。

_NEW Hydra

おそらくこういうことだと思われます。
OCB1またはOCB2
--------------
HydraのOCBに1または2を配置すると、Hydraオブジェクトのペア(1組)を扱うことになります。
この状況では、最初のオブジェクトにOCB = 1を設定し、他のオブジェクトにOCB = 2を設定して、同じセクターに両方のヒドラを配置する必要があります。
ゲームでは、2つのヒドラは、同じ側の2つの向かい合うコーナーにとどまって動きます。
ヒドラのカップルのもう一つの特徴は、両方のヒドラがある種の「V」字を作るために逆の方向にちょっと傾けられることです。

備考:

* Hydrasのカップルで作業するときは、TRNGが南向き(NGLEビューで)で開始されるため2体が向き合うことはできません。

* OCBの2と1を省略すると、Hydraは単一のオブジェクトのように機能し、プロジェクト内での向きと位置を維持します。

ミサイル型OCB
-------------
ミサイルはララに命中させるためにヒドラが撃った活力のあるボールでなければなりません。

以下の値のうちの1つだけを選択し、カップル設定のために「さらに」「1」または「2」を追加します。

0 OCB(ミサイル0)
ミサイルタイプに意味のある値を追加しない場合は、最初のミサイルタイプを選択します。
ミサイル0は、緑色のエネルギッシュなボールです。それはララに少しのダメージを与えます。(衝撃波)

256 OCB(ミサイル1)
グリーンエネルギーを与えるボールですが、これはララを燃やします。

512 OCB(ミサイル2)
黄色エネルギーを与えるボール。ほとんどダメージを与えない。

768 OCB(ミサイル3)
エナジャイズボール。リトルダメージ。このボールは少しカーブしララに達する。

1024 OCB(ミサイル4)
エナジャイズボール。ほぼ768OCBと同じですが、この場合ボールは湾曲しません。

1280 OCB(ミサイル5) イエローボール、ダメージはほとんどありません。

1536 OCB(ミサイル6)
火の玉。これはララを燃やします。

1792 OCB(ランダムミサイルタイプ)
ミサイルタイプのように1792を設定すると、TRNGはミサイルタイプをランダムに選択します。
これは、同じヒドラの同じ種類で、異なる種類のミサイルを撃つことができることを意味します。
プレイヤーは、最も危険なボールであるミサイル1(緑色)とミサイル6(ファイアボール)を色やレイアウトで認識することができます。

他のOCB設定
-----------

2048 OCB(火災を無効にする)
ヒドラは、エネルギーを与えるボールを撃つ前に、少しの火を示します。
この火はそれほど美しいものではありません。なぜなら、それはヒドラの体の不思議な姿勢で示されるからです。とにかく、ショットがすぐに来たときにプレイヤーが理解するのに役立ちます。
値2048をOCBに追加すると、小さな火災は表示されなくなります。

4096 OCB(ミサイルを無効にする)
4096の値をOCBに追加すると、ヒドラはもはやエナジャイズボールや火の玉を撃たなくなります。
また、この制限によって、ヒドラはララが大きなビークを使用するのを激励することができます。

_NEW Jeep

JEEPのOCBフィールドに「1」を設定すると、JEEPのビーム光を有効にすることができます。
このライトはSIDECARのように機能しますが、SIDECARに見えるライトコーンのメッシュはJEEPにはありません。
このメッシュをJEEPに追加したい場合は、ライトがオンまたはオフのときに、TRNGによって補完される新しいメッシュ(インデックス= 18のメッシュでなければならない)を表示/非表示にすることができます。
備考:この新しいメッシュを追加すると、最初は「不可視」のように設定することを忘れないでください。
このジョブの実行方法を理解するには、AnimationEditorでSIDECARオブジェクトを参照してください。

_NEW Kayak

確認していませんが、以下の訳の通りではないかと思われます。
OCB 1 =霧の後流を加える。
-------------------------
残念ながら、Tomb3のゲームで見た2つの舟の軌跡は、このTRNGバージョンのカヤックでは利用できません。
理由は非常に技術的です。tomb3で使用されたメソッドは、これらの2つのストライプを作成するために、tomb4エンジンでは利用できないいくつかの機能を使用しました。
とにかくOCBフィールドに値1を追加してカヤックの下に少し白いミストを加えることができます。

OCB 2 =カヤックに飛び乗るアニメーションを受け入れる。
-------------------------------------------------------------
デフォルトでは、トゥームレイダー3の冒険の元のコードを使用して、ララは浮遊(水上)の位置からのみボードに乗ることができました。
舟に乗る他の方法を失うことは問題です。なぜなら、カヤックが低水域にあるときはララは新しいカヤックに乗れないからです。そしてこうした理由から、カヤックを永遠に失うリスクを避けるため、(低水域にある)カヤックから降りることが禁止されています。
MudubuのTR3レベルは、潮流(シンク)の使用のように、悪い位置でカヤックから出ることをララに禁じるために、常に深い水やその他のトリックを持つように作られていました。
とにかく多くの異なる環境でカヤックを使いたいと考えています。このため、別の状況でボートから降りることができるので、他の方法を取ることは有益です。
Paolone氏はカヤックオブジェクトにカスタムアニメーションを作成できないので(このオブジェクトはkanak.wadのhttp://www.TrLevelManager.eu/ng.htmのdemosセクションにあります)、ジャンプしてボードに入るアニメーションはありません。とにかく、このカスタムアニメーションをもう一度追加するチャンスを作ります。
上記の演説を説明するもう一つの方法はこれです。あなたが舟に乗る新しいアニメーションを追加しない場合、カヤックは深い海でのみ使用する必要があります。低水域や地上のような他の環境では、カヤックを数多くの状況で離れることができないので、それを理解できないプレイヤーは、イライラする可能性があります。

2階からカヤックにジャンプするためにカスタムアニメーションを作成する場合、次の操作を実行する必要があります。

1)KAYAK_LARAスロット用のカスタムアニメーションを作成するには、次の機能を使用します。

これらのデータを使用してアニメーションを作成します。

開始位置
LARAスロットのアニメーション77のフレーム39のポーズ
Paolone氏は水平方向の速度や正確な下降角を知ることができないので、位置については完璧なマッチングはできません。とにかくララをカヤックオブジェクトの原点Yより約150単位上に置き、配置する位置はあなたのアニメーション33を実行する前に、カヤックの中心より-80引いた位置である位置に、ララは次の位置に移動します。

ララX =カヤックX
ララY =現在のララY(Y座標の変更なし)
ララZ =カヤックZ - 80

向きについては、アニメーションを実行する前にカヤックと同じにする必要があります。

ララの衝突ボックスがカヤックの衝突ボックスに触れ、ララの位置がカヤックの座席に適合したときにアニメーションが開始されることに注意してください。

提案は、LARAスロットのAnimation77で見られるような動きの速度を使用して、垂直方向に長い移動を実行することです。例えば、階下に200単位、前方に約80単位移動します。

最終的な位置
KAYAK_LARAスロットのAnimation3のフレーム176の位置とポーズ

向き
ララはカヤックと同じ向きにすべきです。 備考:とにかく、ゲームでは、+/- 20度の僅かな差しか認められません。

AnimationEditorデータ
Slot=KAYAK_LARA
Animation33(新しいアニメーションを追加する必要があります)
StateID=4
Next Animation=4

2)KAYAKスロット用のカスタムアニメーションを作成する。
ララが乗り物を運転するとき、2つのスロットのすべてのアニメーションが働いているため、アニメーションの各組み合わせ(2つのスロットのアニメーションの数が同じ)は常に同じフレーム数を持つ必要があります。

Animation5をKAYAKスロットからコピーすることができます。
カヤックが短く揺れているので、ララが舟に飛び乗ったように使うことができ、Paolone氏の目的には良いことです。
次にKAYAKスロットに新しいアニメーションを追加し、Animation33の位置でアニメーションの上にコピーします。
KAYAK_LARAスロットで作成したAnimation33のフレーム数が同じになるまで、このKAYAKのAnimation33に空のフレームを追加することが重要です。

AnimationEditorで他のAnimation33と同じデータをこのアニメーションに設定します。
Slot=KAYAK
Animation33(新しいアニメーションを追加する必要があります)
StateID=4
Next Animation=4

3)カスタムアニメーションを有効にするために、KAYAKのOCBに値2を設定します。
このカスタムアニメーションのすべての管理はTRNGですでに処理されているため、アニメーションまたはTestPositionコマンドを使用する必要はありません。カヤックオブジェクトにOCB2を追加するだけです。

備考:カヤックのメッシュを参考にしてアニメーションを構築したいのであれば、WAD内のカヤックメッシュの向きがゲーム内とは逆になることを覚えておいてください。カヤックオブジェクトのAnimation16のフレームからカヤックの位置を取得すべきです。

OCB 4 =地上から船上に行くアニメーションを受け入れる。
-----------------------------------------------------
カヤックはラバーボートやモーターボートとは違って、ビーチに「駐車」できる地上でも動くことができるので、カヤックがビーチに乗っているときにはアニメーションを追加するのは面白いはずです。
この目的を実現するには、2つのカスタムアニメーションを作成し、それらを有効にするためOCBに4の値を追加する必要があります。
新しいカスタムアニメーションの導入に関する説明は、OCB 2の説明も読んでください。

あなたが地上からボートに乗るためのアニメーションを追加する場合は、ビーチにいるときにボートから降りることができる利点も得られます。
言い換えれば、これらのアニメーションが欠落しているとき、ララがビーチにいるとき、ララはカヤックから離れることができません。

以下は、2つのカスタムアニメーションを実現するための技術情報です。

左サイドから乗り込むアニメーション

開始位置
LARAスロットのAnimation103のポーズを使用してください。(どのフレームでも結構です)
位置については、以下のデータがカヤックの位置とは異なる点で計算されます。これらのデータはTestPositionコマンドと互換性があり、理解できない場合は、HelpフォルダのAnimationCommand.htmを読んでください。

XDistance= -280
YDistance= 0
ZDistance= +100

Facing= $4000(+90度)

最終的な位置
KAYAK_LARAスロットのAnimation3のフレーム176の位置とポーズ

AnimationEditorデータ
Slot=KAYAK_LARA
Animation34(新しいアニメーションを追加する必要があります)
StateID=4
Next Animation=4


右サイドから乗り込むアニメーション

開始位置
LARAスロットのアニメーション103のポーズを使用してください。(どのフレームでも結構です)
位置については、以下のデータがカヤックの位置とは異なる点で計算されます。これらのデータはTestPositionコマンドと互換性があり、理解できない場合は、HelpフォルダのAnimationCommand.htmを読んでください。

XDistance= +255(奇妙なことに、この値は左側の対称値(-280)とは違います。なぜなら衝突ボックスが非対称の位置だからです)
YDistance= 0
ZDistance= +100

Facing= $C000(-90度)

最終的な位置
KAYAK_LARAスロットのAnimation3のフレーム176の位置とポーズ

AnimationEditorデータ
Skot=KAYAK_LARA
animation35(新しいアニメーションを追加する必要があります)
StateID=4
Next Animation=4

カヤックアニメーション
KAYAK_LARAアニメーションと同じアニメーション数と同じフレーム数のアニメーションをKAYAKスロットにも常に追加する必要があります。

地上からの乗船はカヤックの回転を必要としないので、カヤックが常に静止しているカヤックスロットのAnimation16を使用して、KAYAK_LARAオブジェクトのAnimation34と35と同じ長さのフレームを追加します。

備考:TRNGはカスタムアニメーションを実行する前に理想的な開始位置に達するように自動調整を行います。これは、あなたのアニメーションの開始時にララの位置を意味する、それは常にカヤックとまったく同じ点になります。
OCB 4をカヤックに追加し、カヤックをビーチに駐車してから、左または右から入るようにしてください。この瞬間に入るアニメーションはまだ存在していないので、ララは、「missing go-in animation number XX」というメッセージとの整列フェーズの後に直ちに停止される。このようにして、カスタムアニメーションを実行する必要があるときに、カヤックに対するララの位置を知ることができます。

OCB 8 = NORMAL TRIGGERSを無効にする。
-------------------------------------
デフォルトでは、ララがカヤックに乗っているときは、通常はララは普通のトリガをトリガします。
このアクティベーションを無効にしたい場合はOCBフィールドに値8を加えることができます。この方法でカヤックのララはヘビートリガのみを処理し、普通のトリガは無視されます。
この機能は、水中で泳いでいるときにララにダメージを与えたいが、彼女がカヤックに乗っているときにこのダメージを避けることを許可したい場合にも便利です。

OCB 16 =有効なミスト
------------------
このOCBはトゥームレイダー3に存在する機能を再び有効にしようとしますが、TRNGではネイティブな方法では機能しません。
急な霧は、実際には水はありませんが、水をシミュレートするための滝で、カヤックの波をシミュレートするために使用される白い霧です。
急な霧は、カヤックが下に移動しているとき(その「舟先」は下を目指している)、床がカヤックに近づいたときにのみ働きます。
他の状況では、速い霧は常に無効になります。

OCB 32 =「ルックアラウンド」機能を有効にする。
--------------------------------------------
デフォルトでtomb4エンジンでは、ララが乗り物を運転しているとき、それは許可されていません。とにかくあなたがララにこのチャンスを与えることを望むならば、あなたはOCBに値32を加えて、いつものようにLOOKキーを押して、ララは辺りを見回すことができます。

_NEW KeyPad

確認していませんが、以下の訳の通りではないかと思われます。
備考:NG_Center[Tools2]にあるOCB電卓を使用して、このオブジェクトのOCBを計算できます。このツールを使用すると、正しいOCBを簡単に計算できます。

ng.wadのSWITCH_TYPE1スロットに格納されているオブジェクトを使用すると、レベルのために動作するキーパッドを使用することができます。

キーパッドを使用すると、パスワード(キーコード)を必要とするドアを作成したり、レベルにあるエレベーターをカスタムトリガで制御することができます。
キーパッドはSWITCH_TYPE1スロットでうまく動作しますが、SWITCH_TYPE2と3でも動作するはずです。

SWITCH_TYPEオブジェクトのOCBウィンドウでは、キーパッドのように機能するためにOCBの次の組み合わせを設定する必要があります。

0-9999 =キーコード。これは、ララがスイッチを有効にするために入力する必要がある番号(暗証番号)です。

10001 - 10010 =キーコード番号に1000から10010の範囲の値を設定した場合、エレベーターのように単一のキーが必要です。この場合、OCBの数はユーザーが入力できる最大数を表します。例えば、10007を設定した場合、プレイヤーは最大7(1から7)の数字しか入力することができません。
この作業モードはエレベータに使用されますが、この方法を使用する他の機能には短時間でプレイヤーに異なる選択を許可する機能が追加されます。例えば、ドアを開くか、ララをテレポートするかを選択します。

+16384 =キーパッドスイッチに信号を送ります。このスイッチオブジェクトがキーパッドのように機能するには、この値をOCB番号に追加する必要があります。

いくつかの例

秘密コード「7153」を要求するキーパッドを持つには
7153 + 16384 = 23537
したがって、キーパッドのOCBコードに23537と入力する必要があります。

単一の番号を必要とするキーパッドを「1」から「4」の範囲で囲むようにするには
10004 + 16384 = 26388
この場合、OCBに挿入する番号は26388です。

備考:
単一キーのキーパッドモードについては、現在のところアクショントリガだけがあります。

Elevator. Move <#>elevator to floor number set in last keypad operation

それを使用することができますが、他の多くのものが短時間で追加されます。
上記のトリガを使用するには、SWITCH_TYPEを置き、スイッチトリガでトリガしてください。(これはスイッチオブジェクトを使用する通常の古いメソッドです)
次に、SWITCH_TYPEのOCBを(10004 + 16384 = 26388)のように設定します。
今度は、同じセクターで別の共通トリガを呼ばなくてはならなくなります。トリガはフリップエフェクトになります。
フリップエフェクトは間違い。アクショントリガです。ヘルプが間違い。

Elevator. Move <#>elevator to floor number set in last keypad operation

ゲームでは、エレベーターを動かすトリガは、プレイヤーが正しい値を挿入した場合にのみ実行されます。このサンプルでは、範囲「1」から「4」に囲まれた数字になります。
これが起きると、この数値は目標階としてエレベータを移動させるトリガによって使用されます。

備考:SWITCH_TYPE1スロットにある実際のキーパッドと、ng.wadのANIMATING16_MIPスロットにあるエレベーターに使用されている擬似キーパッドを混同しないでください。
このスロットにある偽のキーパッドは、エレベーターの内部でのみ使用できますが、内部キーパッドを備えたエレベーターを作成すると、ハードコードモードで動作します。
この重複の理由は、エレベーターがセクターでは、実際のSWITCH_TYPEオブジェクトを使用することができず、エレベーターにダミートリガも必要であり、スイッチやダミーのような特殊なトリガが重ならないためです。この問題を回避するためにスイッチトリガではない偽のスイッチを使用して、実際にはエレベータの外側の他の場所でスイッチトリガを使用します。

_NEW ParallelBars

おそらくこういうことだと思われます。
PARALLELBARは、TR5からインポートされた新しいオブジェクトです。
OCBは最終ジャンプのパワーを設定します。
0に設定すると、ララは非常に短いジャンプを行い、200で約2セクターの距離にジャンプします。
Paolone氏は100 = 1つのセクターだと推測しますが、あくまで推測です。

備考:
*コードを見ると、明らかにジャンプ力の計算は、PARALLELBARオブジェクトのララに対する向きに従って変化します。すなわち、もしララが北から来た場合、OCBの値によってジャンプの飛距離が決定し、一方でララが反対方向(南)から来た場合、OCBは他の方法で計算され短いジャンプになります。OCBの値の通りに飛距離が出ない場合は、マップ内でPARALLEL_BARSを回転させて向きを変え、ジャンプの飛距離を調整してください。
元々のTR5のコードはこのように動作するようです。

*PB_PROGRESSIVE_CHARGEフラグを指定してPARALLELBARをカスタマイズすると、OCBで設定した値が連続したチャージ計算の開始点になります。
PB_PROGRESSIVE_CHARGEを使用すると、バーの周りを一周するたびに最終ジャンプのパワーがOCBだけ増加するため、この場合は大きすぎる値を設定しない方が良いでしょう。
計算は、現在のOCB(最小値)からOCBの最大値に10を掛けたもの(最大値)から始まります。

*PB_LARA_CAN_SLIDEフラグと一緒にPB_PROGRESSIVE_CHARGEを使用すると、ララが左右に動くたびにジャンプの現在のパワーがリセットされます。

_NEW Pushable Object

おそらくこういうことだと思われます。
備考:NG_Center[Tools2]にあるOCB電卓を使用して、このオブジェクトのOCBを計算できます。このツールを使用すると、正しいOCBを簡単に計算できます。

PUSHABLEオブジェクトはすべて、OCBフィールドに正しい値を設定するだけで、踏んだり、登ることができます。(NGLEでオブジェクトが選択されている間に、「O」キーを押します)

0-31 =オブジェクトの衝突の高さ。1クリック=1ユニット単位なので、PUSHABLEの高さ1セクター(4クリック)を設定するには、4を入力する必要があります。
このようにして高さ7セクターのPUSHABLEを作成することができます。

次の値を1つ以上を追加して、対応する機能を設定することができます。

32 =値32のPUSHABLEオブジェクトは、空に投げられる可能性があります。
この機能の使用には注意が必要です。
技術的理由から、TRNGは、移動可能な方向に沿って常に(正面に)押し込むことができるように、押す面を(直ぐに)回すことが必要です。

あなたのPUSHABLEは、側面に同じテクスチャを持って、上にシンメトリなテクスチャを持っていれば問題はありません。一方、ララがオブジェクトを空に押し込んだ時は、押した方向に従って正しい面にPUSHABLEが変わります。

この問題を解決する方法は2つあります。
- 4つの側面に同じテクスチャを持ち、上部のテクスチャに90度のステップで常に同じ回転を繰り返す画像を配置することができます。
-OCB512または1024を有効にして、ある方向(東西または南北)の移動を禁止し、正しい向きにレベルにPUSHABLEを配置し、投げられる可能性のある境界線を探します。
備考:PUSHABLEオブジェクトが落ちているとき、それはSHATTERオブジェクトを破壊し、死の生き物を殺すが、DEMIGODを倒すことはない。

64 =現在のPUSHABLEの新しいTRNG機能を有効にします。警告、それは非常に重要です。64の値を加えた場合にのみ、特別なOCB機能が動作するからです。
値64が欠けていると、次世代エンジンは現在のPUSHABLEのOCBを無視します。
この方法は、「Lost Library」に表示される惑星効果との互換性を可能にするために必要です。
惑星効果のためにPUSHABLEを使いたいときは、値が64であるOCBが入力されていないので、TRNGは惑星効果のPUSHABLEのOCBを無視するため、異なる5つのPUSHABLEオブジェクトに1から5の間のOCBだけを入力しなければなりません。
言い換えれば、次世代PUSHABLEに新しい特殊機能を使用する場合は、他のOCBに値64を追加する必要があります。
128 =引っ張るのを禁じる。
256 =押すのを禁じる。
512 =東西を禁じる。
1024 =南北を禁じる。
2048 =西に登る。
4096 =北に登る。
8192 =東を登る。
16384 =南に登る。

登る機能については、PUSHABLEの高さに少なくとも8クリックにする必要があります。(高さはOCBに設定する値として8クリック= 32単位)

備考:

*伝統的なPUSHABLEにしたいのであれば(tomb4の古いスタイル)、OCBに値64の追加を省略するだけです。
*プッシュ/プルまたは特定の方向を禁止するような特別な機能が必要な場合でも、PUSHABLEオブジェクトを歩くことができないようにするには、高さに値0(ゼロ)を入力してから、望んだ機能のOCBを入力します。

_NEW RollingBall

おそらくこういうことだと思われます。
ローリングボールのOCBフィールドに、次の値の1つ以上(追加)を設定できます。

1 =サイレントモード。
音と地震を無効にする。見えないローリングボールのトリックを使用して、より特殊なトリガを順番に有効にして、サウンドや画面が揺れるのを避けると便利です。

2 =敵を倒す。
ローリングボールは、動いている間に触れるすべてのクリーチャーを倒します。

4 =押すとアクティブ。
値4を追加すると、ララが押すとローリングボールがアクティブになります。
このような状況では、ローリングボールのトリガは必要ありません。
OCB 4では、平坦なセクター(傾斜していないセクター)にもローリングボールを置くことができます。境界セクターに傾斜があるだけです。
このようにして、ララはそれを動かす方向を選択することができます。

備考:このOCBはララのアニメーション番号316が必要です。
すべてのWADにこのアニメーションがあるわけではありませんが、とにかくcatacomb.wadで見つけることができます。
catacomb.wadは間違い。library.wadにあります。ヘルプが間違い。
アニメーション316が欠けている場合は、ララがローリングボールに近づいてアクションキーをヒットしても何も起こりません。

8 =プッシュとリカバリでアクティブ。
このOCBはOCB4のように動作しますが、この場合、ローリングボールを一度押すだけでなく、目的位置まで何度も押すことができます。
この方法を使用すると、ローリングボールを平らな(傾斜していない)床から、新しいスロープに達して転がすことができます。

注:また、このOCBにはアニメーション番号316が必要です。上記のOCB4の情報を参照してください。

16 =SHATTERオブジェクトを破壊する。
ローリングボールは、転がる先でSHATTERオブジェクトを破壊します。

32 =水の部屋との衝突を確認する。
ローリングボールが水の中に入るなら、OCB 32を追加することができます。
- 水しぶきをあげる
- 異なる物理的挙動を伴う水中移動のシミュレーション。

64 =共通トリガを有効にする。ローリングボールは、デフォルトとしてヘビートリガを可能にするものですが、共通トリガ、すなわち通常はララによってのみ有効にされる「トリガ」も可能にします。
このようにしてローリングボールはララを救うための罠を可能にするでしょう。

_NEW SideCar

デフォルトでは、SIDECARは運転中は常にビームライトが光っています。
SIDECARオブジェクトのOCBフィールドで「1」と入力して、ビームライトを無効にすることができます。

_NEW Static Objects

おそらくこういうことだと思われます。
TRNGバージョン1.1.8.7から、以下の機能を設定するために、各StaticオブジェクトにOCBコードを設定できます。

4 =衝突を無効にする。ララはStaticを渡ることができた。

8 =ガラス透過を設定します。Staticにはガラス透明効果があります。

16 =氷透過を設定する。Staticは、氷のような透明感を持ちます。

32 =物理的接触でのララのダメージ。彼女が触れるとStaticがララを傷つける。このダメージはララ(完全な活力= 1000)に10 HPを取り除きます。それでも、CustomizeスクリプトコマンドでCUST_SET_STATIC_DAMAGEを使用してこの値を変更できます。
備考:ララがStaticに触れている間、このダメージが連続的に適用されることを覚えておいてください。これは短時間でララを殺す可能性があることを意味します。

64 =物理的接触でララを燃やす。ララは燃えますが、とにかくララは水を探し出す時間が少しはあります。

128 =ララを物理的接触で殺して爆発させる。このOCBを使用すると、一種のMINEにこのStaticを変換できます。
備考:このOCBコードを使用する場合は、ララのアニメーション番号438をインポートしてください。これはnewcity.wadで見つけることができます。
あなたのレベルでこのアニメーションが見つからない場合、TRNGは爆発を実行しますが、ララは活力= 0のときに使用されるデフォルトの死のアニメーションで殺されます。

256 =ララを物理的接触で毒する。彼女がStaticに触れるとララは中毒になる。CustomizeスクリプトコマンドでCUST_SET_STATIC_DAMAGEを使用して毒強度を変更することができます。

512 =巨大な衝突。TRNGに、現在のStaticに6x6セクターより大きい衝突ボックスがあることを知らせます。デフォルトでは、tomb4は衝突チェックの速度を最適化するために6x6セクターより大きい衝突を無視しましたが、とにかく6x6を超える巨大なStaticを作成したい場合、OCBに512を追加するだけです。このようにして、Staticに36x36セクターまで衝突ボックスが発生する可能性があります。

1024 =ハードシャッター。古いtomb4では、SHATTERオブジェクトはスケルトンとテンプラーによってまたは他のすべての武器によって破壊されました。一部のSHATTERオブジェクトのOCBに1024を追加すると、その硬度を上げることができ、Staticは爆発的な弾薬(フラッシュ弾ではない)、SPHINX、JEEP、SIDECAR、ローリングボール(正しいOCBがある場合)によってのみ破壊されます。


2048 =ヘビートリガが接触しています。ララがOCB2048のStaticに触れると、Static下に置かれたヘビートリガがアクティブになります。

4096 =スケーラブル。このフラグを使用すると、現在のStaticサイズを拡大または縮小することができます。
OCBを入力すると、次の式で縮尺率を設定できます。
パーセンテージ * 4 + 4096
パーセンテージは1から1000の範囲の数値で、100 =元のサイズです。
例えば、1000を使用すると、Staticはオリジナルの10倍になります。1を入力すると、Staticは元のものより100分の1になります。
最大サイズについては、「10倍」は理論上の制限であり、メッシュスケーリングについては機能しますが、ビューボックスにオーバーフローが発生する可能性があります。この場合、アイテムは多くのポジションからゲームに表示されません。
この理由から、400%スケーリングを実行しない方が良い(すなわち4回より大きい)

重要:スケーラブルフラグを設定すると、以前の(値が小さい)フラグは無視されます。このフラグはスケーリングの割合を設定するためにOCBを使用する必要があるため、これは必要です。とにかく、このフラグは、次のOCBフラグが常に有効になっているかのように動作します。巨大な衝突(512)とヘビートリガ(2048)

備考:
*上記の値を追加することはできますが、2つの異なるタイプの透明度を追加することはできません。
例えば、Staticがガラスのようになり、衝突がない場合、OCBウィンドウに値(8 + 4 =)12を入力できます その他の例。
ララを爆発させて彼女を燃やす爆弾にStaticを変換するには:64 + 128 = 192

*あなたは「Static。...」フリップエフェクトを使ってこれらの属性をゲーム内で変更することができます。

_NEW SubMarine

おそらくこういうことだと思われます。
値が4096(0/4095)未満のOCBは、(ミサイルの)射撃とそれに続く射撃との間の休止の時間を示します。
値はティックフレームで、1秒=30ティックフレームです。
OCBで0を指定すると、TRNGはOCBで値120(4秒)を強制します。

備考:この時間が完了すると、以前の魚雷が破壊され、別の魚雷が発射されるため、3秒未満の数値(OCB=90)を入力することはお勧めしません。この理由から、あなたが短すぎる時間を使うと、ララがSUBMARINEに非常に近づきすぎてミサイルはララに命中することができなくなります。

発射時間に追加する他のOCB。

4096 =それは水中の外からミサイルを射撃することを可能にします。
デフォルトでミサイルは水面上で爆発し、水面から離れることがないようにします。

8192 =SUBMARINEの後ろから泡を消す。

_NEW Switch 1/2/3

確認していませんが、以下の訳の通りではないかと思われます。
新しいTRNG値
------------
バージョン1.2.2.3以降では、Switch1/2/3オブジェクトにアニメーション番号を入力できます。このアニメーションは、ララがスイッチを操作しているときに実行されます。
アニメーション番号の正しい範囲は次のとおりです。4/4095

このカスタムTRNGアニメーション機能を使用する場合、アニメーション番号に1つまたは次のフラグを追加することもできます。

8192(オン/オフスイッチ)
---------------------------------
OCB「8192」を追加すると、オン/オフ(またはフリップ/フロップ)機能が有効になります。
この場合、2つのカスタムアニメーションを作成し、最初のアニメーション番号を入力する必要があります。
例えば、最初にスイッチを操作するカスタムアニメーションが386の場合は、8192 + 386をOCBに入力します。
スイッチオフ用アニメーションも作成する必要があります。すなわち386に続く387。
備考:
すべてのスイッチがオン/オフ機能を許可しているわけではありません。
オン/オフ機能を持つスイッチには常に4つのアニメーションが必要です。
それらは、通常、次のようになっています。

Anim StateID NextAnim 説明
------------------------------------------------------------------
0    0       0        開始位置。
1    2       2        開始位置から移動する。終了位置まで。
2    1       2        終了位置。
3    2       0        終了位置から移動する。開始位置まで。
------------------------------------------------------------------

ヒント:JUMP_SWITCHのようなSWITCH_TYPE1/2/3とは異なるスイッチを見つけて、このオブジェクトをコピーしてSWITCH_TYPE1/2/3にリネームします。例えば、Guard.wadでは、JUMP_SWITCHに優れたオン/オフスイッチがあります。

4096(反対のStateID)
---------------------
上記のアニメーションテーブルを見て、それを他のスイッチと比較すると、特に、開始位置のStateIDが「1」(代わりに「0」)で終了位置のStateIDが「0」(代わりに「1」)と、StateIDが異なっていることがわかるでしょう。
この場合、スイッチにOCB「4096」を追加して、TRNGにStateIDのこの反転について通知する必要があります。

備考:フリップ/フロップ機能を使用していないときにも、このフラグを使用する必要があります。開始位置(または「オフ」状態)が「0」でなく「1」であるたびにこのフラグを使用する必要があります。

備考:オン/オフ機能を使用していないときにも、このフラグを使用する必要があります。開始位置(または「オフ」状態)が「0」でなく「1」であるたびにこのフラグを使用する必要があります。
オン/オフスイッチのオフ機能は、ドアやフリップマップを有効にする普通のトリガでは正常に機能しますが、何らかの方法でMoveableを移動または変更するような特殊なトリガでは機能しません。この場合、スイッチオブジェクトの現在のStateIDをチェックするTriggerGroupを作成し、この値に応じてスイッチオンまたはスイッチオフに対して異なるトリガを実行する必要があります。
次に、スイッチセクターでこのTriggerGroupのみを実行します。

ウェブサイトのデモセクションにある「New Mirrors」プロジェクトの例を参照してください:
http://www.TrLevelManager.eu/ng.htm

スイッチ1/2/3の標準(旧)OCB
----------------------------
0 =下に下げるスイッチになります。
1 =ピックアップを見つけるため手を穴の中に入れる形になります。(*)
2 =手を穴の中に入れる形のスイッチになります。
3 =壁を押すようなスイッチになります。
-1 =ララがピックアップの低い穴に到達するアニメーション。アイテムをピックアップする前に、ララは穴を見るでしょう。(異なるアニメーションだがOCB1の同じターゲット)
(*)ホール内のアイテムにも同じOCBコード(= 1)を設定する必要があります。

_NEW Teeth_Spikes

おそらくこういうことだと思われます。
本当にTEETH_SPIKESに設定するOCBはTRLEと同じですが、もしララがゆっくりと動いて、それを越えられるトゥームレイダー1のようなTEETH_SPIKESにしたいのであれば、OCB = 20を挿入する必要があります。
OCB 20は、スパイクが北を指して静的スパイクでいることを意味します。

次に、この行をScript.txtファイルの[Level]セクションに追加する必要があります。

Enemy=TEETH_SPIKES, IGNORE, IGNORE, IGNORE, EXTRA_TEETH_NO_DAMAGE_ON_WALKING

EXTRA_TEETH_NO_DAMAGE_ON_WALKINGフラグは、TEETH_SPIKESがTR1スパイクのように機能することを意味します。

_NEW Tight-Rope

おそらくこういうことだと思われます。
OCBで、ララがタイトロープを通過するのを困難にすることができます。

OCB 0
-----
デフォルトモードを設定します。
値0では、TR5と同じように動作します。
このモードでは、プレイヤーはララがバランスを崩すと反対の方向を指定する必要があります。例えば、ララが右に落ちそうなとき、プレイヤーは矢印左を押す必要があり、その逆もあります。

OCB 1
-----
ハードモードを設定します。
値1では、ララが完全にバランスをとっている間にプレイヤーが左右のキーを押すと、ララが落ちる可能性があります。(デフォルトモードではOCB0で、TRNGは無駄な方向キーを無視しました)
ハードモードでは、プレイヤーはより早く正確にコマンドを入力しなければならず、ランダムなアンバランスが頻繁に発生する可能性があります。

OCB 2
-----
ベリーハードモードを設定します。
それは「ハードモード」のように機能しますが、この場合、ララのアンバランスを修正するために必要なレスポンス時間は「ハードモード」よりも速くなければなりません。

OCB 3
-----
不可能なモードを設定します。
このOCBではララはいつも落ちるでしょう。
このOCBを使用する唯一の理由は、TRNG変数を使用してOCBフィールドを2度目に変更したい場合です。
このようにして、何らかの理由で(雨、雪、風)、ララがタイトロープを歩くことができず、その後の変化(雨、雪、風のストップ)で新しくタイトロープを通過することができるような、ゲームのダイナミクスをシミュレートすることができます。
アイテムメモリで動作するTRNG変数トリガを参照してください。これらのトリガは、「Variables。Memory。.... Item Memory...」のテキストですべて始まります。

OCB -1
------
イージーモードを設定します。

イージーモードは、子供の冒険でのみ使用する必要があります。
ララはイージーモードで落ちることはありません。ただ危険な状態で、ロープの終わりに達するためにただ方向を押すだけです。
イージーモードでは、逆方向の矢印コマンドを使用して方向を反転させ、出発点に戻ってこれます。他のゲームモードではこの目的を達するのは非常に困難です。

_NEW WaterfallMist

おそらくこういうことだと思われます。
備考:NG_Center[Tools2]にあるOCB電卓を使用して、このオブジェクトのOCBを計算できます。このツールを使用すると、正しいOCBを簡単に計算できます。

デフォルトでは、WATERFALLMISTエミッタはOCBを受け入れませんが、TRNGでは、ミストを放出するためにOCBを追加することができます。

備考:

*OCBフィールドで「0」にすると、古いミストエミッタが使用されます。
* waterfallMISTとWATERFALL1 / 2オブジェクトを混同しないでください。エミッタはNGLEの赤い円錐ですが、waterfall1 / 2はスクロールテクスチャが適用された有効なオブジェクトです。

このように合計する値が異なるため、OCBフィールドに値を入力する式は少し複雑です。

(NumberOfBalls-1)+ EmitMode * 4 +(SizeBall-1)* 16 +(EmitDurate-1)* 256 + ColorIndex * 4096 + CenterSquare

上記の値の意味を理解するには、以下の説明を読んでください。

NumberOfBallsの値(デフォルト= 4)
----------------------------------
霧のために異なる発生源を持つことができます:1から4。
デフォルトのtomb4では、値は最大:4
これらのミストボールは、1つのセクターの側面を覆うように一直線に並んでいます。
線(または長すぎる線)を望んでいないが、より短いゾーンだけを希望する場合は、この番号を減らすことができます。(例えば、1または2)

EmitMode(デフォルト= 0)
-------------------------
この値は発生フェーズの周波数を設定します。
4つのプリセット発生モードがあるので、この値の有効範囲は0から3です。

0 =通常発生モード。これは、デフォルトのtomb4で使用されるものと同じです。それはライトスプレーのように見えます。

1 =低速発生モード。このモードでは、発生フェーズと次のフェーズとの間の休止時間が長くなります。

2 =高速発生モード。高速モードでは、発生はほぼ継続し、ミストボールは実際に密なボールのレイアウトを持っています。

3 =ランダム発生モード。ランダムな方法では、間隔は規則的ではありませんが、ランダムな方法で変化します。このモードは、浜辺や急流の波の霧をシミュレートするのに便利です。

SizeBall値(デフォルト= 12)
----------------------------
有効範囲は1から16です。
この値は、ボールの単一のサイズおよびボールのセリエの長さにも影響します。
デフォルト値は12です。

EmitDurate値(デフォルト= 6)
-----------------------------
デュレートの放出は、単一粒子の寿命です。
ほとんどの場合、時間は長くなり、ミスト効果が強くなります。
この値の有効範囲は1から16です。

ColorIndex値(デフォルト= 0)
-----------------------------
古いミストエミッタでは、色は常に同じ(薄灰色)でしたが、今度は次の表にしたがって8種類の色(範囲0/7)から選択できます:

R G B
0:ライトグレイ128 128 128
1:水色 128 255 255
2:イエロー236 252 19
3:白255 255 255
4:ダークグリーン15 93 76
5:赤255 0 0
6:青0 0 255
7:ライトグリーン0 255 0

CenterSquare値(デフォルト= 0)
-------------------------------
デフォルトでは、ミストラインはセクターの中心ではなく、赤い円錐の基部に近い側に表示されます。
スクエアの中心にミストを作成したい場合は、値32768を追加する必要があります。
だから、実際には、CenterSquareは以下のような値を持つことができます。

0 =セクターの横にミストラインを置いておきたいとき
32768 =ミストラインを現在のセクターの中心にしたいとき

AI_FOLLOW

2つ以上のAI_FOLLOW(Moveableの下にあるものやその他)を置く場合、最初のAI_FOLLOWと次のAI_FOLLOWに同じOCBを設定する必要があります。
それ以降のAI_FOLLOWオブジェクトは異なり、OCBが1増加します。
例えば:

1番目のAI_FOLLOW =OCB1(移動させたいMoveableの下)
2番目のAI_FOLLOW =OCB1(Moveableが移動する場所)
3番目のAI_FOLLOW =OCB2(さらに移動させたい場所)
4番目のAI_FOLLOW =OCB3(etc)

備考:
Enemy Jeepの移動に使用されるAI_FOLLOWは値-2から始まり、上記のルールに従うべきです。

Amber light

1 =爆発の後、灯りが点滅します。

2 =サウンドエフェクトMAPPER_PYRAMID_OPENを再生し、このオブジェクトが外の部屋にある場合は、霧の効果を有効にします。

備考:このオブジェクトはPulse=スクリプトコマンドの影響を受ける可能性があります。
現在のレベルにPulse=ENABLEDコマンドがある場合、フリップマップ4が有効な場合を除き、Amber lightは決して有効になりません。
TRLEでもOCB1、2ともに動作します。PulseスクリプトコマンドはTRNG専用の設定です。

Animated objects

666 =トリガ上にララがいる時だけアニメが表示されます。

Baddy 1

Baddy 2
1 =右に転がる。約1ブロック転がるので、ララがドアに近づいたときにトリガするのに適しています。
2 =左に飛ぶ。上記のように
3 =かがむ
4 =4クリック登る。悪役の当初の位置が、これから入るブロックの4クリック下になるようにします。
10 + =Baddyに無制限の弾薬を与える。
無制限の弾薬は間違い。BADDY_2のみ銃撃から出現します。(BADDY_1のOCBの10は0と同じ。)ヘルプが間違い。

BADDY_1の出現のシーケンスを設定するには、第1のBADDY_1に1000を追加し、第2のBADDY_1に2000を追加します。
こうすると、第2のBADDY_1は第1のBADDY_1が倒されたときにのみ現れます。
トリガは第1のBADDY_1だけに設定し、第2のBADDY_1には必要ありません。また、すべてのBADDY_1が部屋番号2にいる必要があります。

1000 + =第1のBADDY_1に設定
2000 + =第2のBADDY_1に設定
etc。
同じ方法をBADDY_2に使うことができますが、この場合は100の倍数を使うべきです。
100 + =第1のBADDY_2に設定
200 + =第2のBADDY_2に設定
300 + =第3のBADDY_2に設定
トリガは第1のBADDY_2だけに設定し、第2のBADDY_2には必要ありません。また、すべてのBADDY_2がTRAIN=ENABLEDのレベルにいて、ENEMY_JEEPとAI_X1の設定が必要です。

備考:同じレベルで2つの異なる敵のシーケンスを作成する場合は、OCBの値を1000よりも大きくする必要があります。(BADDY_2の場合は100)
例えば:
BADDY_1(仮に「Bob」という名前とします。)が倒されたとき、他の敵が順に現れるとしましょう。
このようにOCBを1番目のシーケンスでは設定します。

BADDY_1「Bob」のOCB1000
他のBADDY_1 OCB 2000
他のBADDY_1 OCB 3000

同じ部屋に他の敵(仮に「Richard」という名前とします。)が倒されたとき、他の敵が順に現れるようにするには、このようにOCBを2番目のシーケンスでは設定します。

BADDY_1「Richard」のOCB5000(分かりますか?「4000」ではなく「5000」です。「Bob」BADDY_1シーケンスの次の値+1000)
他のBADDY_1のOCB 6000
他のBADDY_1のOCB 7000

Blinking Light

明らかに、OCBは、光が点灯するまでのカウントダウンです。
非常に大きな数値を入力すると、トリガ後にライトが点灯するまで時間がかかります。

Chain

1 =ララを傷つける。

Clockwork Beetle

Clockwork Beetleのコンボ(メカニカルスカラべとキー)の両方に4を挿入します。
TRLEサンプルレベルと製品版TR4で設定が違う。
OCB両方に4を設定するのは「Pharos, Temple Of Isis」のみ。
レベルをまたいでClockwork Beetleを使用するためか?

Dog

0 =正常。(トリガ後に表示されます)
1 =トリガされるまで横たわっています。

Door Type 1

ドアが2つのドアの場合、次のアイテムを設定する必要があります。

左のドアで値269
右のドアで値276

(例はチュートリアルレベルの中にある。)
この数値はチュートリアルレベルでスタート直後に開くドアのオブジェクトインデックス番号。
OCBとは関係ない。

Door type 2

ゲーム開始時にドアを開けるには、5つのボタンすべてを押します。
備考:5つのボタンをすべて押したドアをトリガすると、アンチトリガはおそらく機能しないでしょう。
全てのボタンを押さない方がトリガ/アンチトリガの順序をそのまま使えます。もしボタンを押した場合は、ドアに近づく前にララにドアをトリガさせてドアを閉じ、その後は普通にドアをトリガして開き、アンチトリガで閉じるようになります。

Door type 3

1 =ドアが開かないようにする。ララがCOG_SWITCHを引っ張っている間だけ、ドアがゆっくり開きます。
2 =CROWBARで開く

EarthQuake

備考:地震効果(地鳴りと揺れ)を作り出すために配置され、トリガされるヌルメッシュオブジェクトです。
333 = 16秒間。(音は鳴るが、揺れはない)
888 = 5秒の地震と音。

Emitters

多くの場合、トリガを必要とせずにオブジェクトをすぐにアクティブにするにはOCBの5つのボタンをすべて押します。

Enemy Jeep

Enemy Jeepを処理するには、AI_FOLLOWオブジェクトを使用する必要があります。(AI_FOLLOWのOCBについてはAI_FOLLOWオブジェクトの表を参照してください)
Enemy Jeepを止めるには、フリップエフェクト30を使用する必要があります。
備考:
TR4「Desert Railroad」では、以下のOCBがEnemy Jeepにありました。
0(ゼロ)
101
102
103
104

Falling blocks

0以外の値は、立っているときに崩壊しませんが、トリガされるときにのみ崩壊します。

Flame Emitter 1

これは死をもたらします。
-2または-7:円錐の方向に沿って水平に炎を連続的に噴出する。どうやらこれらの2つの値は同じ結果を持っています。
どちらも円錐の方向に沿って水平に炎を連続的に噴出しますが、-2は床の中央から噴出し、-7は床のふちから噴出します。

{-2または-7と異なる負の数}:炎が水平方向に噴出しますが、OCB-2または-7とは違って、噴出とそれに続く噴出との間に間隔があります。

異なる負の数は、多数のFlame Emitterを配置して同時に有効にした場合、それぞれの間隔を変える唯一の用法です。例えば、-5のような同じ負のOCBを持つ2つのFlame Emitterを、同時に有効にすると、同じ時間に水平の炎が放出されます。一方、-5と-8のような2つの異なる負のOCBを配置すると、2つのFlame Emitterは同じ時間に有効になりますが、噴出と休止時間に関するタイミングが異なります。

{正の数}=明らかに正のOCBは炎の形状に影響を与えませんが、とにかくこれらの値は実際には驚くような方法で使用され、「スケールされたスパイク」に従って有効な盛り上がりブロックが変更されます。これがPaolone氏がコードを勉強した結果ですが、Flame Emitter1のOCBがこの謎の「スケールスパイク」の立ち上がりブロックに影響することを理解するためには、実験が必要です。
唯一の確かなことは、正の値は炎を直接修正しないということです。その他の重要な提案は、7より大きい数値を絶対に入力しないでください。そうでないと、予測できない結果をもたらすブロックについて0から7の配列に渡されるためです。
スケールスパイク?

Flame Emitter 2

注:死の原因にはなりません。

2 =円錐が向いている方向に炎を移動させる。
備考:この「動く」は単に炎の方向ではありませんが、炎は部屋の壁の後ろに消えるまで部屋の中を実際に動きます。火のようなリソースを継続的に浪費することを避けるために、火を水面まで動かすことをお勧めします。この火が水の部屋に達すると消えます。

123 =標準サイズの火炎、すなわちFlame Emitter1と同じ大きさ。
OCBを123にすると床の中心に炎が灯ります。炎の大きさはFlame Emitter 2と同じ大きさ。ヘルプが間違い。

{2と123以外の正の数}:OCBは炎の高さを示します。OCBが大きいほど、より小さな炎になります。このため、OCB1はOCB50よりも大きい炎になるでしょう。
{負の数} =奇妙なことに、負のOCB番号は、OCBの負の数に対応するフリップマップを有効にします。例えば、-1を設定すると、フリップマップ1が有効になります。この状況で炎は発生しません。
詳細についてはScriblerzのBedlesledチュートリアルを参照してください。
「Street Bazaar」のLIGHTNING CONDUCTORのセットアップのことだと思います。

Flame Emitter 3

0 =チュートリアルレベルのように油水に使用される炎です。これは死をもたらします。
0以外の数= Karnakレベルのように炎を青の「稲妻」に変えます。
2または4 = 180度反転して稲妻が表示される。
水平に稲妻が表示されます。
3以上 =稲妻は、FLAME_EMITTER3のOCBと同じOCBを持つANIMATING3と、OCB「0」のANIMATING3をヒットしようとします。

例えば、FLAME_EMITTER3のOCBに「5」を入力し、ANIMATING3のOCBに「5」を入力します。このOCBは二股の稲妻を生成するので、常にOCB「0」の別のANIMATING3を配置する必要があります。

OCB 888、889、890
-----------------
これらのOCBは1.2.2.4バージョンのTRNG dllから追加されました。
これらのOCBを使って青い稲妻でララを攻撃することができます。
違いは、ララの症状です。

888 =ララを燃やし即死させる。
889 =ララを傷つけ、数秒後に殺す。
この値のダメージは、ララの乾燥具合に応じて変化します。
ララが水中にいるとダメージは非常に少なくなります。
ララが水面に浮いていると水中よりもダメージが多くなります。
ララが(水泳の後で)濡れていると、ダメージはさらに多くなります。
ララが完全に乾燥すると、ダメージは最大になります。
890 =ダメージはありません。エフェクトとしてEmitter3を使用したいときは、このOCBを使用します。

Flyby Camera

0 =シーケンスをララのカメラからの開始に固定。
1 =未使用。
2 =無限にループ。
3 =ララのカメラを追跡。
4 =カメラがトリガされる前にララが最後にいた位置をターゲットに。
5 =ララが現在動いている位置をターゲットに。
6 =シーケンスの終わりに再度ララに固定。
7 =Cut-Cam(カットカメラ)。同一シーケンス内の指定されたカメラにジャンプ。(Timer = ジャンプ先のカメラ番号)
8 =カメラを固定。(timer = 30 X 秒数)
TRLEでは300 X 秒数で動作していましたが、NGLEでは30 X 秒数で動作するように修正されているようです。
9 =見回すキーによる抜けだしを無効化。
10 =ララ制御を無効にする。
11 =ララ制御を有効にする。
12 =未使用。
13 =未使用。
14 =ヘビートリガを有効にする。
15 =未使用。

Guide

備考:ガイドは「AI_FOLLOW」と一緒に使用する必要があります。そうしないと、単にぐるぐる走り回ることになります。

コードビット 1 =トーチに点火する
コードビット 2 =トラップを有効にする(下のように)
コードビット 3 + コードビット 5 =碑文を読む(読んだとき何かが起こるようにしたい場合は、AI_FOLLOWの下にヘビートリガを配置します)
コードビット 4 =ガソリンに点火する(上記)
コードビット 5 =トーチをつかむ

すべてのビットボタン...ガイドを消す。

備考:
TR4の「Valley Of The Kings」でのOCB
9000
13000

Hammer

1 =通常のハンマー(アンチトリガされるまでハンマーが上下します。)
2 =トリガ上にララがいる時だけハンマーが上下し、いなくなるとすぐに止まります。破壊時に爆発音がします。
3 =上記と同じですが、トリガ上にララがいる時だけハンマーが上下し、いなくなると上まで上がって止まります。

Helicopter(flying)

フライングヘリコプターは、TR4の「Desert Railroad」でANIMATING1として見つけることができます。
それを飛行させるには、OCB = 666を設定し、AI_FOLLOWをEnemy Jeepと同じ方法で使用する必要があります。(AI_FOLLOWとEnemy Jeepの説明を参照)

Helicopter(Mine)

「The City of the Dead」で見つけた「Mine」ヘリコプターは、ヘリコプターの「静的な」半分(メッシュの片側しか見えません)です。ララはそれを撃ち壊すことができます。
ヘリコプターのOCBに1と入力します。ヘリコプターを爆発させるには、SHATTER3を使い、room73にセットアップします。燃料缶はトリガの真上にはありません。トリガの真上にあると、ヘビートリガがアクティブになりません。
ここまでは「The City of the Dead」のセットアップと同じです。SHATTER3は他のSHATTERでも構いませんし、部屋番号も73でなくてもいいようです。

「Mineフィールド」のみで使用する場合は、MineのOCBに0を入力します。
OCB = 0の場合、地雷は見えなくなり、設置場所に6x6セクターの地雷原が作られます。ララが地雷のフィールドを歩いていると、爆死するでしょう。
備考:地雷原はセクターの境界と一致していません。
実際は5×5セクターの領域 + セクターの幅の1/2のサイズを持っています。

Horseman

Horse
2つ以上の騎馬が必要な場合は、騎馬ごとに同じOCBを設定する必要があります。
例えば
Horseman1 =OCB1
Horseman2 =OCB2
Horse1 =OCB1
Horse2 =OCB2

Jump Switch

'timer'秒後にレバーを再度使いたい場合は、1をOCBに設定します。
例えば、Timerフィールドに値12を挿入し、JUMP_SWITCHのOCBに「1」を入れると、トリガ(例えばドア用)が12秒間だけアクティブになり、今度はドアが閉じられ、JUMP SWITCHのレバーが新たに上がります。
備考:すべてのJUMP_SWITCHにこの機能があるわけではありません。guard.wadファイルにあるJUMP_SWITCHを使用する必要があります。
OCBを1に設定しなくても同じように動作します。ただし、JUMP_SWITCHはguard.wadのものでなければなりません。
なにかとの競合を避けるため1を設定するのかもしれません。
「Tomb Of Semerkhet」でこの値が使用されています。

Lightning conductor

0 =ダメージなし
1 =ララがダメージを受けます。
2 =TRNGはANIMATING8オブジェクトを探します。存在する場合、LIGHTNING CONDUCTORはANIMATING8をターゲットとして使用します。
OCB2は、LIGHTNING CONDUCTORがフリップマップ1にあり、フリップマップが有効な場合に特定の計算を行う。サウンドエフェクトELEC_ARCING_LOOPが使用されます。

Little Beetles

0 - 128 =あなたが望むスカラべの総数。
1000 +スカラべが床から現れる。
2000 +スカラべが天井から現れる。
4000 + =ゆっくり放出した後、一気に噴出させる。
備考:
- すべてのアクティブスカラべをクリアするには、フリップエフェクト31番を使用します。
- スカラベの大群は、「PUZZLE_ITEM12」または「PICKUP_ITEM1」のどちらかとともに使用されています。それらはどちらも、壁に取り付けられたスカラベであり、壁からはずすにはCROWBARが必要です。スカラベの大群は、壁のスカラベの後ろにある「穴」から吹き出すことがあります。スカラベが壁の穴から出てくるような錯覚を生み出すため、特殊なテクスチャが使用されます。これには、単に「PUZZLE_ITEM12」または「PICKUP_ITEM1」のトリガをKEYトリガとして指定(そしてOCB設定に2と入力して、ゲーム内の壁に配置)し、「LITTLE_BEETLE」のトリガを同じスクエアに設定します(LITTLE_BEETLEを「穴」の高さまで上げます)。

Locust Emitter

OCBデータフィールドに十分大きな数字を入力すると、致命的になることもあります。約96が限界です。
OCBコードは、イナゴの数を定義します。
TR4で使用されたOCBは、12,20および25でした。
備考:
バイクの通り道にヘビートリガを配置するか、砕け散るオブジェクトから大群を放出することができます。

Mummy

2 =トリガされるまで倒れていて、ララが近づくと動きだします。

Music Scroll's

-422 =ララはスクロールを「PUZZLE_HOLE2」に置き、竪琴をプレイします。(PUZZLE_HOLEの左に竪琴を置く必要があります)
備考:PUZZLE_HOLE2のオブジェクトにも-422の値を設定する必要があります。

Pickups Items

0 =オブジェクトが床にある。(いつもの方法で拾います)
1 =オブジェクトが隠されている。(ララは「壁から突き出た手」タイプのアニメーションを再生します)
2 =オブジェクトが壁に取り付けられている。(ララはCROWBARを使う必要があります)
3 =オブジェクトが高い台座の上にあります。
4 =オブジェクトが低い台座の上にあります。
64 + =アイテムがピックアップトリガをアクティブにしたい場合は、上記のいずれかに64を追加します。
128 =無制限の弾薬をセットする。これはUZIを除くすべての弾薬で働く。
TRLEでもUZIだけ無制限になりません。
256 =ミラーパズルのピックアップを設定します。

Pulley

ララがロープを引っ張る回数をOCBにセットします。

1 =トリガするために1回だけ引きます。
2 =トリガするには2回引く必要があります。
etc。
TRLEでも確認できました。3を入力すると3回目でトリガされるようです。

Puzzle Holes

999 =PUZZLE_DONEのコリジョンが無くなります。
これを入力しないと、見えない壁によってララの通行を妨げます。
チュートリアルレベルのホルスの目(パズルドア)の設定ですが、コリジョンを無くしたい時には有効です。

Raising Block 1

1 =振動付きで表示されます。
OCBの1から5のボタンすべて押すと振動なしでゲーム開始と同時に表示されます。

Raising block 2

OCBに 2を入力して(ゲーム起動時にブロックを上げ、トリガして)下げる。
OCB内の5つのボタンをすべて押して、下げてください。

Scorpion

旧OCB
-----
SCORPION用の標準的なOCBは、内部カットシーンと連動する必要があるため、あまり汎用的ではありません。
OCB = 1のTROOPを1/6の範囲に置くと、TROOPを見つけたらAIは無効になり、カスタムアニメーションで操作してSCORPIONとの戦いをシミュレートすることができます。
OCB 33(ララ攻撃のみ)
----------------------
OCB = 33についてはTRNG専用。
新しいOCBが追加され、SCORPIONがララだけを攻撃するようになりました。
デフォルトでは、SCORPIONが見つけたすべての敵を攻撃し、それを倒した後、ララを攻撃します。
SCORPIONのOCBに33を入力すると、他の敵を無視してララだけを攻撃します。

Sentry Gun

OCBに1と入力すると銃が動かなくなり、何も入力しないとララが「射程範囲内」にいる限りララに向かって発砲します。効果を高めるため同じスクエアにSMOKE_EMMITER_BLACKを配置します。(トリガは不要です)
SMOKE_EMMITER_BLACKを配置するのはOCBが1の場合です。銃が故障していることを表す演出として使用します。
トリガ不要とありますが、ヘルプが間違いです。トリガは必要です。

Seth Blade

トリガを遅らせるには、OCBに負の数を入力します。10の増分を加えると、10単位ごとに1秒遅れます。

Skeleton

備考:
- トリガフラグを下のとおりに設定すると、最初のアニメーションを変更できます。トリガフラグを設定しないと、スケルトンは通常どおり地面から出てきます。スケルトンを配置すると、床の高度から20クリック下に配置されます。
- スケルトンに見張りをさせるには、スケルトンの上に「AI_GUARD」オブジェクトを配置します。
1 =右に移動します。約1ブロックジャンプします。
2 =左に飛ぶ。上記のように
3 =死んだふり。トリガされる前も表示され(横たわって)、トリガされて始めて立ち上がります。

Smashable Bike Wall

アクティブにするにはOCBでボタン1から5を押します。

Sphinx(Like a bull)

1 =トリガされると同時に動き出します。

Steam Emitter

888 =蒸気を円錐の方向に横向きに逃がす。
注:死を引き起こす。

Switch type 7

スイッチタイプ7は、破壊できるスイッチです。(ララがそれを撃ったときに動作します)
OCBウィンドウでは、OCBのすべてのボタン1から5を押します。
1から5を押して設置するのは、「City Of The Dead」だけのようです。
SWITCH_TYPE7をトリガなしで左右に揺らすため使用されています。
すべてのSWITCH_TYPE7が左右に揺れるわけではありません。

Teeth Spikes

備考:ルーム内の縦方向の編集

0 =南を指す。
1 =南西を指す。
2 =西を指す。
3 =北西を指す。
4 =北を指す。
5 =北東を指す。
6 =東を指す。
7 =南東を指す。
8 =南を指す。
9 =南西を指す。
10 =西を指す。
11 =北西を指す。
12 =北を指す。
13 =北東を指す。
14 =東を指す。
15 =南東を指す。
16 + =上記に16の値を追加して、スパイクを常に突き出すようにすることもできます。(古いTRスパイクのように)
32 + =上記に32を加えると、スパイクが一度押し出され、その後はずっと引っ込んだままになります。

備考:MapperまたはClockWork Beetleと組み合わせてTeeth Spikesを使用する場合は、OCB 4(北を指す)を設定する必要があります。

Trapdoor 1

OCBのすべてのボタン1から5を押してドアを開いて閉じます。
注:トリガタイマーをドアが開いている時間(秒)に設定する。

Troop

1 =Animation27で開始し、他のOCBはAnimation12で始まる。

TwoBlock Platform

(16 x 上げたい高さのクリック数) + 移動速度(1から15)

例:4クリックの高さまでゆっくり上げるには

(16 x 4) + 1 = 65

トリガタイプを「DUMMY」に設定します。

Wall Scarab

2 =壁に設置できるようになる。
備考:スカラべによく使用され、Cleopatra's Palacesのピラミッドパズルに必要な4つの大きなスカラべの一部になることもあります。CROWBARを置くことをお忘れなく!

Waterfalls

それをアンチトリガするには668と入力します。(トリガ/アンチトリガさせるには、[Invisible]ボタンを設定する必要があります。)
その他の有効な値は「2」で、開始効果を遅くするために使用されます。それは黄色のレーザー光をシミュレートするために「The Tomb of Semerkhet」のレベルで使用されています。
開始効果を遅くするためではなく、サウンドを発生させないためだと思われます。ヘルプが間違い。
TR4で使用されたOCBは、777でした。

White Light

OCBは、グラデーション(赤、緑、青)が5ビットになっているコンパクトなフォーマットのカラーです。
最初の5ビット(低い値を持つ)は赤で、次にそれは緑になり、最後に高い値で青になります。

31 =完全な赤
992 =完全な緑
31744 =完全な青

上記の値の一部を追加する(または強度の低いものを使用する)と、他の色を得ることができます。
例えば:

31 + 992 =(赤+緑)= 1023 =黄

Wraith 2

2 =水と接触すると死にます。

付録

Animationコマンド - Animationコマンドについてのチュートリアル
BRIDGEの衝突 - BRIDGEの衝突についてのチュートリアル
TRNG下での衝突 - TRNG下での衝突についてのチュートリアル
Distance Fog - Distance Fogについてのチュートリアル
TRNG変数 - TRNG変数についてのチュートリアル
Scriptコマンド - すべてのScriptコマンドに関する説明(NG_Center1.5.0のリリースで更新されました。)
新スクリプトコマンド - 新スクリプトコマンドに関する説明
旧スクリプトコマンド - 旧スクリプトコマンドに関する説明
OCBリファレンス