Nolf Docs - Objects

Lithtech 2.1 / 2.2

Post Reply
User avatar
Spawn
Admin
Admin
Posts: 1158
Joined: Sun Jul 25, 2004 12:50 am
Location: Norway
Contact:

Nolf Docs - Objects

Post by Spawn » Fri Dec 15, 2006 6:33 am

Objects

Below is a list and basic description of game objects used in the creation of No One Lives Forever. If you have a question about the meaning of any of the available properties of an object, you may access the online help built into DEdit by placing your cursor over the property in question until the cursor is replaced by a question mark. Left click to display a definition of that property.

AmmoBox

AmmoBoxes are placed in the world as a powerup. Each Ammobox can contain up to ten different kinds of ammunition.

Camera

Cameras show scenes in the world outside the player.

CinematicTrigger

This is a controller object used for cutscenes and in game dialog.

ClientLightFX

ClientLightFX can be used to create things like flashing lights, lightning, and switchable lights. Although many objects and weapons generate their own lights, it’s still useful to be able to individually place lights to create more customized effects. You can also design a ClientLightFX object so that it creates high-quality animating lightmaps or casts shadows on moving objects.

Controller

This object controls properties of up to 8 objects. Just setup its TargetX properties for the objects and send it one of these messages:

· FADE <parameter type> <destination value> <duration> [Wave type (default is SINE)]

Fades to the specified destination value over time.

· FLICKER <interval min> <interval max> <message to send> [count, default -1 which means forever]

Sends a trigger message to the objects in a random time between the specified interval.

· OFF

Stops whatever happening.

· Supported parameter types:

· Alpha - value 0-1

· Color - values 0-255, must be specified in quotes like "1 2 3". If you specify an X for the value, that value won't be changed.

· Wave types supported:

· LINEAR

· SINE

· SLOWOFF (linear until halfway, then sin for other half)

· SLOWON (sin for halfway, then linear for other half)

· Sample messages:

· To send a message between every 5 and 10 seconds forever:

FLICKER 5 10 "Some message to send"

· To send a message every 3 seconds, 10 times:

FLICKER 3 3 "Some message to send" 10

· To fade alpha to 0 over 5 seconds using a sine wave:

FADE ALPHA 0 5 SINE

· To fade color to "0 128 256" over 7 seconds using a slow on wave:

FADE COLOR "0 128 256" 7 SLOWON

· To fade red and blue to 111 over 9 seconds using a linear wave:

FADE COLOR "111 X 111" 9 LINEAR

DemoSkyWorldModel

DemoSkyWorldModels allow objects to render in the skybox in a single step. A DemoSkyWorldModel is an object that fuses a WorldModel and a SkyPointer. By doing this, binding a brush to the one object allows it to be rendered in the skybox without the need for any additional objects.

DirLight

DirLights act like a spotlight, shining only within an arc that you specify instead of in a sphere like a regular light. You can aim them to any angle you choose.

DisplayMeter

This is an incremental colored bar meter displayed on the screen. It is useful for “boss” fights.

DisplayTimer

This object displays a timer on the screen in game.

Door

Doors are objects you bind to a brush to create a moveable worldmodel.

Breakable

This is a subclass of the Door object The Breakable object can be used for both collapsing floors (default behavior) and falling objects. Since it is a subclass of the Door object, it shares many of its properties.

HingedDoor

This is a subclass of the Door object The HingedDoor object is used to emulate the functionality of a door that swings on hinges. Since it is a subclass of the Door object, it shares many of its properties.

Switch

This is a subclass of the Door object The Switch object is used to create an easily identifiable “switch” object that the player can interact with to control things within the game environment. Since it is a subclass of the Door object, it shares many of its properties.

EventCounter

This object will store up to 5 different "events", with each event containing an integer value and two commands.
The idea is that the game code can increment/decrement the EventCounter's value (by sending ”Increment” or “Inc” and ”Decrement” or “Dec” messages).
When the counter’s value is equal to one (or more) of the EventXValue
(i.e., Event1Value, Event2Value, etc.),
either the EventXIncToValCmd or EventXDecToValCmd will be processes.

In other words, how the counter gets to the EventXValue determines which command is sent.
For example:

if Event1Value = 2,
and the EventCounter’s staring value is 0,
if the EventCounter gets 2 “Inc” messages,
the Event1IncToValCmd will be processed.

If at this point the “Inc” message is sent again (so the counter is now at 3), and then the “Dec” message is sent to the counter, the Event1DecToValCmd will be processed.

