- Joined
- Mar 1, 2013
- Messages
- 555
I'm trying to make an Aoe ability that locks every unit in time except the caster and this is what I have so far...
I've propbably spent about a day on this one in total and nothing I wants to happen will hapen!
1. The once again the chronosphere Doesn't want to last longer than a second
2. I deactivated the hashtable thing to see if units get paused and they don't.
3.
help PLEASE.
-
Chronosphere spell
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Chronosphere
-
Actions
- Set ChCaster = (Casting unit)
- Set ChPoint = (Target point of ability being cast)
- Unit - Create 1 Chronosphere for (Owner of ChCaster) at ChPoint facing Default building facing degrees
- Unit Group - Add (Last created unit) to ChGroup[0]
- Hashtable - Save 60 as 1 of (Key (Last created unit)) in HashLocked
- Trigger - Turn on Chronosphere loop <gen>
- Wait 6.00 seconds
- If ((Number of units in ChGroup[0]) Equal to 0) then do (Trigger - Turn off Chronosphere loop <gen>) else do (Do nothing)
-
Events
-
Chronosphere loop
-
Events
- Time - Every 0.10 seconds of game time
- Conditions
-
Actions
-
Unit Group - Pick every unit in ChGroup[0] and do (Actions)
-
Loop - Actions
- Set Remaining = (Load 0 of (Key (Picked unit)) from HashLocked)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- Remaining Greater than 0
-
Then - Actions
- Set Remaining = (Remaining - 1)
- Hashtable - Save Remaining as 1 of (Key (Picked unit)) in HashLocked
-
Else - Actions
- Unit Group - Remove (Picked unit) from ChGroup[0]
- Unit - Kill (Picked unit)
- Hashtable - Clear all child hashtables of child (Key (Picked unit)) in HashLocked
-
If - Conditions
-
Unit Group - Pick every unit in (Units within 400.00 of (Position of (Picked unit)) matching ((Owner of (Matching unit)) Not equal to (Owner of (Picked unit)))) and do (Actions)
-
Loop - Actions
- Unit Group - Add (Picked unit) to ChGroup[1]
-
Loop - Actions
-
Loop - Actions
-
Unit Group - Pick every unit in ChGroup[1] and do (Actions)
-
Loop - Actions
- Unit - Pause (Picked unit)
- Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Distance between (Position of (Picked unit)) and (Position of (Triggering unit))) Greater than 400.00
-
Then - Actions
- Unit - Unpause (Picked unit)
- Animation - Change (Picked unit)'s animation speed to 100.00% of its original speed
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
Unit Group - Pick every unit in ChGroup[0] and do (Actions)
-
Events
1. The once again the chronosphere Doesn't want to last longer than a second
2. I deactivated the hashtable thing to see if units get paused and they don't.
3.
- (Distance between (Position of (Picked unit)) and (Position of (Triggering unit))) Greater than 400.00
help PLEASE.
Last edited: