• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Omnislash leaks dpont know how to clean.

Status
Not open for further replies.
Level 19
Joined
Feb 15, 2008
Messages
2,184
its says this with leak check.

Variables
CL_Loc[1] : (Line: 13) Location - Removed: Yes
CL_Group[1] : (Line: 14) Unit Group - Removed: Yes
CL_Victim[CL_Index[3]] : (Line: 32) Location - Removed: No
CL_Loc[2] : (Line: 33) Location - Removed: Yes
CL_Loc[3] : (Line: 34) Location - Removed: Yes

  • Omnislash Loop
    • Events
      • Time - Every 0.30 seconds of game time
    • Conditions
    • Actions
      • For each (Integer CL_Index[3]) from 1 to CL_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • CL_Boolean[CL_Index[3]] Equal to True
            • Then - Actions
              • Set CL_Slashes[CL_Index[3]] = (CL_Slashes[CL_Index[3]] - 1)
              • Set CL_Loc[1] = (Position of CL_Target[CL_Index[3]])
              • Set CL_Group[1] = (Units within CL_AOE[CL_Index[3]] of CL_Loc[1] matching ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of CL_Player[CL_Index[3]]) Equal to True))))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • CL_FirstTarget[CL_Index[3]] Equal to True
                • Then - Actions
                  • Unit - Move CL_Caster[CL_Index[3]] instantly to CL_Loc[1]
                  • Unit - Make CL_Caster[CL_Index[3]] face CL_Loc[1] over 0.00 seconds
                  • Unit - Cause CL_Caster[CL_Index[3]] to damage CL_Target[CL_Index[3]], dealing (Real(CL_Damage[CL_Index[3]])) damage of attack type Normal and damage type Normal
                  • Animation - Play CL_Caster[CL_Index[3]]'s attack animation
                  • Special Effect - Create a special effect attached to the origin of CL_Caster[CL_Index[3]] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • Set CL_FirstTarget[CL_Index[3]] = False
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • CL_Slashes[CL_Index[3]] Greater than 0
                      • (Number of units in CL_Group[1]) Greater than 0
                    • Then - Actions
                      • Set CL_Victim[CL_Index[3]] = (Random unit from CL_Group[1])
                      • Set CL_Loc[2] = (Position of CL_Victim[CL_Index[3]])
                      • Set CL_Loc[3] = (CL_Loc[2] offset by 50.00 towards (Random angle) degrees)
                      • Unit - Move CL_Caster[CL_Index[3]] instantly to CL_Loc[3]
                      • Unit - Make CL_Caster[CL_Index[3]] face CL_Loc[2] over 0.00 seconds
                      • Unit - Cause CL_Caster[CL_Index[3]] to damage CL_Victim[CL_Index[3]], dealing (Real(CL_Damage[CL_Index[3]])) damage of attack type Normal and damage type Normal
                      • Animation - Play CL_Caster[CL_Index[3]]'s attack animation
                      • Special Effect - Create a special effect attached to the origin of CL_Caster[CL_Index[3]] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: call RemoveLocation( udg_CL_Loc[2] )
                      • Custom script: call RemoveLocation( udg_CL_Loc[3] )
                    • Else - Actions
                      • Set CL_Index[1] = (CL_Index[1] - 1)
                      • Set CL_Boolean[CL_Index[3]] = False
                      • Special Effect - Destroy CL_Special[CL_Index[3]]
                      • Unit - Unpause CL_Caster[CL_Index[3]]
                      • Animation - Change CL_Caster[CL_Index[3]]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                      • Animation - Reset CL_Caster[CL_Index[3]]'s animation
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • CL_Index[1] Equal to 0
                        • Then - Actions
                          • Set CL_Index[2] = 0
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
              • Custom script: call RemoveLocation( udg_CL_Loc[1] )
              • Custom script: call DestroyGroup( udg_CL_Group[1] )
            • Else - Actions
i try put in this

CL_Victim[CL_Index[3]]

and why does it not remove the leak?

where do i put it can some one show me the right trigger pls?

ALSO HAVE ANOTHER ONE HERE

says

