I have a damage detection system in my map that uses the real variable event to communicate what happens to other triggers. Its a beautifully convenient way, especially when working with GUI stuff (which most of my triggers that use this system are).
Now, i've noticed that some of the triggers don't work sometimes. Problem seems to have been that some of those triggers that react to damage do damage themselves, triggering the DDS. And apparently, the variable event doesnt like it. Here is a little test:
Now, i expected them to fire off recursively (like most triggers and their events do), executing the triggers 21 and 22 after var has been set to 2, and within them, executing trigger 31 when at var = 3, to then return and finish executing Trigger 11 and 12. Thats what i expected anyway. Here is what really happened:
i can't even really tell whats happening here. It's just randomly executing trigger 20.
With that behavior, the event doesnt work. If i can't be sure that every trigger that registered the event actually gets it, the event is not doing what it's supposed to do. How do other systems deal with that? Is there a different solution to do these events that can be used from GUI?
Now, i've noticed that some of the triggers don't work sometimes. Problem seems to have been that some of those triggers that react to damage do damage themselves, triggering the DDS. And apparently, the variable event doesnt like it. Here is a little test:
-
Trigger starter
-
Events
-
Player - Player 1 (Red) types a chat message containing test as Exact Match
-
-
Conditions
-
Actions
-
Set var = 1.00
-
-
-
Trigger 11
-
Events
-
Game - var becomes Equal to 1.00
-
-
Conditions
-
Actions
-
Game - Display to (All players) the text: 1-1 start
-
Set var = 2.00
-
Game - Display to (All players) the text: 1-1 end
-
-
-
Trigger 12
-
Events
-
Game - var becomes Equal to 1.00
-
-
Conditions
-
Actions
-
Game - Display to (All players) the text: 1-2 start
-
Game - Display to (All players) the text: 1-2 end
-
-
-
Trigger 21
-
Events
-
Game - var becomes Equal to 2.00
-
-
Conditions
-
Actions
-
Game - Display to (All players) the text: 2-1 start
-
Game - Display to (All players) the text: 2-1 end
-
-
-
Trigger 22
-
Events
-
Game - var becomes Equal to 2.00
-
-
Conditions
-
Actions
-
Game - Display to (All players) the text: 2-2 start
-
Set var = 3.00
-
Game - Display to (All players) the text: 2-2 end
-
-
-
Trigger 31
-
Events
-
Game - var becomes Equal to 3.00
-
-
Conditions
-
Actions
-
Game - Display to (All players) the text: 3-1 start
-
Game - Display to (All players) the text: 3-1 end
-
-
Code:
1-1 start
2-1 start
2-1 end
2-2 start
3-1 start
3-1 end
2-2 end
3-1 start <--- wtf
3-1 end <--- wtf
1-1 end
<-- skipped 1-2
3-1 start <--- wtf
3-1 end <--- wtf
i can't even really tell whats happening here. It's just randomly executing trigger 20.
With that behavior, the event doesnt work. If i can't be sure that every trigger that registered the event actually gets it, the event is not doing what it's supposed to do. How do other systems deal with that? Is there a different solution to do these events that can be used from GUI?
Last edited: