- Joined
- May 13, 2009
- Messages
- 41
i am learning to create MUI spells it's work and going forward but when i create 2 caster and cast the spell together one caster is stuck...
This is the trigger
This is the trigger
-
Lightning Ball Begin
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Lightning Path
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Integer[1] Equal to 0
-
Then - Actions
- Trigger - Turn on Lightning Ball Move <gen>
- Else - Actions
-
If - Conditions
- Set LP_Integer[1] = (LP_Integer[1] + 1)
- Set LP_Integer[2] = (LP_Integer[2] + 1)
- Set LP_Caster[LP_Integer[2]] = (Triggering unit)
- Set LP_Location[LP_Integer[2]] = (Position of LP_Caster[LP_Integer[2]])
- Set LP_Location2[LP_Integer[2]] = (Target point of ability being cast)
- Set LP_Angle[LP_Integer[2]] = (Angle from LP_Location[LP_Integer[2]] to LP_Location2[LP_Integer[2]])
- Set LP_Tick[LP_Integer[2]] = 21
- Unit - Create 1 Lightning Ball Dummy for (Owner of LP_Caster[LP_Integer[2]]) at LP_Location[LP_Integer[2]] facing LP_Angle[LP_Integer[2]] degrees
- Set LP_Dummy[LP_Integer[2]] = (Last created unit)
- Set LP_DummyPoint[LP_Integer[2]] = (Position of LP_Dummy[LP_Integer[2]])
- Set LP_DummyGroup[LP_Integer[2]] = (Last created unit group)
- Lightning - Create a Forked Lightning lightning effect from source LP_Location[LP_Integer[2]] to target LP_DummyPoint[LP_Integer[2]]
- Set LP_Lightning[LP_Integer[2]] = (Last created lightning effect)
- Custom script: call RemoveLocation ( udg_LP_Location2[udg_LP_Integer[2]] )
- Custom script: call RemoveLocation ( udg_LP_DummyPoint[udg_LP_Integer[2]] )
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
Lightning Ball Move
-
Events
- Time - Every 0.03 seconds of game time
- Conditions
-
Actions
-
For each (Integer LP_Integer[3]) from 1 to LP_Integer[2], do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Tick[LP_Integer[3]] Greater than 0
-
Then - Actions
- Set LP_DummyPoint[LP_Integer[3]] = (Position of LP_Dummy[LP_Integer[3]])
- Set LP_Location2[LP_Integer[3]] = (LP_DummyPoint[LP_Integer[3]] offset by 50.00 towards LP_Angle[LP_Integer[3]] degrees)
- Special Effect - Create a special effect at LP_DummyPoint[LP_Integer[3]] using Abilities\Weapons\Bolt\BoltImpact.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Move LP_Dummy[LP_Integer[3]] instantly to LP_Location2[LP_Integer[3]]
- Lightning - Move LP_Lightning[LP_Integer[3]] to source LP_Location[LP_Integer[3]] and target LP_DummyPoint[LP_Integer[3]]
- Set LP_Strike[LP_Integer[3]] = (Units within 125.00 of LP_DummyPoint[LP_Integer[3]] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy
-
Unit Group - Pick every unit in LP_Strike[LP_Integer[3]] and do (Actions)
-
Loop - Actions
- Unit - Create 1 Lightning Ball Dummy Slower for (Owner of LP_Caster[LP_Integer[3]]) at LP_DummyPoint[LP_Integer[3]] facing LP_Angle[LP_Integer[3]] degrees
- Unit - Hide (Last created unit)
- Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Weapons\Bolt\BoltImpact.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Cause LP_Caster[LP_Integer[3]] to damage (Picked unit), dealing (75.00 x (Real((Level of Lightning Path for LP_Caster[LP_Integer[3]])))) damage of attack type Spells and damage type Normal
- Unit Group - Add (Picked unit) to LP_NonStrike[LP_Integer[3]]
-
Loop - Actions
- Custom script: call RemoveLocation ( udg_LP_DummyPoint[udg_LP_Integer[3]] )
- Custom script: call RemoveLocation ( udg_LP_Location2[udg_LP_Integer[3]] )
- Custom script: call DestroyGroup ( udg_LP_Strike[udg_LP_Integer[3]] )
- Set LP_Tick[LP_Integer[3]] = (LP_Tick[LP_Integer[3]] - 1)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Tick[LP_Integer[3]] Equal to 0
-
Then - Actions
- Unit Group - Remove LP_Dummy[LP_Integer[3]] from LP_DummyGroup[LP_Integer[3]]
- Unit - Kill LP_Dummy[LP_Integer[3]]
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (LP_DummyGroup[LP_Integer[3]] is empty) Equal to True
-
Then - Actions
- Set LP_Integer[1] = (LP_Integer[1] - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- LP_Integer[1] Equal to 0
-
Then - Actions
- Set LP_Integer[2] = 0
- Lightning - Destroy LP_Lightning[LP_Integer[3]]
- Unit Group - Remove all units from LP_NonStrike[LP_Integer[3]]
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
For each (Integer LP_Integer[3]) from 1 to LP_Integer[2], do (Actions)
-
Events