Variables
PH_Dummy_Point[PH_Index[3]] : (Line: 17) Location - Removed: No
PH_Hook_Point[PH_Index[3]] : (Line: 18) Location - Removed: No
PH_Dummy_Point[PH_Index[3]] : (Line: 54) Location - Removed: No
PH_Hook_Point[PH_Index[3]] : (Line: 55) Location - Removed: No

  • Hook Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer PH_Index[3]) from 1 to PH_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PH_Counter[PH_Index[3]] Less than PH_Distance
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to False
                • Then - Actions
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] + 1)
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards PH_Hook_Angle[PH_Index[3]] degrees)
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • Unit - Create 1 Effect for (Owner of PH_Caster[PH_Index[3]]) at PH_Dummy_Point[PH_Index[3]] facing PH_Hook_Angle[PH_Index[3]] degrees
                  • Unit - Turn collision for (Last created unit) Off
                  • Hashtable - Save Handle Of(Last created unit) as PH_Counter[PH_Index[3]] of PH_Index[3] in PH_Table
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 64.00 of PH_Hook_Point[PH_Index[3]] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of PH_Caster[PH_Index[3]])) Equal to True))) and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) is Magic Immune) Equal to False
                          • ((Picked unit) is A structure) Equal to False
                          • ((Picked unit) belongs to an ally of (Owner of PH_Caster[PH_Index[3]])) Equal to False
                          • PH_Hooked_Is[PH_Index[3]] Equal to False
                        • Then - Actions
                          • Set PH_Hooked_Unit[PH_Index[3]] = (Picked unit)
                          • Set PH_Hooked_Is[PH_Index[3]] = True
                          • Unit - Pause (Picked unit)
                          • Unit - Turn collision for (Picked unit) Off
                          • Unit - Cause PH_Caster[PH_Index[3]] to damage (Picked unit), dealing (Real(PH_Damage)) damage of attack type Spells and damage type Lightning
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
                  • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Counter[PH_Index[3]] Equal to PH_Distance
                    • Then - Actions
                      • Set PH_Hooked_Is[PH_Index[3]] = True
                      • Unit - Unpause PH_Caster[PH_Index[3]]
                    • Else - Actions
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to True
                • Then - Actions
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] - 1)
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards (PH_Hook_Angle[PH_Index[3]] - 180.00) degrees)
                  • Set PH_Effect = (Load (PH_Counter[PH_Index[3]] + 1) of PH_Index[3] in PH_Table)
                  • Unit - Kill PH_Effect
                  • Unit - Remove PH_Effect from the game
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Move PH_Hooked_Unit[PH_Index[3]] instantly to PH_Dummy_Point[PH_Index[3]]
                    • Else - Actions
                • Else - Actions
              • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
              • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Counter[PH_Index[3]] Equal to 0
                • Then - Actions
                  • Unit - Kill PH_Dummy[PH_Index[3]]
                  • Unit - Remove PH_Dummy[PH_Index[3]] from the game
                  • Unit - Unpause PH_Caster[PH_Index[3]]
                  • Animation - Reset PH_Caster[PH_Index[3]]'s animation
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Unpause PH_Hooked_Unit[PH_Index[3]]
                      • Unit - Turn collision for PH_Hooked_Unit[PH_Index[3]] On
                    • Else - Actions
                  • Set PH_Index[1] = (PH_Index[1] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Index[1] Equal to 0
                    • Then - Actions
                      • Set PH_Index[2] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
            • Else - Actions
how to clean can some one show me the right triggers?
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Omnislash:

No leaks.
Your stupid program said:
CL_Victim[CL_Index[3]] : (Line: 32) Location - Removed: No
CL_Victim[...] is a unit, not a location.
I don't know how that program works, but it's wrong.

You don't need to change anything there.


Hook Loop:

No leaks either.
All locations have been removed correctly.


Global note:

If you downloaded any of these spells from the hive's spell section, you don't even have to check for leaks: you can be sure that it does NOT leak.
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
I made a JASS version of this move for a friend, do you want that? It works nice and if I remember correctly its pretty easy to modify to fit your needs.

Oh, it requires TimerUtils and AutoIndex - I can post the code if you want.
 
Status
Not open for further replies.
Top