• 🏆 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!

Elemental Vortex v1.2

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
It's a massive AoE DoT spell with mostly circling effects.

I used the elements:fire,lightning,water.
Only used GUI in making.

Enjoy!


I think i fixed the leaks and some other thing pls,if still wrong pls write down how shall i do it.
  • EV start
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Elemental Vortex
    • Actions
      • Set Water_face = 0.00
      • Set Light_face = 0.00
      • Set Fire_face = 0.00
      • Set Vortex_face = (Facing of (Casting unit))
      • Unit - Create 1 Vortex mid for (Owner of (Casting unit)) at (Position of (Casting unit)) facing Vortex_face degrees
      • Set Vortex_mid = (Last created unit)
      • Unit - Add a 8.00 second Generic expiration timer to Vortex_mid
      • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 400.00 towards 0.00 degrees) facing (Position of Vortex_mid)
      • Set Fire1 = (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to Fire1
      • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 400.00 towards 180.00 degrees) facing (Position of Vortex_mid)
      • Set Fire2 = (Last created unit)
      • Unit - Add a 1.00 second Generic expiration timer to Fire2
      • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 120.00 degrees) facing (Position of Vortex_mid)
      • Set Light1 = (Last created unit)
      • Unit - Add a 8.00 second Generic expiration timer to Light1
      • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 240.00 degrees) facing (Position of Vortex_mid)
      • Set Light2 = (Last created unit)
      • Unit - Add a 8.00 second Generic expiration timer to Light2
      • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 0.00 degrees) facing (Position of Vortex_mid)
      • Set Light3 = (Last created unit)
      • Unit - Add a 8.00 second Generic expiration timer to Light3
      • Trigger - Turn on EV water <gen>
      • Trigger - Turn on EV light <gen>
      • Trigger - Turn on EV move <gen>
      • Trigger - Turn on Fire <gen>
      • Set TempLoc = (Position of Vortex_mid)
      • Set TempLoc2 = (Position of Fire1)
      • Set TempLoc3 = (Position of Fire2)
      • Set TempLoc4 = (Position of Light1)
      • Set TempLoc5 = (Position of Light2)
      • Set TempLoc6 = (Position of Light3)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call RemoveLocation(udg_TempLoc2)
      • Custom script: call RemoveLocation(udg_TempLoc3)
      • Custom script: call RemoveLocation(udg_TempLoc4)
      • Custom script: call RemoveLocation(udg_TempLoc5)
      • Custom script: call RemoveLocation(udg_TempLoc6)
      • Wait 7.00 seconds
      • Trigger - Turn off Fire <gen>
      • Wait 1.00 seconds
      • Trigger - Turn off EV water <gen>
      • Trigger - Turn off EV light <gen>
      • Trigger - Turn off EV move <gen>
  • EV move
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set TempLoc = (Position of Vortex_mid)
      • Set TempLoc2 = (Position of Fire1)
      • Set TempLoc3 = (Position of Fire2)
      • Set TempLoc4 = (Position of Light1)
      • Set TempLoc5 = (Position of Light2)
      • Set TempLoc6 = (Position of Light3)
      • Set Fire_face = (Fire_face + 2.00)
      • Set Light_face = (Light_face + 4.00)
      • Unit - Move Vortex_mid instantly to ((Position of Vortex_mid) offset by 2.00 towards Vortex_face degrees), facing Default building facing degrees
      • Unit - Move Fire1 instantly to ((Position of Vortex_mid) offset by 300.00 towards Fire_face degrees)
      • Unit - Move Fire2 instantly to ((Position of Vortex_mid) offset by 300.00 towards (Fire_face + 180.00) degrees)
      • Unit - Move Light1 instantly to ((Position of Vortex_mid) offset by 200.00 towards Light_face degrees)
      • Unit - Move Light2 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 120.00) degrees)
      • Unit - Move Light3 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 240.00) degrees)
      • Custom script: call RemoveLocation(udg_TempLoc)
      • Custom script: call RemoveLocation(udg_TempLoc2)
      • Custom script: call RemoveLocation(udg_TempLoc3)
      • Custom script: call RemoveLocation(udg_TempLoc4)
      • Custom script: call RemoveLocation(udg_TempLoc5)
      • Custom script: call RemoveLocation(udg_TempLoc6)
  • EV light
    • EV light
      • Events
        • Time - Every 0.50 seconds of game time
      • Conditions
      • Actions
        • Unit - Create 1 Vortex Lightning for Player 1 (Red) at (Position of Vortex_mid) facing Default building facing degrees
        • Set Templight = (Last created unit)
        • Set Temppoint = (Position of Templight)
        • Unit - Order Templight to Orc Far Seer - Chain Lightning (Random unit from (Units within 1000.00 of (Position of Vortex_mid)))
        • Unit - Add a 0.50 second Generic expiration timer to Templight
        • Custom script: call RemoveLocation(udg_Temppoint)
  • EV water
    • EV water
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Set Water_face = (Water_face + 10.00)
      • Unit Group - Pick every unit in (Units within 400.00 of (Position of Vortex_mid) matching (((Picked unit) belongs to an enemy of (Owner of Vortex_mid)) Equal to True)) and do (Actions)
        • Loop - Actions
          • Unit - Cause Vortex_mid to damage (Picked unit), dealing 3.00 damage of attack type Spells and damage type Normal
      • Special Effect - Create a special effect at ((Position of Vortex_mid) offset by 400.00 towards Water_face degrees) using Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
      • Special Effect - Destroy (Last created special effect)
  • Fire
    • Fire
      • Events
        • Unit - A unit Dies
      • Conditions
        • (Unit-type of (Dying unit)) Equal to Vortex Fire
      • Actions
        • Special Effect - Create a special effect at (Position of (Dying unit)) using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
        • Unit - Cause Vortex_mid to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Dying unit)), dealing 200.00 damage of attack type Spells and damage type Fire
        • Special Effect - Destroy (Last created special effect)
        • Wait 0.50 seconds
        • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at (Position of (Dying unit)) facing (Position of Vortex_mid)
        • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
        • If ((Dying unit) Equal to Fire1) then do (Set Fire1 = (Last created unit)) else do (Set Fire2 = (Last created unit))
        • Set TempLoc2 = (Position of Fire1)
        • Set TempLoc3 = (Position of Fire2)
        • Custom script: call RemoveLocation(udg_TempLoc2)
        • Custom script: call RemoveLocation(udg_TempLoc3)

