|
Music
There isn't a music object. Dynamic music is changed
using Trigger objects. To change the level of the music,
send a message to the object that represents the client
(PlayerObj). Here is a list messages that perform the
operations:
Operation |
Message |
Description |
Intensity level |
music level
<n> |
Switches the
music level to n. Where n is 0 (silence), 1
(ambient), 2 (cruising) or 3 (harddriving). |
The intensity is separated into 4 different levels:
silence, ambient, cruising and harddriving. Silence plays
no music at all. The other levels have a playlist of
sections that are looped while in that level. Switching
from one level to the other will play a single transition
section. The transitions sections are hardcoded into the
game. The playlists are specified in the WorldProperties
object.
Quick cinematic tutorial
Start with a trigger. Have it trigger tracking1
On and camera1 On.
tracking1 is a KeyFramer that points to camera1
as the ObjectName and use cama as the
base key name.
Create a camera called camera1 at the
same exact spot. Give it whatever active time you want.
-1 means it stays on permanently.
Create a key named cama0 at the same
spot.
Select all three objects by going into Object mode,
holding down B, and dragging a box around them.
Change their rotation to point where you want.
Create another key called cama1 and
place it where you want the camera to move. The TimeStamp determines how long it takes the camera
to get to that point.
AI Scripting
In a trigger, the TargetName should be the name of the AI you want to
script. The MessageName will be the script itself, which
has to start with "Script" and end with a
semi-colon.
Script parameters affect how the script is executed. Here
are the flags:
- 0 No modifier. AI
will follow script until finished or killed
- 1 Looping. AI
repeats script until interrupted or killed.
- 2 Interruptable. AI
will stop if damaged or killed.
- 4 Don't use
- 8 Opportunity fire.
AI will attack any valid target while performing
the script.
So if you wanted to
script a guy to loop and be interruptable, you'd start
the script with "Script 3;"
Script commands include:
- Target
[name]
AI targets the specified character. If the target
is of an enemy alignment, the AI will attack.
- SetMovement
[RUN or WALK]
When moving, AI will either run or walk,
depending on this command. Walking is the
default.
- FollowPath
[pathname]
AI will follow the specified path to the best of
its ability.
- ChangeWeapon
[weapon ID]
AI switches weapons.
- SetAnimationState
Loop
When this command precedes a PlayAnimation
command, the AI will loop the animation until
interrupted.
- PlayAnimation
[animation name]
AI plays specified animation.
- Wait [time]
AI waits the specified amount of time.
- SetState
[AGGRESSIVE/DEFENSIVE/IDLE/PANICKED/PSYCHO/RETREATING]
AI changes to the specified state. This command
effectively interrupts script.
So here's an example of
a script:
Script 10;SetMovement RUN;FollowPath ab;Target
Sanjuro;Wait 2;FollowPath ac;SetState PANICKED;
The AI would run along path ab (using AIKeys named ab0,
ab1, etc.), target and attack the player for about 2
seconds, then start following path ac, at which point it
would panic.
|
|