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.
AiGroups
AIGroups allow AIs to share their senses, means all AIs in a group can react on an event that happens to one of them.
There's not much more to say to this. Just put in the names of the member AIs in the Member fields. This activates the GroupReactions tabs of the AIs belonging to this AIGroup.
AiNode
AINodes AINodes are objects that provide information to AI about opportunities at particular locations. AI must be able to find a path to an AINode, so all AINodes must be inside of AIVolumes.
AiRegion
AIRegion is a object used to define behavior in a collection of AIVolumes for instance. you may want to add them to a certain AI region to control AI behavior.
AiVolume
AIVolumes AIVolumes denote open space to an AI, and must be placed everywhere an AI may travel in your level. AIVolumes are also invisible to the player. These are brushes bound to a AIVolume object.
AmmoBox
AmmoBoxes are placed in the world as a powerup. Each Ammobox can contain up to ten different kinds of ammunition.
CAI
These object are characters from the game, every one of them has a Good, bad and neutral version.
This image is the CAI_Baron
Camera
Cameras show scenes in the world outside the player.
CinematicTrigger
This is a controller object used for cutscenes and in game dialog. Where Nolf2 has several objects to handle dialogue. Nolf1 uses this.
Dialogue 1: | The ID number of the wav file to be played. |
WhoPlayesDialogue1: | A unique CAI name. |
StartDialogueTriggerMsg: | Message to be sent to a object or similar (e.g camera) |
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:
Code: Select all
FLICKER 5 10 "Some message to send"
Code: Select all
FLICKER 3 3 "Some message to send" 10
Code: Select all
FADE ALPHA 0 5 SINE
Code: Select all
FADE COLOR "0 128 256" 7 SLOWON
Code: Select all
FADE COLOR "111 X 111" 9 LINEAR
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.
Can consist of 5 phases and send various commands for each phase
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.
There are several versions here:
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. There are 3 types singleplayer, deathmatch and harm vs unity. Make sure that you choose the correct one for your level.
GearItem
This is an object used to place gear power up items in the world. Gear can also be team in Harm vs Unity maps specific.
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. This object is a bad idea to use in multiplayer due to lag.
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. Set its 'EndPos' to strike a certain point. The lightning will then start from where the object is located and end at 'EndPos' which is based on coordinates.
The easiest way to figure out these coordinates is to temporary place a object where you want to 'EndPos' and check its 'Pos' property.
ModItem
This is an object used to place gear power up items in the world. This could be objects like Scope, silencer ..
NodeLine
One of those objects that makes no sense. Not sure what it does.
ObjectiveSprite
I think the purpose of this object is team messages. Never verified if it works though.
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.
edit: To stop a soundfx right away send it the message kill, to restart it send the message trigger
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.
ColdAir | Very cold air, you take 1% damage every second when staying inside this volume |
CorrosiveFluid | Acts more like water, you can set damage properties in this one |
Electricity | Yep, this volume electrocutes you, you can set damage properties in this one |
EndlessFall | Endless fall damage and sound, fixed damage amount |
Filter | Sound filters mainly. to determin if it is a cave, outside, etc |
FreezingWater | Water, but it will damage you. You can set damage properties in this one |
Ice | I see no big difference from ColAir on this one |
Ladder | The actual ladder, you construct somthing that looks climbable and suround it with this volume |
PoisonGas | A volume that damages your and shows pidgeons and goats on the screen. Adjustable damage |
SafetyNet | You can reduce or completely remove damage from fall with this one |
Water | Normal water |
Weather | You can make it snow or rain with this one. |
Wind | This volume can transport you or make it harder/easier to move |
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.