• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] Can some one help me clean the leaks if i post the spells?

Status
Not open for further replies.
Level 19
Joined
Feb 15, 2008
Messages
2,184
I have 8 spells need to clean leaks if i post 1 of them at a time. Could some one explain to me what to do to clean all the leaks for mui?

1.

  • Quick Blades
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (Ninja) Quick Blades
    • Actions
      • Set UnitVarCaster9 = (Triggering unit)
      • Set UnitVarTarget7 = (Target unit of ability being cast)
      • Wait 0.01 game-time seconds
      • Unit - Make UnitVarCaster9 Invulnerable
      • Unit - Pause UnitVarCaster9
      • Animation - Change UnitVarCaster9's animation speed to 200.00% of its original speed
      • Special Effect - Create a special effect attached to the hand, right of UnitVarCaster9 using Abilities\Spells\NightElf\SpiritOfVengeance\SpiritOfVengeanceBirthMissile.mdl
      • Set SpecialEffect2[6] = (Last created special effect)
      • Special Effect - Create a special effect attached to the hand, left of UnitVarCaster9 using Abilities\Spells\NightElf\SpiritOfVengeance\SpiritOfVengeanceBirthMissile.mdl
      • Set SpecialEffect2[7] = (Last created special effect)
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • Wait 0.15 seconds
          • Animation - Play UnitVarCaster9's attack animation
          • Set TempLoc41 = (Position of UnitVarTarget7)
          • Set TempLoc42 = (Random point in (Region centered at TempLoc41 with size (80.00, 80.00)))
          • Unit - Make UnitVarCaster9 face UnitVarTarget7 over 0.00 seconds
          • Unit - Move UnitVarCaster9 instantly to TempLoc42, facing TempLoc41
          • Unit - Cause UnitVarCaster9 to damage UnitVarTarget7, dealing (30.00 x (Real((Level of (Ninja) Quick Blades for UnitVarCaster9)))) damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of UnitVarCaster9 using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Special Effect - Create a special effect attached to the chest of UnitVarTarget7 using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Special Effect - Destroy (Last created special effect)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of UnitVarTarget7) Less than 50.00
            • Then - Actions
              • Animation - Play UnitVarCaster9's attack animation
              • Unit - Pause UnitVarTarget7
              • Animation - Change UnitVarCaster9's animation speed to 25.00% of its original speed
              • Animation - Change UnitVarTarget7's animation speed to 25.00% of its original speed
              • Wait 1.85 game-time seconds
              • Special Effect - Create a special effect attached to the head of UnitVarTarget7 using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Unit - Cause UnitVarCaster9 to damage UnitVarTarget7, dealing 200.00 damage of attack type Spells and damage type Normal
              • Special Effect - Destroy (Last created special effect)
              • Animation - Change UnitVarTarget7's animation speed to 100.00% of its original speed
              • Unit - Unpause UnitVarTarget7
              • Unit - Make UnitVarCaster9 Vulnerable
              • Unit - Unpause UnitVarCaster9
              • Animation - Change UnitVarCaster9's animation speed to 100.00% of its original speed
              • Special Effect - Destroy SpecialEffect2[6]
              • Special Effect - Destroy SpecialEffect2[7]
              • Custom script: call RemoveLocation (udg_TempLoc41)
              • Custom script: call RemoveLocation (udg_TempLoc42)
              • Skip remaining actions
            • Else - Actions
      • Unit - Make UnitVarCaster9 Vulnerable
      • Unit - Unpause UnitVarCaster9
      • Animation - Change UnitVarCaster9's animation speed to 100.00% of its original speed
      • Animation - Change UnitVarCaster9's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Special Effect - Destroy SpecialEffect2[6]
      • Special Effect - Destroy SpecialEffect2[7]
      • Custom script: call RemoveLocation (udg_TempLoc41)
      • Custom script: call RemoveLocation (udg_TempLoc42)
