Trigger apparently looping...

TomTTT

New Member
Reaction score
44
Hello :)
I've used the Warcraft 3 editor for a while, and then go to get SC2, mainly quick matches. I am trying to develop some ZvZ "train" map. After a while I forgot some about the editor, and this one is completely not like WC3 one. So, I'm in kind of trouble here, and I did try a lot of stuff. So... That's what I got so far, and my problem is, that everytime you "win" by the triggers, it says you lost and repeats the "lose" trigger 3 times or so.
(btw I know it leaks, but it was just a test so I didn't feel like fixin it. Plus I'm not sure how-to in Galaxy Editor)


Code:
Training A Start
    Events
        Timer - Elapsed time is 3.0 Real Time seconds
    Local Variables
    Conditions
    Actions
        Camera - Apply CameraA for player 1 over 1.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Include Target
        Unit - Create 15 Zergling for player 1 at (Random point in Region 001) facing 270.0 degrees (No Options)
        Variable - Set ZerglingsA = (Last created units)
        Unit Selection - Select (Last created units) for player 1
        Unit Selection - Add (Last created units) to control group 1 for player 1
        Unit - Create 6 Baneling for player 2 at (Random point in Region 002) facing 270.0 degrees (No Options)
        Variable - Set BanelingsA = (Last created units)
        General - Wait 2.0 Game Time seconds
        Unit - Order all units in BanelingsA to ( Attack targeting (Center of Region 001)) (Replace Existing Orders)
        Ping - Ping the minimap at (Center of Region 002) for (All players) over 2.0 seconds, using the color (100%, 0%, 0%)
        Objective - Create a Active Primary objective with text "Baneling Trailing: Use only 1 or 2 ..." and description "Baneling Trailing: Use only 1 or 2 ..."
        Variable - Set ObjectiveA = (Last created objective)

Code:
Training A Fail
    Events
        Unit - Any Unit dies
    Local Variables
    Conditions
        (Number of Living units in ZerglingsA) == 0
    Actions
        Transmission - Send transmission to (All players) from (Hatchery [20.50, 41.50] with Flash (Do Not override portrait) playing Talk) playing No Sound Link with name "Hive" and message "Resetting training course... Tip: M..." using (Cinematic portrait at Center Left) playing Talk (Set To 5.0 seconds, Don't Wait until it finishes)
        General - Wait 5.0 Real Time seconds
        Camera - Apply CameraA for player 1 over 1.0 seconds with Existing Velocity% initial velocity, 10% deceleration, and Include Target
        Unit - Create 15 Zergling for player 1 at (Random point in Region 001) facing 270.0 degrees (No Options)
        Variable - Set ZerglingsA = (Last created units)
        Unit Selection - Select (Last created units) for player 1
        Unit Selection - Add (Last created units) to control group 1 for player 1
        Unit - Create 6 Baneling for player 2 at (Random point in Region 002) facing 270.0 degrees (No Options)
        Variable - Set BanelingsA = (Last created units)
        General - Wait 2.0 Game Time seconds
        Unit - Order all units in (Last created units) to ( Attack targeting (Center of Region 001)) (Replace Existing Orders)
        Ping - Ping the minimap at (Center of Region 002) for (All players) over 2.0 seconds, using the color (100%, 0%, 0%)

Code:
Training A Success
    Events
        Unit - Any Unit dies
    Local Variables
    Conditions
        (Number of Living units in BanelingsA) == 0
        (Number of Living units in ZerglingsA) >= 1
    Actions
        Objective - Mark ObjectiveA as Completed
        Transmission - Send transmission to (All players) from (Hatchery [20.50, 41.50] with Flash (Do Not override portrait) playing Talk) playing No Sound Link with name "Hive" and message "Well Done..." using (Cinematic portrait at Center Left) playing Talk (Set To 3.0 seconds, Don't Wait until it finishes)
        Variable - Set ZerglingsA = No Unit Group
        Variable - Set BanelingsA = No Unit Group

Sorry it's so long, didn't have any other way to do it. :p
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
I would like some clarifications. First of all, I assume "win" means that the trigger "Training A Success" is run and that "lose" means that "Training A Fail" is run?

Are you testing the game with the trigger debugging window?(You can enable this in File>Preference>Test document>Show Trigger Debugging Window)

Try testing it out with the debugging window. You should be able to tell which triggers run and when they run. Here are some questions: Does "Training A Success" actually run? How many times does "Training A Fail" run? Does it run the same amount of times each time you test? Is this all the code in those three triggers or are you omitting parts of them?

What could be happening is that you somehow make a unit get killed after you've won which will trigger the fail since you emptied the unit group(which means it contains 0 zerglings which in turn means that the condition for the fail trigger is true).

Also from what I recall, there's no real leaks to worry about. Emptying those unit groups in "Training A Success" is probably unnecessary if you're not doing it for another reason.
 

Dave312

Censored for your safe viewing
Reaction score
269
You should add the action Turn Trigger Off (and set trigger to This Trigger) to the start of the Traing A Fail trigger. You will also need to turn the trigger back on at the end when it restarts. Apart from that, I can't really see why it wouldn't be working properly, but like Siretu said, you should try running the debug menu to try and get some more information about what is really happening.
 

TomTTT

New Member
Reaction score
44
K, thanks guys! :)
I'll try out what you both said, still not used to the editor...
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top