- Joined
- Jun 1, 2008
- Messages
- 341
Hey Ive come across a hinderance in my project, can anyone tell me why this would lag after i've played for about 10 mins, yet i can fire about a hundred missile similtaniously in the begining. Is there a leak im missing?? any help appreciated. If you need to know more please ask.
This is the Blast Intilisation
This is the Blast System
The Rest might not be needed to know.
Any help appreciated.
-
Intalization
-
Events
-
Map initialization
-
-
Conditions
-
Actions
-
-------- //Setup Heros and Hide Initial Dummy Units --------
-
Set TempGroup = (Units of type Dummy)
-
Unit Group - Pick every unit in TempGroup and do (Actions)
-
Loop - Actions
-
For each (Integer A) from 1 to 8, do (Actions)
-
Loop - Actions
-
Set TempPoint = ((Player((Integer A))) start location)
-
Set TempPoint2 = (Position of (Picked unit))
-
Unit - Create 1 Blood Mage for (Player((Integer A))) at TempPoint facing TempPoint2
-
Set Hero[(Integer A)] = (Last created unit)
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
-
-
Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
-
-
-
Custom script: call DestroyGroup(udg_TempGroup)
-
-------- //Setup AI --------
-
Set TempGroup2 = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and ((((Owner of (Matching unit)) controller) Not equal to User) or (((Owner of (Matching unit)) slot status) Equal to Is unused))))
-
Unit Group - Pick every unit in TempGroup2 and do (Actions)
-
Loop - Actions
-
Set TempGroup3 = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of (Picked unit))) Equal to True))))
-
Set TempUnit = (Random unit from TempGroup3)
-
Set TempPoint2 = (Position of TempUnit)
-
Set AIControll_Movepoint[(Player number of (Picked player))] = TempPoint2
-
Unit - Order (Picked unit) to Move To TempPoint2
-
Hero - Learn skill for (Picked unit): Blast
-
Set TempUnit = No unit
-
Custom script: call DestroyGroup(udg_TempGroup3)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
-
-
Custom script: call DestroyGroup(udg_TempGroup2)
-
-
-
Blast
-
Events
-
Unit - A unit Begins casting an ability
-
-
Conditions
-
(Level of Blast for (Casting unit)) Not equal to 0
-
-
Actions
-
Set TempUnit = (Casting unit)
-
Set TempPoint = (Position of TempUnit)
-
Set TempPoint2 = (Target point of ability being cast)
-
Set TempReal = (Angle from TempPoint to TempPoint2)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Blast for TempUnit) Equal to 1
-
-
Then - Actions
-
Unit - Create 1 Dummy for (Owner of TempUnit) at TempPoint facing TempReal degrees
-
Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
-
Unit Group - Add (Last created unit) to Blast_Spell
-
Unit - Order TempUnit to Stop
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Blast for TempUnit) Equal to 2
-
-
Then - Actions
-
For each (Integer A) from -1 to 1, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Integer A) Not equal to 0
-
-
Then - Actions
-
Set TempReal2 = (TempReal + (5.00 x (Real((Integer A)))))
-
Unit - Create 1 Dummy for (Owner of TempUnit) at TempPoint facing TempReal2 degrees
-
Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
-
Unit Group - Add (Last created unit) to Blast_Spell
-
Unit - Order TempUnit to Stop
-
-
Else - Actions
-
-
-
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Blast for TempUnit) Equal to 3
-
-
Then - Actions
-
For each (Integer A) from -1 to 1, do (Actions)
-
Loop - Actions
-
Set TempReal2 = (TempReal + (5.00 x (Real((Integer A)))))
-
Unit - Create 1 Dummy for (Owner of TempUnit) at TempPoint facing TempReal2 degrees
-
Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
-
Unit Group - Add (Last created unit) to Blast_Spell
-
Unit - Order TempUnit to Stop
-
-
-
-
Else - Actions
-
-
-
-
-
-
Set TempUnit = No unit
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
-
-
System
-
Events
-
Time - Every 0.01 seconds of game time
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in Blast_Spell) Not equal to 0
-
-
Then - Actions
-
Unit Group - Pick every unit in Blast_Spell and do (Actions)
-
Loop - Actions
-
Set TempUnit = (Picked unit)
-
Animation - Change TempUnit flying height to 50.00 at 100.00
-
Set TempPoint = (Position of TempUnit)
-
Set TempPoint2 = (TempPoint offset by 12.00 towards (Facing of TempUnit) degrees)
-
Set TempPoint3 = (Position of Hero[(Player number of (Owner of TempUnit))])
-
Set TempInteger = ((((Level of Hero[(Player number of (Owner of TempUnit))]) x (Random integer number between 2 and 5)) + ((Level of Blast for Hero[(Player number of (Owner of TempUnit))]) x (Random integer number between 5 and 10))) + (Random integer number between 5 and 15)
-
Set TempGroup2 = (Units in (Region centered at TempPoint with size (120.00, 120.00)) matching ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of TempUnit)) Equal to True)))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(TempUnit is dead) Equal to True
-
-
Then - Actions
-
Unit - Remove TempUnit from the game
-
Special Effect - Create a special effect at TempPoint2 using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
-
Special Effect - Destroy (Last created special effect)
-
Skip remaining actions
-
-
Else - Actions
-
-
Unit - Move TempUnit instantly to TempPoint2
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
(Number of units in TempGroup2) Not equal to 0
-
(Terrain pathing at TempPoint2 of type Walkability is off) Equal to True
-
-
-
-
Then - Actions
-
Unit Group - Pick every unit in TempGroup2 and do (Actions)
-
Loop - Actions
-
Set TempUnit2 = (Picked unit)
-
Unit - Cause Hero[(Player number of (Owner of TempUnit))] to damage TempUnit2, dealing (Real(TempInteger)) damage of attack type Hero and damage type Force
-
-
-
Unit - Remove TempUnit from the game
-
Special Effect - Create a special effect at TempPoint2 using Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl
-
Special Effect - Destroy (Last created special effect)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup2) Not equal to 0
-
-
Then - Actions
-
Floating Text - Create floating text that reads (String(TempInteger)) above TempUnit2 with Z offset 0.00, using font size 8.00, color (55.00%, 20.00%, 20.00%), and 25.00% transparency
-
Floating Text - Set the velocity of (Last created floating text) to 100.00 towards 90.00 degrees
-
Floating Text - Change (Last created floating text): Disable permanence
-
Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
-
Floating Text - Change the fading age of (Last created floating text) to 1.50 seconds
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
TempInteger Greater than or equal to ((((Hero level of Hero[(Player number of (Owner of TempUnit))]) x 5) + 13) + ((Level of Blast for Hero[(Player number of (Owner of TempUnit))]) x 10))
-
-
Then - Actions
-
Floating Text - Create floating text that reads Critical Hit above TempUnit2 with Z offset 0.00, using font size 10.00, color (55.00%, 20.00%, 20.00%), and 0.00% transparency
-
Floating Text - Set the velocity of (Last created floating text) to 100.00 towards 90.00 degrees
-
Floating Text - Change (Last created floating text): Disable permanence
-
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
-
Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-
Else - Actions
-
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
Custom script: call RemoveLocation(udg_TempPoint3)
-
Custom script: call DestroyGroup(udg_TempGroup)
-
Custom script: call DestroyGroup(udg_TempGroup2)
-
-
-
AI Controll Settings
-
Events
-
Time - Every 0.80 seconds of game time
-
-
Conditions
-
Actions
-
Set TempGroup = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and ((((Owner of (Matching unit)) controller) Not equal to User) or (((Owner of (Matching unit)) slot status) Equal to Is unused))))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup) Not equal to 0
-
-
Then - Actions
-
Unit Group - Pick every unit in TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Melee AI of (Owner of (Picked unit))) Equal to Easy AI
-
-
Then - Actions
-
Set TempUnit = (Picked unit)
-
Set TempPoint = (Position of TempUnit)
-
Set TempGroup2 = (Units within (Current acquisition range of TempUnit) of TempPoint matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is Magic Immune) Equal to False)) and (((Owner of (Matching unit)) is an enemy of (Owner of TempUnit)) Equal to True
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup2) Greater than 0
-
-
Then - Actions
-
Set TempUnit2 = (Random unit from TempGroup)
-
Set TempPoint2 = (Position of TempUnit2)
-
Set TempUnit2 = No unit
-
Unit - Order TempUnit to Orc Tauren Chieftain - Shockwave TempPoint2
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Region centered at TempPoint with size (150.00, 150.00)) contains AIControll_Movepoint[(Player number of (Owner of TempUnit))]) Equal to True
-
-
Then - Actions
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Set TempPoint = (Random point in (Playable map area))
-
Set AIControll_Movepoint[(Player number of (Owner of TempUnit))] = TempPoint
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
Else - Actions
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
-
-
-
-
Else - Actions
-
-
-
-
Set TempUnit = No unit
-
Custom script: call DestroyGroup(udg_TempGroup2)
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
Custom script: call RemoveLocation(udg_TempPoint3)
-
-
Else - Actions
-
-
Custom script: call DestroyGroup(udg_TempGroup)
-
-
-
AI Controll Settings Normal
-
Events
-
Time - Every 0.60 seconds of game time
-
-
Conditions
-
Actions
-
Set TempGroup = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and ((((Owner of (Matching unit)) controller) Not equal to User) or (((Owner of (Matching unit)) slot status) Equal to Is unused))))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup) Not equal to 0
-
-
Then - Actions
-
Unit Group - Pick every unit in TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Melee AI of (Owner of (Picked unit))) Equal to Normal AI
-
-
Then - Actions
-
Set TempUnit = (Picked unit)
-
Set TempPoint = (Position of TempUnit)
-
Set TempGroup2 = (Units within 1000.00 of TempPoint matching (((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A Hero) Equal to True) or ((Owner of (Matching unit)) Equal to Player 12 (Brown)))) and (((Owner of (Matching unit)) is an enemy of (Owner of Te
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup2) Greater than 0
-
-
Then - Actions
-
Set TempUnit2 = (Random unit from TempGroup)
-
Set TempPoint2 = (Position of TempUnit2)
-
Set TempUnit2 = No unit
-
Unit - Order TempUnit to Orc Tauren Chieftain - Shockwave TempPoint2
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Region centered at TempPoint with size (150.00, 150.00)) contains AIControll_Movepoint[(Player number of (Owner of TempUnit))]) Equal to True
-
-
Then - Actions
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Set TempPoint = (Random point in (Playable map area))
-
Set AIControll_Movepoint[(Player number of (Owner of TempUnit))] = TempPoint
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
Else - Actions
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
-
-
-
-
Else - Actions
-
-
-
-
Set TempUnit = No unit
-
Custom script: call DestroyGroup(udg_TempGroup2)
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
Custom script: call RemoveLocation(udg_TempPoint3)
-
-
Else - Actions
-
-
Custom script: call DestroyGroup(udg_TempGroup)
-
-
-
AI Controll Settings Insane
-
Events
-
Time - Every 0.40 seconds of game time
-
-
Conditions
-
Actions
-
Set TempGroup = (Units in (Playable map area) matching ((((Matching unit) is A Hero) Equal to True) and ((((Owner of (Matching unit)) controller) Not equal to User) or (((Owner of (Matching unit)) slot status) Equal to Is unused))))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup) Not equal to 0
-
-
Then - Actions
-
Unit Group - Pick every unit in TempGroup and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Melee AI of (Owner of (Picked unit))) Equal to Insane AI
-
-
Then - Actions
-
Set TempUnit = (Picked unit)
-
Set TempPoint = (Position of TempUnit)
-
Set TempGroup2 = (Units within (Current acquisition range of TempUnit) of TempPoint matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is Magic Immune) Equal to False)) and (((Owner of (Matching unit)) is an enemy of (Owner of TempUnit)) Equal to True
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup2) Greater than 0
-
-
Then - Actions
-
Set TempUnit2 = (Random unit from TempGroup)
-
Set TempPoint2 = (Position of TempUnit2)
-
Set TempUnit2 = No unit
-
Unit - Order TempUnit to Orc Tauren Chieftain - Shockwave TempPoint2
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Region centered at TempPoint with size (150.00, 150.00)) contains AIControll_Movepoint[(Player number of (Owner of TempUnit))]) Equal to True
-
-
Then - Actions
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Set TempPoint = (Random point in (Playable map area))
-
Set AIControll_Movepoint[(Player number of (Owner of TempUnit))] = TempPoint
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
Else - Actions
-
Unit - Order TempUnit to Move To AIControll_Movepoint[(Player number of (Owner of TempUnit))]
-
-
-
-
-
-
Else - Actions
-
-
-
-
Set TempUnit = No unit
-
Custom script: call DestroyGroup(udg_TempGroup2)
-
Custom script: call RemoveLocation(udg_TempPoint)
-
Custom script: call RemoveLocation(udg_TempPoint2)
-
Custom script: call RemoveLocation(udg_TempPoint3)
-
-
Else - Actions
-
-
Custom script: call DestroyGroup(udg_TempGroup)
-
-