2.

  • Passive Blink
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Attacked unit) has buff Fury Blade ) Equal to True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 10
        • Then - Actions
          • Set UnitVarAttacked = (Attacked unit)
          • Set UnitVarAttacker = (Attacking unit)
          • Set TempLoc43 = (Position of UnitVarAttacked)
          • Set TempLoc44 = (Position of UnitVarAttacker)
          • Unit - Make UnitVarAttacked Invulnerable
          • Special Effect - Create a special effect attached to the hand,left of UnitVarAttacked using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Set Sfx[8] = (Last created special effect)
          • Special Effect - Create a special effect attached to the hand,right of UnitVarAttacked using Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl
          • Set Sfx[9] = (Last created special effect)
          • Special Effect - Create a special effect attached to the chest of UnitVarAttacked using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move UnitVarAttacked instantly to TempLoc44, facing (Facing of UnitVarAttacker) degrees
          • Animation - Play UnitVarAttacked's attack animation
          • Unit - Cause UnitVarAttacked to damage UnitVarAttacker, dealing (5.00 x (Real((Agility of UnitVarAttacked (Include bonuses))))) damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of UnitVarAttacker using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
          • Special Effect - Destroy (Last created special effect)
          • Floating Text - Create floating text that reads ((String((5 x (Agility of UnitVarAttacked (Include bonuses))))) + !) above UnitVarAttacker with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
          • Floating Text - Change the fading age of (Last created floating text) to 4.00 seconds
          • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
          • Wait 0.50 game-time seconds
          • Unit - Move UnitVarAttacked instantly to TempLoc43
          • Custom script: call RemoveLocation (udg_TempLoc43)
          • Custom script: call RemoveLocation (udg_TempLoc44)
          • Animation - Reset UnitVarAttacked's animation
          • Special Effect - Create a special effect attached to the chest of UnitVarAttacked using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Make UnitVarAttacked Vulnerable
          • Special Effect - Destroy Sfx[8]
          • Special Effect - Destroy Sfx[9]
        • Else - Actions
3.

  • Desolate
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (Sunjjin) Desolate
    • Actions
      • Set UnitVarCaster3 = (Triggering unit)
      • Set UnitVarPicked = (Target unit of ability being cast)
      • Unit - Add FlyHeight to UnitVarCaster3
      • Unit - Remove FlyHeight from UnitVarCaster3
      • Unit - Add Attach to UnitVarCaster3
      • Unit - Make UnitVarCaster3 Invulnerable
      • Unit - Pause UnitVarCaster3
      • Animation - Play UnitVarCaster3's stand, ready animation
      • For each (Integer A) from 1 to (5 x (Level of (Sunjjin) Desolate for UnitVarCaster3)), do (Actions)
        • Loop - Actions
          • Wait 0.27 game-time seconds
          • Animation - Play UnitVarCaster3's slam animation
          • Unit - Set life of UnitVarCaster3 to ((Life of UnitVarCaster3) + (5.00 x (Real((Level of (Sunjjin) Desolate for UnitVarCaster3)))))
          • Animation - Change UnitVarCaster3 flying height to 50.00 at 0.00
          • Set TempLoc15 = (Position of UnitVarPicked)
          • Set TempLoc7 = (Random point in (Region centered at TempLoc15 with size (80.00, 80.00)))
          • Unit - Move UnitVarCaster3 instantly to TempLoc7, facing TempLoc15
          • Special Effect - Create a special effect attached to the chest of UnitVarCaster3 using Abilities\Weapons\MurgulMagicMissile\MurgulMagicMissile.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Make UnitVarCaster3 face UnitVarPicked over 0.00 seconds
          • Special Effect - Create a special effect attached to the chest of UnitVarPicked using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
          • Special Effect - Destroy (Last created special effect)
          • Animation - Play UnitVarCaster3's attack animation
          • Unit - Cause UnitVarCaster3 to damage UnitVarPicked, dealing 75.00 damage of attack type Spells and damage type Normal
          • Custom script: call RemoveLocation(udg_TempLoc7)
          • Custom script: call RemoveLocation(udg_TempLoc15)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of UnitVarPicked) Less than 25.00
            • Then - Actions
              • Animation - Change UnitVarCaster3 flying height to 0.00 at 50.00
              • Special Effect - Create a special effect attached to the origin of UnitVarPicked using Abilities\Spells\Undead\Possession\PossessionMissile.mdl
              • Special Effect - Destroy (Last created special effect)
              • Unit - Cause UnitVarCaster3 to damage UnitVarPicked, dealing 500.00 damage of attack type Spells and damage type Normal
              • Unit - Unpause UnitVarCaster3
              • Unit - Make UnitVarCaster3 Vulnerable
              • Unit - Remove Attach from UnitVarCaster3
              • Animation - Reset UnitVarCaster3's animation
              • Custom script: call RemoveLocation(udg_TempLoc7)
              • Custom script: call RemoveLocation(udg_TempLoc15)
              • Custom script: set udg_UnitVarPicked = null
              • Custom script: set udg_UnitVarCaster3 = null
              • Skip remaining actions
            • Else - Actions
      • Animation - Change UnitVarCaster3 flying height to 0.00 at 50.00
      • Unit - Unpause UnitVarCaster3
      • Unit - Make UnitVarCaster3 Vulnerable
      • Unit - Remove Attach from UnitVarCaster3
      • Animation - Reset UnitVarCaster3's animation
      • Custom script: call RemoveLocation(udg_TempLoc7)
      • Custom script: call RemoveLocation(udg_TempLoc15)
      • Custom script: set udg_UnitVarPicked = null
      • Custom script: set udg_UnitVarCaster3 = null
