The NGLE Manual
The Detector
By Bedazzled
Download Detector WADs
Download 712 Kb
The detector object is a new
piece of equipment which Lara can use to locate the position
of pickups & enemies in real time. It comes in two models,
both of which can be downloaded from the link above.
1 - The pointer detector which is found in the ng2 wad.
2 - The radar detector which is found in the ng wad.
Both detectors use the Quest_Item 1 slot, replacing the
Amulet of Horus which should be renamed to 'Detector' in the
English.txt file using the NG scripter.
For reference both models are shown in the picture below.

In order to use the Detector and enable its
various features a range of new script commands are used. I
will list each of these command parameters and their
functions in turn.
Command Syntax:
Detector= Flags (DTF_...), MetricScale, MetersOfRange,
Target Item array.
Scope: To use in [Level] section.
Flags (DTF_...) field
This field is used to set the various features of the
detector. Currently you can use the following flags.
DTF_ENGAGE_ALWAYS
Using this flag means the detector will always be on screen
until all the targets have been located.
DTF_ENGAGE_IN_RANGE
Using this flag means the detector will automatically be
shown on screen when a target is within the range set by the
Metres of range parameter. For example if the range is set
to 50 metres the detector will be shown when Lara is within
a distance of 50 metres or less from the target. When she
moves farther away the detector will be hidden.
DTF_ENGAGE_INVENTORY
Sets the detector like other equipment. She has to pick it
up and it must be selected from the inventory. To remove it
from the screen select it again in the inventory and choose
cancel.
DTF_REQUIRED_ITEM
This flag works in conjunction with the engage flags
described above to signal that the detector must be
contained in the inventory before it will be enabled.
For example using these flags.
DTF_ENGAGE_ALWAYS+DTF_REQUIRED_ITEM
Would mean the detector is constantly shown on screen only
after Lara picks it up. Until then it would not be shown.
NOTE: if you choose the DTF_ENGAGE_INVENTORY flag the
DTF_REQUIRED_ITEM flag is not required as the game engine
will insert it automatically.
Used with DTF_ ENGAGE_IN_RANGE the DTF_REQUIRED_ITEM flag
requires that two conditions have been met before the
detector is shown. These are.
1 - The detector must be in Lara’s inventory.
2 - A target must be within the specified range.
DTF_RADAR_MODE
By default the detector works in pointer mode. Use of this
flag will force the detector into radar mode. There are
large differences between them and some fields and flags
will only work for a specific mode.
DTF_NONE
Use this if you don’t want to set any specific flags in this
field.
The operating modes
Pointer mode
In this mode the detector resembles a compass and shows the
direction of the current target (this is the first target in
the target item array list which has not been found or in
the case of enemies killed).
Pointer mode only works on one target at a time. When the
first target is picked up or killed the pointer will point
to the second target in the list and so on.
DTF_SWINGING_POINTER
This flag only works in pointer mode. By default the pointer
will remain fixed pointing directly to the target. By the
use of this flag the pointer can be given a more realistic
swinging motion.
DTF_INVERSE_VPOINTER
This flag only works in pointer mode. By default the
floating line shown on the scale at the right side of the
detector shows the vertical position of Lara relative to the
target, while the fixed line at the centre of the scale
shows the position of the target. Using this flag will
reverse these, resulting in the floating line representing
the target and the fixed line representing Lara.
In pointer mode the pointer is always relative to the
direction Lara is facing. When the pointer is on the red
marker it means Lara is looking in the direction of the
target.
Radar mode
In radar mode the detector will scan all targets which are
within range at the same time.
Note: The range shown on the radar
screen is different from the range at which it will be
activated. The range shown on the scale is given by the
formula 6 * MetricScale, where 6 is the fixed number of
division lines on the radar screen. For example if you set 2
metres for the Metric Scale a target will only be shown if
it’s 12 metres or less from Lara. In Radar mode the target
is always shown to the north on the radar screen and Lara
will need to face North to determine if the target is to the
left or right of her.
DTF_FAST_RADAR_SCAN
This flag only works in radar mode and means the scanning of
targets will be faster. Remember the position and distances
to targets are only updated when the sweeping beam of the
radar touches them.
MetricScale field
The value entered in this field is used to assign the
distance in metres for each division on the vertical scale
of the detector in pointer mode, and the distance in metres
represented by each gridline in radar mode. If you enter
IGNORE in this field a default value of 2 will be used.
In game, one block represents a distance of 2 metres so
setting a value of 2 in the MetricScale field will result in
each division on the detector representing one block in
game.
For example if the radar screen showed a target 3 squares
from Lara’s position (the centre of the radar panel) the
target would be 3 tiles or 6 metres from her. In pointer
mode the Metric Scale works only on the vertical panel at
the right side of the detector.
It’s very important to set a suitable value for Metric Scale
when using radar mode because it determines the maximum
radius from Lara which will be scanned. You should use a
large value in order that targets are picked up from a long
range; on the other hand if using the detector in pointer
mode it’s better to use a low value such as 2.
MetersOfRange field
This field is used only if you have used the flag
DTF_ENGAGE_RANGE. The value entered in this field is the
distance in metres from Lara which targets must be within
before the detector is shown in game. When using the radar
mode detector a reasonable value would be the same as the
value set for the MetricScale.
Target Items array fields
In this field you enter one or more indices of items (only
movables allowed) which you have placed into the level. If
entering several each one should be separated by a comma.
It’s most important to enter the correct number found by
clicking on the object you want to target in the level
editor.

