This technique is used to sync AAA sequences between users. For example say you made an AAA sequence that causes a machine to activate every 60 seconds. Under normal circumstances, that 60 second illeration would be based on when the user loaded the area, and be out of sync with everyone else.
AAA sequence syncing is a tad clunky and not 100% reliable, but short of using a bot, there's one technique that comes pretty close.
The idea here is to use the bump trigger, global flag, move, and rotate commands in tandom, and maybe a few others depending on circumstances. Here's a step by step guide of what's done:
- Build a large ground object, such as flat1a_l.rwx. This is known as the bumper.
- Place this object deep underground, like -900 meters down.
- Place a move command on it so that it'll hit the surface every 60 seconds, but only briefly:
create move 0 900 time=30 loop sync
The object will spend 30 seconds travelling to the surface (900 meters up, since we placed it -900 down initially), and 30 down, giving us a 60 second cycle. The reason we make the object travel such a long distance is so that it's moving quicker and doesn't spend too much time on the surface. The more time it spends on the surface, the longer the disruption window. That is, if someone enters the area while the object is around the users, it'll disrupt the sequence for everyone else.
- You may have better bump reliability if you apply a rotate command on the bumper (as if it were a waterwheel).
- Add the actual bump trigger to the bumper, with the global flag.
bump astart <name> global
It's still possible people won't actually get bumped, because if your browser is minimized, bump triggers don't always work. With global enabled though, it only needs to bump one person for everyone to sync up.
- Add a command to the bumper so that it moves out of the way if hits someone. This way it's not going to trigger more than once if multiple people are in the way.
bump move 0 -999 time=0 wait=9e9
- Somewhere in the AAA sequence itself, you'll need to re-apply that move command to the bumper because it's move was disrupted by the previous step. Ideally at the halfway point (30 seconds into the AAA sequence), reapply the move command to the bumper.
move 0 900 time=30 loop sync name=bumper
- On the AAA seqence itself, add a sequence that starts on the 61st second (for your 60 second sequence example).
This is a backup sequence. If nobody got hit by the bumper the backup will manually restart the sequence. The first object in your AAA sequence should startup the backup sequence.
- Make your bumper object astop just the backup sequence if it hits someone, so it doesn't disrupt the next cycle
bump astop backup
- To cover more ground with your bumper, apply a scale command to it.
create scale 5