4.

  • Gape of Dead
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (Sumo) Gape of Dead
    • Actions
      • Set Gape_Caster = (Triggering unit)
      • Set Gape_Target = (Target unit of ability being cast)
      • Unit - Hide Gape_Target
      • Unit - Pause Gape_Target
      • Set Gape_LevelSet = (Level of (Sumo) Gape of Dead for (Triggering unit))
      • For each (Integer Gape_LoopCounter) from 1 to Gape_LevelSet, do (Actions)
        • Loop - Actions
          • Wait 2.00 seconds
          • Unit - Cause Gape_Caster to damage Gape_Target, dealing 300.00 damage of attack type Spells and damage type Normal
          • Floating Text - Create floating text that reads Mmmm!!! Yummy :D above Gape_Caster with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
          • Floating Text - Change (Last created floating text): Disable permanence
          • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
          • Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds
          • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of Gape_Target) Less than 10.00
            • Then - Actions
              • Unit - Unpause Gape_Target
              • Unit - Cause Gape_Caster to damage Gape_Target, dealing 500.00 damage of attack type Spells and damage type Normal
              • Set TempLoc4 = ((Position of Gape_Caster) offset by 100.00 towards (Facing of Gape_Caster) degrees)
              • Unit - Unhide Gape_Target
              • Unit - Move Gape_Target instantly to TempLoc4
              • Unit - Pause Gape_Caster
              • Animation - Play Gape_Caster's spell, puke animation
              • Animation - Queue Gape_Caster's stand animation
              • Unit - Make Gape_Caster face Gape_Target over 0.00 seconds
              • Unit - Unpause Gape_Caster
              • Animation - Play Gape_Target's death animation
              • Special Effect - Create a special effect attached to the chest of Gape_Target using Objects\Spawnmodels\Demon\DemonSmallDeathExplode\DemonSmallDeathExplode.mdl
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation (udg_TempLoc4)
              • Skip remaining actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Life of Gape_Caster) Less than 10.00
            • Then - Actions
              • Unit - Unpause Gape_Target
              • Set TempLoc4 = ((Position of Gape_Caster) offset by 100.00 towards (Facing of Gape_Caster) degrees)
              • Unit - Unhide Gape_Target
              • Unit - Move Gape_Target instantly to TempLoc4
              • Custom script: call RemoveLocation (udg_TempLoc4)
              • Skip remaining actions
            • Else - Actions
      • Set TempLoc4 = ((Position of Gape_Caster) offset by 100.00 towards (Facing of Gape_Caster) degrees)
      • Unit - Unpause Gape_Target
      • Unit - Unhide Gape_Target
      • Unit - Move Gape_Target instantly to TempLoc4
      • Unit - Pause Gape_Caster
      • Animation - Play Gape_Caster's spell, puke animation
      • Animation - Queue Gape_Caster's stand animation
      • Unit - Make Gape_Caster face Gape_Target over 0.00 seconds
      • Unit - Unpause Gape_Caster
      • Special Effect - Create a special effect attached to the chest of Gape_Target using Objects\Spawnmodels\Demon\DemonSmallDeathExplode\DemonSmallDeathExplode.mdl
      • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLoc4)
]
 
Last edited:
Level 37
Joined
Mar 6, 2006
Messages
9,240
1, 2, 3 and 4 are not MUI and will cause leaks an other bugs when used by two or more units at the same time.

5, 6 ,7 and 8 are correctly triggered and do not leak.

However I do have to wonder why anyone would use an array point variable, and use an array for the index, when you don't need an array in the first place.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
1.
Set TempLoc42 = (Random point in (Region centered at TempLoc41 with size (80.00, 80.00)))
Leaks a rect (Region centered at TempLoc41 with size (80.00, 80.00))


3.
Set TempLoc7 = (Random point in (Region centered at TempLoc15 with size (80.00, 80.00)))
Leaks a rect (Region centered at TempLoc15 with size (80.00, 80.00))

4.
Set TempLoc4 = ((Position of Gape_Caster) offset by 100.00 towards (Facing of Gape_Caster) degrees)
Set TempLoc4 = ((Position of Gape_Caster) offset by 100.00 towards (Facing of Gape_Caster) degrees)
This leaks a location (Position of Gape_Caster)
 
Status
Not open for further replies.
Top