This object also understands the “Lock” and “Unlock” commands (Inc/Dec don’t have any effect on the counter if it is locked).

Explosion

This is an object used to place explosion effects in the world.

Mine

This object is a subclass of the Explosion object. It is used to emulate land mines. Since it is a subclass of the Explosion object, it shares many of its properties.

FastApproxArea

A FastApproxArea marks an area of the level (bounded by hull makers or portals) to use the Fast Approximation method in the preprocessor. This can be useful to make preprocessing go faster in outdoor areas where visibility can’t be optimized very well anyways. This is an object that was not used in the creation of NOLF and is not supported.

Fire

This is an object used to create fire effects.

GameStartPoint

This is the point that the player enters the game world.

GearItem

This is an object used to place gear power up items in the world.

Group

This is an object used when you wish to send the same message to several different objects at once. It acts as a simple relay.

InsideDef

This object is used to define an area as the inside portion of a shell. The GameStartPoint normally does this. But, sometimes you will want to build other separate areas that are cut off from the main map, but that are still a part of the level. To keep these from being removed when the level is processed, you will need to add an InsideDef object to define the area as part of the inside shell.

Key

This is an object used to define a point in the path of a keyframed object.

KeyFramer

This is an object used to define a point in the path of a keyframed object.

KeyFramerLight

This is a special light object used for animated lighting.

Light

This is a basic point light, or omni light object used to light the world.

Lightning

This object is used to create lightning and electrical effects in the game.

ModItem

This is an object used to place gear power up items in the world.

ObjectLight

This is a light that only affects models.

ObjectRemover

ObjectRemover contains several "groups" of objects. For each group, you may list up to 6 objects. Specify how many groups of objects you wish to keep in the "GroupsToKeep" property.

On the first update, the ObjectRemover will randomly select the groups of objects it will keep (based on how many were specified to keep), and remove all the objects in all the other groups, and then remove itself.

OutsideDef

This object is placed to define the outside leaf of the world.

ParticleSystem

Any time you want to spawn a large number of similar simple objects in one location or area, you probably want a ParticleSystem object. Particle systems create a cloud of objects, usually sprites or simple models. They can make the sprites move, determine the area where they appear and how long they remain after being created.

PolyGrid

A polygrid is a grid of triangles that can have an animating surface. They’re used to simulate flags, curtains, water, force fields and many other effects.

Prop

The Prop object is used to place .abc models into the game world. Props are typically things that would be too complex or impractical to be created from world geometry. Examples would be plants, telephones, detailed furnishings, etc.

DoorKnob

This object is a subclass of the Prop object. It is used to add detailed interactive doorknobs to doors in the game. Since it is a subclass of the Prop object, it shares many of its properties.

Intelligence

This object is a subclass of the Prop object. It is used to add bits of information that the player can discover during the course of gameplay. These are typically in the form of letters, rolls of film, briefcases, etc. Since it is a subclass of the Prop object, it shares many of its properties.

KeyPad

This object is a subclass of the Prop object. This object is used to place KeyPads in the world that the player can unlock with the Code Decipherer gadget. Since it is a subclass of the Prop object, it shares many of its properties.

Lock

This object is a subclass of the Prop object. This object is used to place Locks in the world that the player can circumvent using the lock pick, welder, or by shooting, depending on how it is set up. Since it is a subclass of the Prop object, it shares many of its properties.

PlayerVehicle

This object is a subclass of the Prop object. This object is used to place PlayerVehicles in the world that the player can interact with. Since it is a subclass of the Prop object, it shares many of its properties.

PropType

This object is a subclass of the Prop object. This is a different way of managing prop placement in levels. We found that a lot of the props that we placed were set up the same as each other. Yet we still had to set all of the flags. The PropType object places props by way of a simple dropdown menu. The dropdown menu refers to a bute file where the all of the prop flags have been predefined. Since it is a subclass of the Prop object, it shares many of its properties.

SearchLight