Keywords:
Vortex, Elemental, Lightning, AoE
Contents

Elemental Vortex (Map)

Reviews
12th Dec 2015 IcemanBo: For too long time as NeedsFix. Rejected. 8th Jul 2011 Maker: Leaks and not MUI. You need to improve it a lot. You can ask help in the triggers and scripts subforum. Bribe: This thing is still leaking quite heavily even...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For too long time as NeedsFix. Rejected.

8th Jul 2011
Maker: Leaks and not MUI. You need to improve it a lot. You can ask help in the triggers and scripts subforum.

Bribe: This thing is still leaking quite heavily even with the changes you made. It's also still not MUI.

(Position of (Dying unit)) - leaks
Unit - Move Vortex_mid instantly to ((Position of Vortex_mid) offset by 2.00 towards Vortex_face degrees) facing Default building facing degrees
^ leaks x2
Unit - Move Fire1 instantly to ((Position of Vortex_mid) offset by 300.00 towards Fire_face degrees)
Unit - Move Fire2 instantly to ((Position of Vortex_mid) offset by 300.00 towards (Fire_face + 180.00) degrees)
Unit - Move Light1 instantly to ((Position of Vortex_mid) offset by 200.00 towards Light_face degrees)
Unit - Move Light2 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 120.00) degrees)
Unit - Move Light3 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 240.00) degrees)
^ leaks lots

Set TempLoc2 = (Position of Fire1)
Set TempLoc3 = (Position of Fire2)
Set TempLoc4 = (Position of Light1)
Set TempLoc5 = (Position of Light2)
Set TempLoc6 = (Position of Light3) - there is no handling for these in case the spell is cast by more than one unit at a time.
 
Spell has waits. Map has 3000 doodads to load. Triggers leak all over the place. This is not approvable material.

