|
- AIKey
Used in
AI scripting to define a path for an AI to
follow. The only property you will use is Name,
which should consist of a base name (e.g. fred)
plus a number. The first AI key in a series
should use 0 and increment from there (e.g.
fred0, fred1, fred2). If you have more than nine
AI keys in a series, use a double digit number
(e.g. fred00, fred01, fred02, etc.).
For best results, place AIKeys 64 units above the
floor.
Tip: If you group the AIKeys in
a given series, you can right-click on the parent
node (in the node view tab) and select Set Path,
which will draw a yellow line from one AIKey to
the next, making your paths more obvious.
- BaseClass
The
BaseClass object is the base for every Shogo
object. Level designers should never need
to create a BaseClass object directly. However,
the properties contained in the BaseClass object
are almost always used in other Shogo objects.
- BaseAI
The parent class of all AI objects. Level
designers should never need to create a
BaseAI object directly. However, the properties
contained in the BaseAI object are frequently
used to control specific AI functionality.
Messages
All AI objects react to the following messages:
Message |
Action |
Script |
See Scripting section under AI |
Destroy |
Kills the AI normally |
Remove |
Removes the AI without leaving
behind a body |
- Brush
Brushes are the basic building blocks of a level.
Consult the DEdit documentation and the
Strategies section of this document for greater
detail.
Brushes are also used to create all WorldModels,
such as doors, volume brushes, etc.
- Camera
Cameras are used for in-game cinematics and Tomb
Raider-style hint camera effects.
Messages
This object reacts to the following messages:
Message |
Action |
On |
Activate |
Off |
Deactivate |
- ClientLightFX
The ClientLightFX object is a dynamic light class
which creates a light special effect on the
client.
Messages
The ClientLightFX object reacts to the following
messages:
Message |
Action |
Toggle |
Toggles the ClientLightFX from the
On to Off or from Off to On, depending on
its current state. |
On |
Sets the ClientLightFX object to
the On (visible) state. |
Off |
Sets the ClientLightFX object to
the Off (not visible) state. |
- DemoSkyWorldModel
A DemoSkyWorldModel is the same as a WorldModel,
but it has all the properties of a SkyPointer.
See the SkyPointer class for a description.
- DestructableDoor
A door or lift object that can also be destroyed.
Use this class for most destructible world
geometry (simply dont give it movement
information).
Note: As mentioned previously, all WorldModels
require a discrete name.
- DialogTrigger
A special type of trigger that sends a message
based on a choice made by the player. When the
DialogTrigger is activated, it will present up to
three text strings (using predesignated IDs). The
player may cycle through these strings and select
one using the Enter key. When a string is
selected, its corresponding trigger message is
sent.
Messages
This object reacts to the following messages:
Message |
Action |
Trigger |
Activate |
- DirLight
Creates a cone of light along the forward vector
(use the blue pointer as a guide).
Note: Most of the time, you will
probably rely on DirLights with a Pitch of 90
(i.e. pointing straight down).
- Door
A type of WorldModel used to create simple doors
and lifts. There are various subclasses,
including rotating doors, destructible doors, and
so on. See those specific categories for details
on properties unique to each.
Note: As mentioned previously,
all WorldModels require a discrete name.
Messages
This object reacts to the following messages:
Message |
Action |
Trigger |
Activate |
TriggerClose |
Closes a door in its open (or
opening) state |
- 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
cant be optimized very well anyways.
- Flicker1WaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- Flicker2WaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- Flicker3WaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- Flicker4WaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- GameStartPoint
Specifies the point at which a player enters a
level. The objects rotation will determine
the players starting orientation.
Note: Place this object at least
48 units (i.e., at least the value of the
models y dims) above the floor or the
player may fall out of the world.
- GlobalDirLight
A light value that is applied to all brushes with
FlatShade and DirectionLight flags set (see the
appropriate flag descriptions in the Property
listing for more information). Place the
GlobalDirLight far away from the center of the
world on every axis for best results.
Areas lit using GlobalDirLights will generally
need object lights or else objects will show up
black. See ObjectLight for more information.
- Key
Path markers used by the KeyFramer. A keyframed
object will follow a series of keys.
Important: key Names should consist of a base
name (e.g. fred) plus a number. The first key in
a series should use 0 and increment from there
(e.g. fred0, fred1, fred2).
Tip: If you group the Keys in a
given series, you can right-click on the parent
node (in the node view tab) and select Set Path,
which will draw a yellow line from one Key to the
next, making your paths more obvious.
- KeyFramer
Allows you to set up objects to move along
complicated paths or in complicated ways. Most of
the dropships and in-game cinematics in Shogo
rely on keyframers for object movement and camera
movement.
Here are some objects you can keyframe:
WorldModels such as doors, etc.; clientlightfx
objects; triggersound objects; camera objects;
and props.
It is also possible to use multiple keyframers on
a single object for incredibly complicated
events. This is comparatively advanced stuff, so
I probably wont cover it in this draft.
Messages
This object reacts to the following messages:
Message |
Action |
On |
Activate |
Off |
Deactivate |
- Light
The primary method of lighting a level. A Light
creates a sphere of illumination that radiates
from the objects center, fading gradually
to the edge of its radius.
- Model
Models are engine objects. While you can place a
model, it is generally advisable to use Props
instead.
Message |
Action |
Trigger |
Activate |
- ObjectLight
Lights objects only. Object lights are generally
necessary in areas lit by GlobalDirLights, as
GlobalDirLights dont illuminate objects.
See GlobalDirLight for more information.
- OutsideDef
Defines the outside of a level for the processor.
Starting at the GameStartPoint, the processor
will attempt to find its way to the OutsideDef
object. If it cant, the level is sealed.
Usage
Place the object in an area you are confident is
not within the interior of the level and select
Process World in the World pulldown menu.
Add "leakfile [filename.lek]" in
the Extra Parameters field under Advanced in the
processor options. To save time, uncheck all
processor options except for Import Geometry and
process the level.
In the processor summary, just above
"Creating WorldModels", youll
see:
Creating leak file [filename].lek
If your world is sealed correctly or you
havent placed an OutsideDef object,
youll see this message immediately
afterward:
** Couldn't find an outside leaf.
** (Or the world is sealed correctly).
- ParticleSystem
Used to create a pre-defined type of particle
effect in a level.
Messages
This object reacts to the following messages:
Message |
Action |
On |
Activate |
Off |
Deactivate |
Remove |
Remove the object (good to use if
you know you will never turn it back on) |
- PickupItem
The base class for all items the player may pick
up in the game. In general, only the subclasses
will be used.
- PolyGrid
Creates a polygrid according to the parameters
you specify. Polygrids may be used for flags or
other effects.
- Prop
The preferred method for placing models in an
environment. Props are generally used for
decoration (destructible or otherwise) in game
levels.
Messages
This object reacts to the following
messages:
Message |
Action |
Destroy |
Destroys object normally |
Fire |
Fires weapon effect along forward
vector (see ExplosionStuff below) |
- RampDownWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- RampUpWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- RaySelector
RaySelecters are used in rare cases to help debug
levels. Sometimes if you have a bad brush in the
level, the preprocessor will make a large polygon
and its hard to figure out which brush is
causing it. If you place a RaySelecter pointing
in the direction of the bad polygon and run the
preprocessor with RaySelect in the Advanced
Parameters box, it will select the first brush
the RaySelecter points at.
- RotatingWorldModel
RotatingWorldModels are generally used for gears,
fans, turbines, and other objects that spin
around a central axis. For rotating doors, use
the RotatingDoor subclass of doors. For more
elaborate rotating objects, use the keyframer.
Messages
This object reacts to the following messages:
Message |
Action |
On |
Activate |
Off |
Deactivate |
- SawWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- ScaleSprite
The preferred method for placing sprites in the
world.
Messages
This object reacts to the following messages:
Message |
Action |
Damage |
Switches to "damaged"
frame |
Destroy |
Switches to "destroyed"
frame |
- SearchWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- SineWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- SkyPointer
A SkyPointer object is an object that points at
another object and tells the engine to only draw
that object through sky portals (brushes with the
SkyPortal flag set to true). You should always
build objects that will be in the sky a little
ways outside of the level so they dont
interfere with anything inside the level. The
simplest example of a sky would be a hollow cube
WorldModel with textures on the 6 inside faces
for a sky box. (This could be done by creating a
DemoSkyWorldModel or a WorldModel/SkyPointer
combination).
The only types of objects that can be in the sky
are Sprites and WorldModels.
The SkyObjectName tells which objects you want to
place in the sky.
All the objects in the sky (DemoSkyWorldModels or
objects pointed to by SkyPointers) are drawn in
the order specified by their Index property. If
two objects in the sky have the same Index, only
one of them will be rendered. So if you had a sky
box, and wanted something to be drawn in front
it, you would give the sky box world model an
Index of 0 and the object in front an Index of 1.
The SkyDims and InnerPercent properties define a
box in the sky that maps to a box enclosing the
world. As the viewer moves through the level,
their view into the sky box moves around the box
you define with SkyDims and InnerPercent so you
get a little bit of parallaxing in the sky. Only
one SkyPointer/DemoSkyWorldModel should have its
SkyDims set. If multiple ones have their
SkyDims set, the engine will pick one of them as
the official values.
- Sound
An engine object that creates a sound in a level.
Use TriggerSound instead.
- Spawner
Used for spawning enemies and pickup items. The
Spawners position and rotation will
determine where the spawned object appears in the
level.
Messages
This object reacts to the following messages:
Message |
Action |
Default |
Spawns default item specified in
Spawner object |
[spawn command string] |
Spawns an item of the specified
classname (e.g. FirstAid_25; CMC_Trooper; etc.) |
Spawn Command
String format
"<ClassName> <PropertyName>
<PropertyValue>; <PropertyName <Property
Value>;
"
The spawn command
string is made up of tokens. Each token is separated
from other tokens by a space. The first token is the
class name. This is followed by 0 or more property
definitions. The properties must be appropriate for
the object type being spawned. Each property
definition is separated by a semi-colon. Each
property definition is given by a property name and
the property value. All the tokens after the property
name and before the next semi-colon are considered
the property value. Each property value can be up to
100 characters long.
- Sprite
An engine object used for placing a sprite in a
level. Use ScaleSprite instead.
- SquareWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- StartPoint
The start point base class. Use GameStartPoint
instead.
- StrobeWaveLightFX
A convenience class exactly the same as the
ClientLightFX object, but with both
IntensityWaveform and RadiusWaveform set to the
appropriate default values.
- TransmissionTrigger
Prints an image and text string at the top left
corner of the screen. A TransmissionTrigger will
also play a sound file if it finds a filename
corresponding to the string ID. The sound file
must be placed in the \voice subdirectory if you
are building a Shogo level.
Messages
This object reacts to the following messages:
Message |
Action |
Trigger |
Activate |
- Trigger
The Trigger object is used to
"trigger" (sends messages to) objects
to do specific actions. A Trigger object
is activated by one of two methods:
A player (or AI) object touches the Triggers
bounding box, or
The Trigger receives a "TRIGGER"
message from another object.
The Trigger object uses the Name
and Pos properties defined in BaseClass.
Messages
This object reacts to the following messages:
Message |
Action |
Trigger |
Activate the Trigger (this
is the same as if the player touched the Triggers
bounding box). If the Trigger is locked,
nothing will happen. |
Lock |
Lock the Trigger. The Trigger
can only be activated after it has received an
UNLOCK message, or if the Player/AI has the
UnlockKey (NOTE: this message was not designed to
be used with the UnlockKey system of locking Triggers). |
Unlock |
Unlock the Trigger. The Trigger
can now be activated. |
- TriggerSound
Used for ambient sound effects as well as
one-time sound events.
Messages
This object reacts to the following messages:
Message |
Action |
Start |
Plays start sound followed by the
looping sound |
Stop |
Play stop sound, followed by
silence |
- VolumeBrush
The parent object of all volume (or container)
brush objects. The volume brush is used to turn a
Brush into a specific volume type (e.g., water,
wind, kato, etc.).
Messages
This object reacts to the following messages:
Message |
Action |
On |
Activate |
Off |
Deactivate |
- WorldProperties
The WorldProperties object is used to set
global variables for the current world. Every
level should have one WorldProperties
object. Only string properties are recognized.
|
|