Stopping a trigger, including running instances.

Demerzel2

New Member
Reaction score
0
I want to make a trigger stop TOTALLY, as in I want the running instances of the trigger to end as well:

I have this nested loop: Inner one summons one skeleton warrior and is executed thrice.

Outer loops summons one skeleton archer 99999 times with 4 seconds between each spawn.

So basically this summons four units every 4 seconds, but I want this trigger to stop completely if the summoning structure is destroyed.. The 'turn off' trigger won't end running instances.

GUI please, and thank you :).
 

DioD

New Member
Reaction score
57
for every loop exitwhen someglobal
trigger shoud have same flag at begining

if someglobal then
return
endif

if you set someglobal to false trigger will stop and wont execute anymore.

for jass - triggeraction removal do job.

also you may return directly from loops if your triggers dont need cleanup.
 

Jedi

New Member
Reaction score
63
Remove trigger action doesn't stop the current instances.

You can check every loop if some boolean is true or false, or use a periodic event to spawn skeletons and turn off the trigger when you want.
 

DioD

New Member
Reaction score
57
post map or and code i will add breakpoints.

note: removing trigger action cause major memory leak, this is not recommended way of stoping trigger.
 

Demerzel2

New Member
Reaction score
0
I didn't quite understand what you mean..

Here's the first trigger:

Trigger:
  • Boneyard 1
    • Events
      • Unit - A unit enters Boneyard 1 Trigger <gen>
    • Conditions
      • (Boneyard 0247 <gen> is alive) Equal to True
      • Or - Any (Conditions) are true
        • Conditions
          • (Unit-type of (Triggering unit)) Equal to Hunter
          • (Unit-type of (Triggering unit)) Equal to Kindred Spirit
          • (Unit-type of (Triggering unit)) Equal to Monk
          • (Unit-type of (Triggering unit)) Equal to Warlock
          • (Unit-type of (Triggering unit)) Equal to Shadowalker
    • Actions
      • For each (Integer B) from 1 to 999, do (Actions)
        • Loop - Actions
          • For each (Integer A) from 1 to 3, do (Actions)
            • Loop - Actions
              • Unit - Create 1 Skeleton Warrior for Player 11 (Dark Green) at (Random point in Boneyard 1 <gen>) facing Default building facing degrees
              • Unit - Order (Last created unit) to Attack-Move To (Random point in Boneyard 1 Trigger <gen>)
          • Unit - Create 1 Skeleton Archer for Player 11 (Dark Green) at (Random point in Boneyard 1 <gen>) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To (Random point in Boneyard 1 Trigger <gen>)
          • Wait 4.00 seconds


Can you please clarify your reply? I didn't quite follow.. Thanks.
 

DioD

New Member
Reaction score
57
Trigger:
  • if GraveYard is dead == true then
    • skip remaining actions
    • else
    • do nothing


before internal loop
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top