Here are the triggers (Cause creator didn't include them)
  • EV start
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Elemental Vortex
    • Actions
      • Set Water_face = 0.00
      • Set Light_face = 0.00
      • Set Fire_face = 0.00
      • Set Vortex_face = (Facing of (Casting unit))
      • Unit - Create 1 Vortex mid for Player 1 (Red) at (Position of (Casting unit)) facing Vortex_face degrees
      • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
      • Set Vortex_mid = (Last created unit)
      • Unit - Create 1 Vortex Fire for Player 1 (Red) at ((Position of Vortex_mid) offset by 400.00 towards 0.00 degrees) facing (Position of Vortex_mid)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Set Fire1 = (Last created unit)
      • Unit - Create 1 Vortex Fire for Player 1 (Red) at ((Position of Vortex_mid) offset by 400.00 towards 180.00 degrees) facing (Position of Vortex_mid)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Set Fire2 = (Last created unit)
      • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 120.00 degrees) facing (Position of Vortex_mid)
      • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
      • Set Light1 = (Last created unit)
      • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 240.00 degrees) facing (Position of Vortex_mid)
      • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
      • Set Light2 = (Last created unit)
      • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 0.00 degrees) facing (Position of Vortex_mid)
      • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
      • Set Light3 = (Last created unit)
      • Trigger - Turn on EV water <gen>
      • Trigger - Turn on EV light <gen>
      • Trigger - Turn on EV move <gen>
      • Trigger - Turn on Fire <gen>
      • Wait 7.00 seconds
      • Trigger - Turn off Fire <gen>
      • Wait 1.00 seconds
      • Trigger - Turn off EV water <gen>
      • Trigger - Turn off EV light <gen>
      • Trigger - Turn off EV move <gen>
  • EV move
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Set Fire_face = (Fire_face + 2.00)
      • Set Light_face = (Light_face + 4.00)
      • Unit - Move Vortex_mid instantly to ((Position of Vortex_mid) offset by 2.00 towards Vortex_face degrees), facing Default building facing degrees
      • Unit - Move Fire1 instantly to ((Position of Vortex_mid) offset by 300.00 towards Fire_face degrees)
      • Unit - Move Fire2 instantly to ((Position of Vortex_mid) offset by 300.00 towards (Fire_face + 180.00) degrees)
      • Unit - Move Light1 instantly to ((Position of Vortex_mid) offset by 200.00 towards Light_face degrees)
      • Unit - Move Light2 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 120.00) degrees)
      • Unit - Move Light3 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 240.00) degrees)
  • EV light
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Unit - Create 1 Vortex Lightning for Player 1 (Red) at (Position of Vortex_mid) facing Default building facing degrees
      • Unit - Order (Last created unit) to Orc Far Seer - Chain Lightning (Random unit from (Units within 1000.00 of (Position of Vortex_mid)))
      • Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
  • EV water
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Set Water_face = (Water_face + 10.00)
      • Unit - Cause Vortex_mid to damage circular area after 0.00 seconds of radius 300.00 at (Position of Vortex_mid), dealing 0.30 damage of attack type Spells and damage type Normal
      • Special Effect - Create a special effect at ((Position of Vortex_mid) offset by 400.00 towards Water_face degrees) using Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
  • Fire
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Vortex Fire
    • Actions
      • Special Effect - Create a special effect at (Position of (Dying unit)) using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
      • Unit - Cause Vortex_mid to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Dying unit)), dealing 200.00 damage of attack type Spells and damage type Fire
      • Wait 0.50 seconds
      • Unit - Create 1 Vortex Fire for Player 1 (Red) at (Position of (Dying unit)) facing (Position of Vortex_mid)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • If ((Dying unit) Equal to Fire1) then do (Set Fire1 = (Last created unit)) else do (Set Fire2 = (Last created unit))
 
1- 0.01 is too low, Use 0.03
2- Don't use waits
3- (Position of xxxxxx) leaks
You need to set a location equal to (Position of xxxx)
Then, when you're done using it:
  • Custom script: call RemoveLocation(udg_YOUR_LOCATION)
4- Over here:
  • Unit - Create 1 Vortex mid for Player 1 (Red) at (Position of (Casting unit)) facing Vortex_face degrees
  • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
  • Set Vortex_mid = (Last created unit)
  • Unit - Create 1 Vortex Fire for Player 1 (Red) at ((Position of Vortex_mid) offset by 400.00 towards 0.00 degrees) facing (Position of Vortex_mid)
  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
  • Set Fire1 = (Last created unit)
  • Unit - Create 1 Vortex Fire for Player 1 (Red) at ((Position of Vortex_mid) offset by 400.00 towards 180.00 degrees) facing (Position of Vortex_mid)
  • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
  • Set Fire2 = (Last created unit)
  • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 120.00 degrees) facing (Position of Vortex_mid)
  • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
  • Set Light1 = (Last created unit)
  • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 240.00 degrees) facing (Position of Vortex_mid)
  • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
  • Set Light2 = (Last created unit)
  • Unit - Create 1 Vortex Lightning for Player 1 (Red) at ((Position of Vortex_mid) offset by 200.00 towards 0.00 degrees) facing (Position of Vortex_mid)
  • Unit - Add a 8.00 second Generic expiration timer to (Last created unit)
  • Set Light3 = (Last created unit)
