The "Rustmill" effect refers to the effect created in the Rustmill map. In it, there was a "map board" that consisted of an overhead view of the level. It was divided into sectors that would light up when someone was in that sector. By shooting a sector on the map board, you would be teleported to that sector of the map.
This effect is divided into two different systems - the teleport system and the signal system.
The teleport system is pretty simple. When you shoot the button_target entity, it activates the first multi_manager. This multi_manager first activates a trigger_changetarget which changes the target of the trigger_teleport to the appropriate info_teleport_destination. Then, 0.1 seconds later it activates the second mutli_manager. This multi_manager first activates a multisource entity (which is the master of the trigger_teleport, therefore enabling the teleporter), then 0.1 seconds later it activates the multisource a second time, disabling the trigger_teleport.
In the example pictured above (taken from the tutorial example map), the player must be standing on the teleporter pad that sits in front of the map board, otherwise, he will not teleport anywhere.
The teleport system makes use of the following entities:
The signal system is also extremely simple. Each destination that you want to teleport to will reqiure its own trigger_changetarget, multi_manager (#1), and info_teleport_destination.
Each area that triggers a sensor will be covered by a trigger_multiple entity. Every second (its Delay before reset (wait) is set to 1) it triggers a multi_manager. The multi_manager immediately triggers the sensor (a func_wall_toggle) turning it on, then triggers it again 0.5 seconds later to turn it off. (Each sensor's func_wall_toggle has its first spawnflag checked so it "Starts Invisible".
In the example picture above, when the player is standing within the trigger_multiple #2 entity, the func_wall_toggle #2 sensor will flash. When this sensor is flashing, it means the player is ready to be teleported by shooting the map. If the player were instead standing in trigger_multiple #1, the func_wall_toggle #1 sensor would be flashing.
The signal system uses the following entities:
If you need a visual example of the above or just want to see it in effect quickly, download the example map provided below. It's a simple map allows the player to teleport to four different areas of the map. Below are a few notes.
- If you are using the Worldcraft format map file (teleshoot.rmf) then the map entities are divided up into a number of VisGroups to make things clearer. By default, the whole signal system is not visible in the editor, although if you compile the level, it will be present. To see the signal system, enable the signal system VisGroup.
- The misc. entities VisGroup contains the player start point, his suit and weapon, and a number of other non-essential (for this tutorial) entities such as lights and ladders.
- For each sector that you want the player to teleport to, you must include an info_teleport_destination, a multi_manager (#1 in the example pics), and a trigger_changetarget.
For a more concrete illustration, check out the example map linked below.