This page follows on from:
Mover keyframes set the places the mover will go to in space. There are now two remaining questions:
- what will make the mover start moving? This is its activation method
- how far along its keyframe sequence will it move & when will it come back? This is set by the InitialState.
Ways to activate a mover
The mover is activated by being triggered. This can be by:
- a Trigger (or Dispatcher, RoundRobin, etc)
- another type of event, such as something the game itself generates
- the mover itself, with BumpEvent: a player bumps the mover, which fires the BumpEvent, which matches the mover's Events → Tag. See "bumping" below.
Use one of the Trigger states.
The mover is activated by an actor touching it. BumpType determined which actors count as valid.
- Use one of the Bump states
- Set the mover's BumpEvent property to match its Tag, so it triggers itself when bumped, and use a Trigger state
The mover is activated by an actor standing on it. This is often used for lifts.
anyone know how the engine differentiates between "bump" and "stand"?
Each state listed in the mover's Object → InitialState property sets a different type of behaviour for the mover. (hence they are sometimes referred to as move types.... or are they? I might have dreamt this one... Tarquin
The full list is covered in detail on the Mover class page. Which one you use depends on what the mover is meant to represent in the map and what you want it to do:
Use StandOpenTimed: the mover will open, wait, close if a player or a bot (UT) stands on it.
TriggerOpenTimed and TriggerControl are both often used for doors. Both will start opening when triggered, but there is a differnce in what happens next:
- TriggerOpenTimed will open, wait, close automatically
- TriggerControl will open, and stay open as long as the player is still standing in the Trigger. The moment the player steps out, it will reverse direction and close, even if it was only partially open.
TriggerControl is used in DM-StalwartXL for the slow-opening redeemer door, and for all the doors CTF-Cybrosis. It's a very nice effect, as doors shut as soon as the player has gone through, and also will never close on a player. (though we need to check exactly how the engine handles multiple players in a trigger area; who untriggers it?)
Use BumpOpenTimed: the mover will open, wait, close if it's touched. BumpButton adds extra detail to the movement: see the mover page.
The next step after setting up your mover and its keyframes is adding in a Trigger to make it work. Note that you do not have to have a trigger to make the mover work; you only need one if you are going to use an InitialState that starts with "Trigger*". For the purposes of a mover, you can use any type of Trigger you want, it doesn't matter. To get the mover to activate set the Events → Event property of you trigger to the Events → Tag property of your mover.
Note that you don't actually have to have a subclass of Trigger to trigger a mover. A mover can even be triggered by another mover, as long as the other mover's Event is set to the triggered mover's Tag. In the case of certain mods (like Jailbreak), you may also have the mover be triggered by events that are fired off by the game itself. Really, any Event that matches the mover's Tag will cause it to activate.