This object is a subclass of the Prop object. In default mode works like a security camera (i.e., scans back and forth and it's yaw and fov can be adjusted). However, you can alternatively give it a Target object to follow (e.g., you can set up a keyframer and have the searchlight follow the keyframed object). Also there is a SpecialFXStuff property group that allows you to change the special fx (i.e., beam radius/alpha, dynamic light color/radius, and lensflare fx). Since it is a subclass of the Prop object, it shares many of its properties.

SecurityCamera

This object is a subclass of the Prop object. This object is used to place security cameras in the world. Since it is a subclass of the Prop object, it shares many of its properties.

ZipHook

This object is a subclass of the Prop object. This object is used to place “handles” in the world that the player can attach to using the belt buckle zip hook gadget.

RandomSpawner

The RandomSpawner is used to spawn objects randomly through multiple Spawner objects.

RaySelecter

This object was not used in NOLF and is not supported.

RotatingWorldModel

These are objects that spin on any given axis. The most common example of a RotatingWorldModel would be a spinning fan.

ScaleSprite

ScaleSprites are free-standing textures that don’t need a surface to appear on. ScaleSprites get compounded into a lot of other game objects, but they can be used on their own to make a lot of things happen too. ScaleSprites are used for all kinds of things — halos around lights, floating symbols, decals on walls and objects in the sky

ScreenShake

The ScreenShake object shakes the camera when triggered.

SkyPointer

SkyPointer objects allow the objects that they target to render in the skybox of the level. Only WorldModel-derived objects and Sprites can appear in the skybox.

SoundFX

This object allows you to place sounds in the world.

Spawner

This is a generic object used to “Spawn” objects into the game world.

Speaker

This object is used in conversational dialogues in a cinematic trigger. If a character needs to have a conversation with a non-AI object such as an intercom, this is the object that will fill the position of that AI in the conversation.

Sprinkles

This object sprinkles particles around the player. The particles move around in a random direction and fade out, as they get farther away from the player. The Sprinkles object supports 8 sets of particles or models, each with its own texture, size, speed, and spawn radius.

StaticSunLight

The StaticSunLight object supplies levels that have a skybox with light from a sunlike source. The light radiates into the level through all skyportal brushes as if from an infinitely far point. This sunlight’s direction is determined by the rotation of the StaticSunLight object. Its position doesn’t matter, since the emitted light acts as if it comes from an infinite distance. The StaticSunlight’s position is ignored.

Steam

The Steam object is a form of the ParticleSystem object that has been set up to more easily create particle effects resembling jets of steam. The effect created by this object travels down the forward facing vector of the object.

TeleportPoint

This object is used to define the position and rotation of a point in space that the player or an AI can be moved to instantly.

Terrain

Terrains are a special case object similar to a WorldModel that are able to contain a group of brushes. Although they get the full benefits of game physics, they never block visibility or cast shadows and they cannot move or be transparent, but they have the special property that they can contain one-sided brushes. This allows them to take meshes from external 3D packages and use them as valid world objects. You can model very irregular objects in an outside package and still have it operate in the world like world geometry instead of model geometry using a terrain object. It is important for performance reasons to only use a single terrain object to hold all terrain geometry in your level. It won’t affect their physics even if pieces are in totally separate parts of the level.


TranslucentWorldModel


By binding world geometry to a TranslucentWorldModels it becomes a world model and inherits properties unavailable to normal world geometry. The three main reasons for binding geometry to a TranslucentWorldModel are translucency and chromakeying, to be able to keyframe an object, and to simplify the physics of particularly complex geometry for performance reasons.

Trigger

Triggers can be used like tripwires. When the player or an A.I. character passes through one, it sends a message to any other objects you want, telling them to do whatever they do. If a keyframer is the target, the keyframer will start moving the objects attached to it. If the target is a door, the door will open or close. Triggers can trigger any object, even other triggers.

ExitTrigger

This object is a subclass of the Trigger object. This object is used to trigger the end of a level. Since it is a subclass of the Prop object, it shares many of its properties.

LaserTrigger

This object is a subclass of the Trigger object. This object is used to create laser trip wires that are invisible without the use of the infrared sunglasses gadget in NOLF. Since it is a subclass of the Prop object, it shares many of its properties.

VolumeBrush

Volume brushes are used for a number of effects — Water, damaging environments, rainy areas, and AI movement. A VolumeBrush object is designed to bind to a brush and use the brush to determine its area of effect. If the effect is continuous, such as rain or snow, it only occurs within the space defined by the brush. If the effect happens to players and Ais, it only happens to them when they’re within the volume. The effects of the volume are triggered when the player enters the space and usually un-triggered when they leave.

WeaponItem

This is an object used to place Weapon power up items in the world.

WorldProperties

This object is placed in every level to define many of the global properties of the level.


WorldSection


This object was not used in the creation of NOLF and is not supported.

Zone

This object was not used in the creation of NOLF and is not supported.
Image

Post Reply
jedwabna poszewka 50x60