• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

What happened?

Status
Not open for further replies.
Level 14
Joined
Jul 12, 2011
Messages
1,370
Hey every one!
I have made a "dummy spell'' using fan of knives.
Set cooldown at 80 s
And mana 170
All else are done by this 3 triggers.
  • Activate Ground Destruction
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ground Destruction
    • Actions
      • Trigger - Turn on Ground Destruction 1 <gen>
      • Trigger - Turn on Ground Destruction 2 <gen>
      • Wait 40.00 seconds
      • Trigger - Turn off Ground Destruction 1 <gen>
      • Trigger - Turn off Ground Destruction 2 <gen>
  • Ground Destruction 1
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set Point010 = (Position of (Casting unit))
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point010 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point010)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions
  • Ground Destruction 2
    • Events
      • Time - Every 0.93 seconds of game time
    • Conditions
    • Actions
      • Set Point011 = (Position of (Casting unit))
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point011 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point011)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions


Also there is this trigger.
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Trigger - Turn off Ground Destruction 1 <gen>
      • Trigger - Turn off Ground Destruction 2 <gen>

However those 2 triggers are not working.
Why???
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
Hey every one!
I have made a "dummy spell'' using fan of knives.
Set cooldown at 80 s
And mana 170
All else are done by this 3 triggers.

  • Activate Ground Destruction
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ground Destruction
    • Actions
      • Trigger - Turn on Ground Destruction 1 <gen>
      • Trigger - Turn on Ground Destruction 2 <gen>
      • Wait 40.00 seconds
      • Trigger - Turn off Ground Destruction 1 <gen>
      • Trigger - Turn off Ground Destruction 2 <gen>
  • Ground Destruction 1
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set Point010 = (Position of (Casting unit))
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point010 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point010)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions
  • Ground Destruction 2
    • Events
      • Time - Every 0.93 seconds of game time
    • Conditions
    • Actions
      • Set Point011 = (Position of (Casting unit))
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point011 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point011)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions


Also there is this trigger.
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Trigger - Turn off Ground Destruction 1 <gen>
      • Trigger - Turn off Ground Destruction 2 <gen>


However those 2 triggers are not working.
Why???

How about you store the casting unit into a variable and set that variable respectively in the first trigger then refer to that unit variable for the point variables you used.

Because the Casting Unit in the next two triggers aren't determined yet in those triggers.
 
Level 14
Joined
Jul 12, 2011
Messages
1,370
  • Activate Ground Destruction
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ground Destruction
    • Actions
      • Set TaurenGuyVar01 = (Casting unit)
      • Trigger - Turn on Ground Destruction 1 <gen>
      • Trigger - Turn on Ground Destruction 2 <gen>
      • Wait 40.00 seconds
      • Trigger - Turn off Ground Destruction 1 <gen>
      • Trigger - Turn off Ground Destruction 2 <gen>
  • Ground Destruction 1
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set Point010 = (Position of TaurenGuyVar01)
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point010 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point010)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions
  • Ground Destruction 2
    • Events
      • Time - Every 0.93 seconds of game time
    • Conditions
    • Actions
      • Set Point011 = (Position of TaurenGuyVar01)
      • Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit)) at (Random point in (Region centered at Point011 with size (550.00, 550.00))) facing (Random angle) degrees
      • Unit - Add a 4.00 second Generic expiration timer to (Triggering unit)
      • Custom script: call RemoveLocation (udg_Point011)
      • Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit)) with size (175.00, 175.00))) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True
            • Then - Actions
              • Unit - Cause (Casting unit) to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
            • Else - Actions
Didn;t worked :(
 
Level 25
Joined
Sep 26, 2009
Messages
2,381
Your triggers will still not work properly.

Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit))
((Picked unit) belongs to an enemy of (Owner of (Casting unit)))
Unit - Cause (Casting unit) to damage (Picked unit), dealing
You have no casting unit in Ground Destruction 1 and 2. You should change all (Casting unit) to TaurenGuyVar01


Also I believe this leaks
Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit))
I think it will be a lot safe to save it into variable... set Point1 = Position of (Last created unit)
and then you use the function Region centered at Point1
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
Your triggers will still not work properly.

Unit - Create 1 Earth Nova Dummy for (Owner of (Casting unit))
((Picked unit) belongs to an enemy of (Owner of (Casting unit)))
Unit - Cause (Casting unit) to damage (Picked unit), dealing
You have no casting unit in Ground Destruction 1 and 2. You should change all (Casting unit) to TaurenGuyVar01


Also I believe this leaks
Unit Group - Pick every unit in (Units in (Region centered at (Position of (Last created unit))
I think it will be a lot safe to save it into variable... set Point1 = Position of (Last created unit)
and then you use the function Region centered at Point1

Yeah that's pretty much what I told him. But he should fix the leaks though... nasty leaks.
 
  • Melee Initialization
  • Events
  • Map initialization
  • Conditions
  • Actions
  • Trigger - Turn off Ground Destruction 1 <gen>
  • Trigger - Turn off Ground Destruction 2 <gen>
Seriously,you don't need this. Just uncheck the box beside the Initially On word above the Trigger comment.

You have leaks. Also,your trigger won't work because it uses Casting Unit in the Loop Trigger(just like what Nichillus said) because that trigger is unable to retrieve that unit.Just use a unit variable then set it equal to casting unit.

Currently,the Spell is not MUI enough,which the spell may cause to bug up when so many units casts it.I suggest read the following:
http://www.hiveworkshop.com/forums/...9/complete-beginners-guide-hashtables-197381/
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/hashtables-mui-133407/
http://www.hiveworkshop.com/forums/...279/mui-spells-using-artificial-waits-223315/
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/mui-triggers-waits-218354/
http://www.hiveworkshop.com/forums/spells-569/gui-dynamic-indexing-template-144325/?prev=mmr=6
 
Status
Not open for further replies.
Top