Do not use the numbers given in the Slot
Movables indices list found in the reference section of the
NG scripter shown below.

Example script
Detector= DTF_REQUIRED_ITEM + DTF_ENGAGE_IN_RANGE +
DTF_SWINGING_POINTER + DTF_INVERSE_VPOINTER, 2, 30,
365,372,373,375,377.
In the example above the value “2” is the MetricScale; the
value “30” is the MetersOfRange value and all other numbers
are the indices of the target items.
The list of array items works in different ways depending on
which detector mode is being used.
Pointer mode
The detector will show the position of only one item at a
time. In the example above it will first show the position
of the item with index 365 even if an item further along the
list is actually closer to Lara. Only after this item is
picked up or killed will the detector target the next item
with index number 372.
Because of this you should never use items which cannot be
picked up or killed, such as a door, as the detector would
never move from that target item.
Radar mode
In this mode all targets are simultaneously tracked but only
targets within the visibility range equal to (6*MetricScale)
will be shown on the radar screen. The radar screen shows
objects in various ways depending on their vertical
position, when the target is at the same floor height as
Lara or it’s shown as a small blinking circle. It’s also
shown as a circle if it is 2 blocks higher or lower than
Lara’s position.
If the target is higher than Lara it’s shown as a triangle
with it’s apex pointing north, if the object is below Lara
by 4 metres or more the triangle will point to the south.
The same shapes will appear in the vertical panel on the
right side of the detector.
Giving the Player Instructions
When the player picks up the detector it’s
possible to have instructions on its use appear and remain
on screen until Lara moves to a different tile. This is
achieved by the use of two new flipeffects and two further
entries in the script plus a txt file.
To make the required script entry, open your levels script
in the NG scripter and add this line of text to the level
section. This is needed to position the text on screen and
also to reduce the font to a more suitable size.
TextFormat= CL_METAL, FT_TOP_CENTER+FT_SIZE_HALF_HEIGHT,
IGNORE, IGNORE
Next select the Strings tab. From the Section dropdown box
select [ExtraNG]
Click the “Add new Extra String button” and in the text box
at the bottom of the window enter the following without the
quotes. “@info_pointer_detector.txt” then click the update
button. The result is shown below.

Now save and build your script.
Two new flip effects are required; the first prints the
instructions on the screen and is activated by a pickup
trigger for the detector in the normal way, remembering to
place 64 into the OCB code box of the detector. The
parameters for this flipeffect are shown below.

To remove the text from the screen set an
area surrounding Lara which triggers this flipeffect.
