Tags
Tags are responsible for telling the game about the triggers present on the map. Each trigger needs to be referred to by at least one tag to be considered "existant" by the game, even if the tag isn't attached to anything and thus never used itself. Linked triggers use its parent trigger's Tag. Tags can be simply placed in this section, and objects pre-placed on the map as well as teams can refer to the tags for additional functionality - if they do, those specific tags and their respective triggers will be notified when the objects referring to them are somehow interacted with (detected, attacked, damaged, destroyed, etc.).
A single trigger can be referred to by multiple tags. For example, a trigger attached to another can have its own tag in addition to its parent trigger's tag. A trigger may also have tags with different persistence states.
Section
Tiberian Dawn
Section does not exist.
Red Alert, Counterstrike, Aftermath
Section does not exist.
Tiberian Sun, Firestorm, Red Alert 2, Yuri's Revenge
The [Tags] section in a map takes this format:
ID=PERSISTENCE,NAME,TRIGGER_ID
String | Meaning | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | The tag's ID. This is used to attach this tag to other objects on the map. | ||||||||||||
PERSISTENCE | This flag controls if and when the tag should be removed after being triggered. Once a tag has been removed, it cannot be triggered again.
Map editors refer these as: 0 - OR one time, 1 - AND one time and 2 - OR repeating. Example: a trigger will spring when attached buildings are destroyed:
| ||||||||||||
NAME | A plain text string used as a name of this tag. Not used ingame, only in the map editor. Should not contain commas. | ||||||||||||
TRIGGER_ID | Reference to the trigger related to this tag. Again, each trigger needs to be refered to by at least one tag or it will not work. FinalSun and FinalAlert 2 create tags for you automatically when creating triggers in the Trigger Editor. |
Important Note
The hexadecimal prefix of a tag's ID (e.g. 02A2DA40) is used in pointer remapping during saving and loading. It should not be lower than 0x01000000 to avoid conflicts with real pointers. In addition, it should not be shared by any TaskForce (local or global), else they will remap to the same pointer.