Relays are a default event that allow users to trigger events automatically.
Firing a Relay
To fire a relay, use this event:
[0] OnActivate => Self => FireRelay
This will fire a relay. By itself, this event is totally useless.
OnRelay
To make a brick change color using relays, use these events:
[33] OnActivate => Self => FireRelay [0] OnRelay => Self => SetColor [Red]
In this event string, the relay only serves to make changing colors needlessly complicated.
By now you will have noticed that delays are automatically added to any event that fires a relay. This is to prevent abuse.
Relay Loops
This is the part that makes relays important. Look at this string of events.
[33] OnActivate => Self => FireRelay [2000] OnRelay => Self => FireRelay [1000] OnRelay => Self => SetColor [Red] [0] OnRelay => Self => SetColor [Blue]
As you can see, this would make an endless loop with a relay firing every two seconds, which would make the brick flash red and blue.