RED Events: Difference between revisions

From Red Faction Wiki
No edit summary
(Redirected page to RED Objects#Events)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The event/scripting system for Red is very powerful, yet easy to use. The basic philosophy behind it is that you LINK a TRIGGER to an EVENT(s). This system is very versatile and will let you create an almost unlimited number of special scripted sequences.
#REDIRECT:[[RED Objects#Events]]
 
An "Event" is a basic game action that occurs when it receives either an On and/or Off message. On messages can be sent from triggers, objects, or they can be received from other Events. Off messages are sent from the off state of events like the Switch Event, or are sent through an Invert Event. Most Events only respond to On messages (since most Events do a single thing which doesn’t need to be stopped with an Off message). Events must be linked to the trigger source so they know when to trigger. You link a trigger and event together by using the objects unique id number, or by just selecting the first object, then the second object, and hitting the "K" hot-key.
 
Events can also be linked to other Events to set up a "Chain reaction" of event all triggered from one source. For example, you might have a trigger which links to a Play_Sound Event (which plays a scream), and the Play_Sound Event could link to a Play_Animation Event (which plays an animation of an AI holding his head in agony).
 
All Events have an optional delay associated with them, which you can specify in the Event properties (CTRL-P or by right clicking over the selected event and selecting "Properties" from the pop-up menu). This will delay the action of the event by the specified amount of time, after an On or Off message is received.
 
Events can link to other objects, which is used to tell the Event which objects to affect. Each Event affects their linked objects in different ways, so refer to the Event list below for a detailed description of each event. The link HAS to go from the event to the object for it to work- even if the object is being used at the "trigger"!
 
==Available Events==
Continuous Damage
Description
Cause the AI or Player which triggered the event to receive damage (use a trigger reset time of 0 to make the damage continuous).
 
On Response
Apply damage to the entity who triggered the event. Any linked objects will also receive damage.
 
Off Response
None.
 
Parameters
Damage_per_second: Damage per second applied.
 
Damage_type: Generic, Brushing, Burning. Currently the only supported damage_type is Generic.
 
 
 
Cyclic Timer
Description
This Event will send an On message to all linked Events at a specified interval.  This Event has to receive an On Message before it will begin sending out messages.
 
On Response
Begin sending On messages at the specified interval.
 
Off Response
None.
 
Parameters
Time: The interval in seconds between sending On messages to all linked Events
 
Max Sends: The number of times the Event will send out On messages
 
Send Forever: If true, the Max Sends field is ignored, and the Cyclic Timer sends On messages forever
 
 
 
Drop Point Marker
Description
This is a special type of Event which doesn’t respond to On or Off messages.  This Event is used as a position where AI will drop off objects while in AI_COLLECTING_MODE.  This is how Grabber robots can drop their rocks off at a specific location.
 
On Response
None.
 
Off Response
None.
 
Parameters
None.
 
 
 
Explode
Description
This Event will cause an explosion to occur at the Event location.  The explosion can be made to cause a geomod, and you can control the amount of damage caused by the explosion.
 
On Response
Make the explosion happen.
 
Off Response
None.
 
Parameters
Damage: The amount of damage caused by the explosion.  This is the damage that is applied to any object within the explosion range.
 
Type: Small, Medium, Large.  This field isn’t properly supported yet.  We need to list a selection of different explosions to choose from.
 
Geomod: If true, the explosion will apply a geomod at the center of the explosion.  The hardness of the rock where the explosion occurs is used to determine if a geomod is possible.
 
 
Follow_Waypoints
Description
This event will force all linked objects to follow a specified waypoint list, with a specific following method.
 
On Response
Begin following the waypoints.  An AI will use the closest waypoint as the location to begin the path following.
 
Off Response
Stop following the current waypoint path.
 
Parameters
Waypoint List: Name of the waypoint list that the AI should follow.
 
Always Face Player: If true, the AI will always face the player while following their waypoints
 
Max Speed Scale (0-100): Used to make the AI move slower while following waypoints
 
Follow Method: This determines how the AI will behave when the last waypoint node is reached.  The choices are:
1. One way: follow the waypoints to the last node and stop.
2. Loop: follow the waypoints to the last node, then return to the start and repeat
3. Ping Pong: follow the waypoints to the last node, then follow the nodes back to the start (repeat).
 
 
 
Follow_Player
Description
This Event will force all linked objects to follow and protect the Player.  This should only be used to make Hendrix follow (or stop following) the Player.
 
On Response
Make linked entities follow the Player.
 
Off Response
Make linked entities stop following the Player.
 
Parameters
None.
 
 
 
Give_Item_To_Player
Description
This Event will make the player pick up a specific item.  Items are normally automatically picked up by the player when he gets close enough to them.  All game items are specified in items.tbl.
 
On Response
Give the player the specified item.
 
Off Response
None.
 
Parameters
Item: Item class name, which is selectable from a drop-down list of all items from items.tbl.
 
 
 
Goal_Check
Description
This Event can either block or forward On messages, depending on the state of an associated goal_set Event.
 
On Response
Foward On messages if min_count exceeds the current count value of the associated goal_set Event
 
Off Response
None.
 
Parameters
Goal Name: Script name for the associated Goal_Set Event
Minimum Count: The miniumum value that the associated Goal_Set Event must have before forwarding messages
 
 
 
Goal_Set
Description
This Event will increment a count variable every time it receives an On message (Off messages will cause the count value to decrement).
On Response
Increment count by one.
 
Off Response
Decrement count by one.
 
Parameters
Start Count: The inital value of the count variable (this will be zero in most cases).
 
 
 
Goto
Description
This Event will make all linked entities travel to the Event location.
 
On Response
Make linked entities start moving towards Event location.
 
Off Response
None.
 
Parameters
Always Face Player: If true, the AI will always face the player while following their waypoints
Max Speed Scale (0-100): Used to make the AI move slower while following waypoints
 
 
 
Goto_Player
Description
This Event will make all linked entities travel to the Player position.  The linked entities will continue to pathfind to the Player until they have line-of-sight.  When the entities can see the Player, they will return to their default AI.
 
On Response
Make linked entities start moving towards the Player.
 
Off Response
None.
 
Parameters
None.
 
 
 
Heal
Description
This Event will add life to all the linked objects.  This Event can be used to damage events by using a negative Life Delta value.
 
On Response
Add the Event Life Delta value to the life of all linked objects.
 
Off Response
None.
 
Parameters
Life Delta: How much life to add  (negative amount will cause damage)
 
 
 
Invert
Description
This Event will change On messages to Off messages (and Off to On) before forwarding them to any linked Events.
 
On Response
Change message to Off.
 
Off Response
Change message to On.
 
Parameters
None.
 
 
 
Level_Transition_Marker
Description
This is a special type of Event which doesn’t respond to On or Off messages.  This Event is used to maintain the correct positions and orientations off all objects in the transition areas between levels.  This Event needs to be placed in the location of the trigger which causes level loading in the other level involved in the transition.
 
On Response
None.
 
Off Response
None.
 
Parameters
None.
 
 
 
Load_Level
Description
This Event will cause the specified level to load.  The Player will be taken to the new level seamlessly.
 
On Response
Load the specified level.
 
Off Response
None.
 
Parameters
Filename: Disk filename (including the .d4l extension) of the level to load.
Start Marker id: The unique id of the Drop_Point_Marker associated with the level transition.
 
 
 
Look_At
Description
This Event will cause any linked AI to turn and face the Event location.
 
On Response
Make linked AI look at the Event.
 
Off Response
None.
 
Parameters
None.
 
 
 
Play_Sound
Description
This Event will cause a sound to play.  The sound can be a 3D or 2D sound, and it can be made to loop.
 
On Response
Start playing the sound.
 
Off Response
Stop the sound, if it is playing.
 
Parameters
Sound Filename: Disk filename of the sound to play (including .wav extension).
 
Min Distance: Distance (in meters) where the sound begins to drop off in volume.  If you don’t want the sound to be 3D, set the Min Distance to zero.
 
Looping: If true, the sound will play looping (until you stop it by sending an Off message to this Event).
 
 
 
Make_Fly
Description
This Event will make the linked AI enter fly mode.  If the AI is already flying, this Event does nothing.  This Event can only make AI fly if it normally has the ability (i.e., this Event can’t make a Cave Slug fly).
 
On Response
Make linked AI enter fly mode.
 
Off Response
None.
 
Parameters
None.
 
 
 
Make_Walk
Description
This Event will make the linked AI enter walk mode.  If the AI is already walking, this Event does nothing.  This Event can only make AI walk if it normally has the ability (i.e., this Event can’t make a Grabber walk).
 
On Response
Make linked AI enter walk mode.
 
Off Response
None.
 
Parameters
None.
 
 
 
Message
Description
This Event will make a sound file play and display the associated text on the Player HUD.
 
On Response
Play the message.
 
Off Response
None.
 
Parameters
Persona: Selectable from drop-down list of names which is generated from personas.tbl.  Select "none" if you don’t want the message to be from a persona.
 
Voice Filename: Disk filename (including .wav extension) of the sound file to play.
 
 
 
Play_Animation
Description
This event will cause a linked AI to play a specific animation.  If the animation is a state animation (i.e., a looping animation) then it will replace the current animation state for the AI.  If the animation is an action animation (i.e., a one-time animation) then it is blended with the current state.
 
On Response
Play the animation.
 
Off Response
None.
 
Parameters
Animation: Name of the animation.  This is selectable from a list of possible animations for the object that is linked.
 
Hold Last Frame: If true, the model will stay in the last frame of animation.  This is only valid if the animation is defined as an action animation.
 
 
 
Remove_Object
Description
This Event will destroy all objects linked to the event.  Objects will disappear instantly (i.e., without their death sequence).
 
On Response
Kill all linked objects immediately.
 
Off Response
None.
 
Parameters
None.
 
 
 
Set_Friendliness
Description
This Event will set the Friendliness of all linked objects.
 
On Response
Change the Friendliness of an entity.
 
Off Response
None.
 
Parameters
Friendliness: The friendliness is selectable from a drop-down list, and consists of the following choices:
 
1. Unfriendly: AI will attack the player on sight.
2. Neutral: AI will only attack the player if provoked.
3. Friendly: AI will not attack the player, and may attack entities that are attacking the player.
4. Outcast: AI will attack anything it sees.
 
 
 
Set_Light_State
Description
This Event will set the state of any linked lights.  Currently this event can set a light on or off, but any light related changes (like making a light flash, change color, etc.) can be data within this event.
 
On Response
Change the state of all linked lights.
 
Off Response
None.
 
Parameters
State: On or Off
 
 
 
Slay_Object
Description
This Event will kill all linked objects, and allow their death sequence to play.
 
On Response
Kill all linked objects.
 
Off Response
None.
 
Parameters
None.
 
 
 
Shake_Player
Description
This Event will shake the viewpoint of the Player.
 
On Response
Start shaking the Player camera.
 
Off Response
None.
 
Parameters
Magnitude: How strong to make the shaking.  This value is the max amplitude of the shake in meters.
 
Time: How long to shake the camera in seconds.
 
 
 
Shield
Description
This Event will add the Shield Delta value to the shield of all linked objects.
 
On Response
Add Shield Delta to all linked objects shields.
 
Off Response
None.
 
Parameters
Shield Delta: The amount of shield to add (you can decrease shield by using a negative number here).
 
 
 
Shoot_At
Description
This Event will cause all linked AI to shoot at the Event location.  The AI will continue to shoot at the Event until an Off message is received.
 
On Response
Make all linked AI attack the Event location.
 
Off Response
Make all linked AI stop attacking the Event location.
 
Parameters
None.
 
 
 
Shoot_Once
Description
This Event will make all linked AI shoot once in the direction they are currently facing.
 
On Response
Fire a single time.
 
Off Response
None.
 
Parameters
Shoot Type: Primary, Secondary, Flare.  What type of weapon to use.
 
 
 
Spawn_Object
Description
This Event will cause a specific object type to be created.  The object is created at the Event location, with an identity matrix orientation. [FIXME: we may want to give events an orientation]
 
On Response
Spawn the object at the Event location.
 
Off Response
None.
 
Parameters
Object Type: Entity, Clutter, Item.  Selectable from a drop-down list.
 
Object Class: The classname of the object.  Selectable from a drop-down list.  The choice here depends on the Object Type that has been selected.
 
 
 
Swap_Textures
Description
This Event will cause the specified textures (up to 2 per Event) to be used on all linked objects.
 
On Response
Swap the textures.
 
Off Response
None.
 
Parameters
Texture Num: Texture index to swap (starts from 0)
 
Texture Filename: Disk filename (including extension) of the texture bitmap to use
 
 
 
Switch
Description
This Event behaves like a switch that remembers it’s state (on or off).  This Event can be used to turn lights on or off, and can be used to let the player activate special events.  If the Event is linked to a VFX, this VFX is used as the model for the switch (the default state of the VFX should be off, with the animation taking the VFX to the on state).
 
On Response
Toggle the state of the switch.  The behavior of the switch is controlled through the Event parameters.
 
Off Response
None.
 
Parameters
Initial State: The initial state of the switch (either on or off)
 
Behavior: This says what kind of signal the switch will send. (toggle between on and off, always send an on, always send an off)
 
Sound: Disk filename (including the .wav extension) of the sound to play when the switch is thrown
 
Max Throws: How many times the switch can be thrown
 
Infinite Throws: If true, the Max Throws parameter is ignored, and the switch can be thrown an infinite number of times.
 
 
 
Switch_Model
Description
This Event will change the model of all linked objects to the model filename that is contained in the Event.
 
On Response
Change the model.
 
Off Response
None.
 
Parameters
Model filename: Disk filename (with extension) of the model to switch to.
 
 
 
Teleport
Description
This Event will teleport all linked objects to the Event location.  There are no special effects associated with the teleportation.
 
On Response
Teleport all linked objects.
 
Off Response
None.
 
Parameters
None.
 
 
 
When Dead
Description
This Event will send an On message to all linked Events when all linked objects have died.  This Event is used when you want to do something when a specific object has been destroyed.
 
On Response
None.
 
Off Response
None.
 
Parameters
None.
 
 
[[Category: Red Faction]]
[[Category: RF1 Editing]]

Latest revision as of 18:47, 30 October 2020

Redirect to: