The MovingPlatform entity is used to turn an animated world model into a platform capable of carrying the player and other actors. These platforms can be activated (i.e. started moving) by player collision, triggers, shooting or some combination of these. The activation of a platform can also trigger the activation of other platforms.
The fields for the MovingPlatform entity are:
Field | Description |
---|---|
AnimationSpeed | Speed of platform model animation, with 1.0 = 100% of defined speed |
bAllowInside | If True then don't check entire bounding box, allowing player to go inside |
bAudioLoops | If True then sound file loops until moving is done, if False play only once |
bAutoStart | If True start model animation at level load regardless of trigger state |
bLooping | If True model animation never stops after first activation |
bNoCollide | If True then platform does not need collision to activate but is controlled by the trigger only |
bOneShot | If True platform only activates once, if False platform can be activated multiple times |
bReverse | If True then animation reverses at end |
bRunFromList | Animation runs to next time in provided list each time triggered |
bRunTimed | Animation runs specified time increment each time trigger goes from off to on |
bRunToNextEvent | Animation runs until the next event time is reached each time triggered |
bRunWhileTrig | If True animation only runs while trigger is on |
bShoot | If True the platform is activated only by shooting, not by player collision |
Model | Model to animate when platform is activated |
NextToTrigger | Model of next platform to trigger when this platform is activated |
ParentModel | Name of parent model |
PlayerOnly | If True then only the player can activate by collision |
Rideable | |
szEntityName | Entity name of platform |
szSoundFile | Name of sound file to play when platform is activated |
TimeEachTrig | Time animation will run each trigger, only valid if bRunTimed is true |
TimeList | List of times to run animation to each time triggered in the form (1.0 3.5 ...) only valid if bRunFromList is true |
TriggerName | Name of triggering entity |
UseKey | if True then platform can be activated by the Use key |
When chaining platforms together using the NextToTrigger entry, the model pointed to by this entry must be a model used by another MovingPlatform entity. Otherwise the entry will be ignored. If that MovingPlatform entity has a NextToTrigger entry it too will be activated, and so on.
If there is an entity name in the TriggerName entry then the state of that entity is checked to see if the platform should be activated. See the Trigger entity for more details about triggered platforms.
The bShoot flag is used to switch the collision activation from the player actor to a Projectile actor. This allows platforms to be activated only by shooting them.
The bAutoStart flag is used to make a platform that will run immediately upon level load. This allows platforms to already be running when the player first sees them. In conjunction with the bLooping flag you can make a platform that starts immediately and runs continuously.
If bRunToNextEvent is true then the platform will animate to the next Event time as set by the SetEvent button in the Model tab in the Level editor. The Event String can contain commands to play a sound or cause a trigger. If the Event String contains "S sound.wav" then sound.wav will be played at that Event time. If the Event String contains "T trigger1" then the Trigger entity named trigger1 will be activated the same as if it had been collided with.
Here are some examples of platforms in varying different configurations.
|
|
|
Example #1 is your ordinary platform. It activates upon player collision, cycles through its animation and then stops. It can be activated multiple times.
Example #2 is an auto start, continuously running platform. It plays a looping sound when activated at level load and while running.
Example #3 is a platform that is solely controlled by a trigger and does not require a collision to activate. It also plays a looping sound while it is running. It can be activated multiple times.