Why don't you set the variable to the last created unit BEFORE you add the expiration timer. Then, instead of (Last Created Unit), you could use that variable.

5- You're leaking special effects. You need to destroy them immediately after you create them.

6- Your EV Move trigger is leaking 1200 locations per second.. That's a new record.
You need to create a location called TempLoc, set it to the position of Vortex_Mid, then
create another location called TempLoc2, and set it to TempLoc with the offset between each movement. Also, after you move the unit:
  • Custom script: call RemoveLocation(udg_TempLoc2)
Then, in the end:
  • Custom script: call RemoveLocation(udg_TempLoc)
There are much more issues... like the fact that you're creating dummy units for player 1 and the fact that if you cast this 90 times, anyone with 2GB of RAM would crash.
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
tell me pls what can i do instead of wait to take time.
And whats the problem with 0.01 its only at water and makes water look like a circleif i make it 0.03 it wont be a full circle.
And where does it leak ive taken in location leak remo+spec eff leak remove.

Use indexing or hashtables or both. http://www.hiveworkshop.com/forums/...5/?prev=search=dynamic%20indexing&d=list&r=20
The problem is that it makes laggy, if you want a full circle then just play with the values(like multiplying ing by 3).
There all....

Location leaks
  • Unit - Move Fire1 instantly to ((Position of Vortex_mid) offset by 300.00 towards Fire_face degrees)
  • Unit - Move Fire2 instantly to ((Position of Vortex_mid) offset by 300.00 towards (Fire_face + 180.00) degrees)
  • Unit - Move Light1 instantly to ((Position of Vortex_mid) offset by 200.00 towards Light_face degrees)
  • Unit - Move Light2 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 120.00) degrees)
  • Unit - Move Light3 instantly to ((Position of Vortex_mid) offset by 200.00 towards (Light_face + 240.00) degrees)
  • Unit - Create 1 Vortex mid for (Owner of (Casting unit)) at (Position of (Casting unit)) facing Vortex_face degrees
  • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 400.00 towards 0.00 degrees) facing (Position of Vortex_mid)
  • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 400.00 towards 180.00 degrees) facing (Position of Vortex_mid)
  • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 120.00 degrees) facing (Position of Vortex_mid)
  • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 240.00 degrees) facing (Position of Vortex_mid)
  • Unit - Create 1 Vortex Lightning for (Owner of Vortex_mid) at ((Position of Vortex_mid) offset by 200.00 towards 0.00 degrees) facing (Position of Vortex_mid)
  • Unit - Create 1 Vortex Lightning for Player 1 (Red) at (Position of Vortex_mid) facing Default building facing degrees
  • Special Effect - Create a special effect at ((Position of Vortex_mid) offset by 400.00 towards Water_face degrees) using Abilities\Spells\Other\CrushingWave\CrushingWaveDamage.mdl
  • Unit - Create 1 Vortex Fire for (Owner of Vortex_mid) at (Position of (Dying unit)) facing (Position of Vortex_mid)
  • Special Effect - Create a special effect at (Position of (Dying unit)) using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
  • Unit - Cause Vortex_mid to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Dying unit)), dealing 200.00 damage of attack type Spells and damage type Fire
  • Unit - Create 1 Vortex Lightning for Player 1 (Red) at (Position of Vortex_mid) facing Default building facing degrees
Group leak
  • Unit - Order (Last created unit) to Orc Far Seer - Chain Lightning (Random unit from (Units within 1000.00 of (Position of Vortex_mid)))
This damages everyone
  • Unit - Cause Vortex_mid to damage circular area after 0.00 seconds of radius 300.00 at (Position of Vortex_mid), dealing 0.30 damage of attack type Spells and damage type Normal
Owner of casting unit should be Triggering Player and casting unit should be Triggering unit
 
Top