*Sigh* What's wrong with this trigger?

HalosNTariff

New Member
Reaction score
13
Hi, I've made a trigger to give with an ability but it doesn't work fully:

Code:
Frostwave buff
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Set Frostwavespire = Frostwave 
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Frostwavespire) Equal to True)) and do (Actions)
            Loop - Actions
                Unit - Set (Picked unit) movement speed to 0.00
                Wait 20.00 seconds
                Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))

It should freeze every unit with the frostwave buff (by reducing its movement speed to 0), wait 20 seconds and then unfreeze them, returning their movement speed to normal. It freezes them fine, however after the 20 seconds is up the buff disappears but the units remain immobile.

What have I messed up on?

Thanks in advance.
 

Carl-Fredrik

New Member
Reaction score
51
Hi, I've made a trigger to give with an ability but it doesn't work fully:

Code:
Frostwave buff
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Set Frostwavespire = Frostwave 
        Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Frostwavespire) Equal to True)) and do (Actions)
            Loop - Actions
                Unit - Set (Picked unit) movement speed to 0.00
                Wait 20.00 seconds
                Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))

It should freeze every unit with the frostwave buff (by reducing its movement speed to 0), wait 20 seconds and then unfreeze them, returning their movement speed to normal. It freezes them fine, however after the 20 seconds is up the buff disappears but the units remain immobile.

What have I messed up on?

Thanks in advance.

Hrrm... all I can say is that I never use the "Set Movement Speed" action because it never works for me, or well, at least it never did when I used it. Try using abilities instead.

Edit: Oh! NEVER use Waits in loops! NEVER! :p So do the following...

Set the group to a variable
Pick the group and set movementspeed to 0 (I prefer using abilities, I hate that action...)
Wait 20 seconds
Pic the group and set movementspeed back
 

Faust

You can change this now in User CP.
Reaction score
123
Are you not familiar with GUI?
You start slowing them each second, and run a 20 seconds timer to unfreeze them.
But that 20 seconds get overridden each 1 seconds. The wait never finishes, therefore the remaining actions never happen.

If you want it MUI, learn JASS. A callback would easily solve your problem.
 

Carl-Fredrik

New Member
Reaction score
51
Are you not familiar with GUI?
You start slowing them each second, and run a 20 seconds timer to unfreeze them.
But that 20 seconds get overridden each 1 seconds. The wait never finishes, therefore the remaining actions never happen.

If you want it MUI, learn JASS. A callback would easily solve your problem.

lol... why did I miss that? :p
+Rep man ^^

I still think u should look over what I said though :)
 

Dmshu

New Member
Reaction score
9
You have a 20 second wait inside of the pick every unit and do group.

1. pick unit one
2. lower move speed
3. wait 20 seconds
4. unfreeze unit 1
5. pick unit 2
6. ect... ect... assuming the wait didn't screw the global variables in your loop up

No need to trigger spells blizzard already gave you.

I would suggest in the pick unit group to make a dummy caster and cast an edited version of the default "Slow" spell the human sorceress has with a 20 second duration on each unit instead.

Edit: Or frost nova with 0 damage and 100% slow... whatever works...
 

HydraRancher

Truth begins in lies
Reaction score
197
Picked Unit is erased in waits...
you have to:
Code:
pick them
   degrade movement
wait 20 seconds
pick them
   return movement
 

HalosNTariff

New Member
Reaction score
13
That makes sense, thank you everyone, I can't use JASS soI guess I'll just use negative unholy aura or some such.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top