• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] AOE Pause

Status
Not open for further replies.
Level 9
Joined
Jan 23, 2008
Messages
384
  • My Spell
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Blizzard
    • Actions
      • Unit - Create 1 Dummy for Neutral Passive at (Target point of ability being cast) facing Default building facing degrees
      • Unit - Order (Last created unit) to Orc Tauren Chieftain - War Stomp
This will make your ability go smooth ! :thumbs_up:
Dummy <= a dummy unit that has its scaling value 0 (use SHIFT + ENTER when entering the 0 value), and needs to have 0 movement speed, no attack and the locust ability ! :wink:
Neutral Passive because if its owned by you it will change your food capacity ... or you can make dummy's food cost 0

I cannot be more exact than that ! it should work in first try ! good luck !!!
 
Level 23
Joined
Oct 18, 2008
Messages
937
  • My Spell
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Blizzard
    • Actions
      • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Target point of ability being cast) facing Default building facing degrees
      • Unit - Order (Last created unit) to Orc Tauren Chieftain - War Stomp
This will make your ability go smooth ! :thumbs_up:
Dummy <= a dummy unit that has its scaling value 0 (use SHIFT + ENTER when entering the 0 value), and needs to have 0 movement speed, no attack and the locust ability ! :wink:

I cannot be more exact than that ! it should work in first try ! good luck !!!

u can just write "asdfg" on the model field :p
 
1) You should make the point were you summon the unit a Variable, and destroy it when the it has stunned all the units.

2)You should add a Expiration Timer

3) To spare room, you should just add the abillity you want to stun the units with (Like no-damage warstomp) to the dummy, so you in a big game don't have to create more than 1 dummy unit

Like This:

  • Your Trigger
    • Events
      • Unit - A unit Begins channeling an abillity
    • Conditions
      • (Abillity being cast) Equal to Blizzard
    • Actions
      • Set Loc = (Target point of abillity being Cast)
      • Unit - Create 1 [Dummy Unit] for (Owner of(Casting Unit)) at Loc Facing Defaut Facing degrees.
      • Unit - Add a 1 second Generic expiration timer to (Last created unit)
      • Unit - Add [No-Damage Warstomp] to (Last created unit)
      • Unit - Order (last Created Unit) to Orc Tauren Chieftain - War Stomp
      • Custom Script: call RemoveLocation(udg_loc)
This would remove all caused lag :)
 
Level 19
Joined
Oct 1, 2008
Messages
1,667
OK, thanks!
But there's one minor problem, blizzard is a channeled spell (So is the one I am trying to make), yet if the caster walks away, the spell keeps going, how can I fix this and also make units entering the area become stunned too. Also, is Custom Script: call RemoveLocation(udg_loc) necessary?
+Rep to everyone who helped (or tried to, yes even cHeRoL)
Thanks!
 
Level 23
Joined
Oct 18, 2008
Messages
937
  • Events
    • Unit - A unit Stops casting an ability
  • Conditions
    • (Ability being cast) Equal to [ability]
  • Actions
    • Unit Group - Pick every unit in (Units within [aoe] of (Target point of ability being cast)) and do (Actions)
      • Loop - Actions
        • Unit - Remove [buff] buff from (Picked unit)
if this doesnt work u need to store the target point in a variable
 
Level 23
Joined
Oct 18, 2008
Messages
937
give it a different stunbuff.

EDIT: if there are many players and they cast at the same area that would bugg D:

u could do a dummy unit at the target when its casted and when he stops casting, kill the dummy and if there arent other dummies in aoe unpause the units.

except u would need to unpause them all then pause the ones at the other dummies' aoe again @_@
 
Level 5
Joined
Nov 14, 2007
Messages
161
can u just select any unit with the blizzard buff and pause that unit, else unpause.


  • Blizzard effects
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff Blizzard) Equal to True
        • Then - Actions
          • Unit - Pause (Triggering unit)
        • Else - Actions
          • Unit - Unpause (Triggering unit)
maybe?
 
Last edited:
Level 6
Joined
Sep 5, 2007
Messages
264
Upon casting, create your dummy as you have... Add the caster to a group (along with the dummy), every so often (0.1 seconds, etc.) scan through this group, recasting the stun. Upon the caster stopping channelling, remove him from the group, remove dummy from the group and from the world.

The "UNIT_STOPS_CASTING" trigger part should work. Put in a temporary "text to all players" message in there to make sure.

Hope this has proven enlightening... :thumbs_up:
 
Level 19
Joined
Oct 1, 2008
Messages
1,667
YO_MA_MA's idea didnt work as no unit actually triggers it, its a periodical event... I think somehow altering this may make it work, but I suck with triggers..... I think changing triggering unit to any unit (Unit Group?) may work...
Lord_BoNes, could you post some actual triggers up, because, as I said, I suck at them...

+rep to both of you
 
Level 5
Joined
Jan 6, 2006
Messages
106
Indeed there is a way to create your intended "pausing" effect instead of stunning using GUI.

Create a unit group for storing the paused units. Upon casting of the ability (Event: A unit begins casting an ability), pick all enemies in the target area and "Pause unit","Set Unit Animation Speed to 0" and "Add unit into Unit Group".

Then, create a periodic trigger which picks all units in the casting area which are NOT in the unit group and do the same. Also, in the same trigger, pick all DEAD units in the unit group and "Unpause Unit", "Set Unit Animation Speed to 100%" and "Remove unit from unit group".

When the caster stops casting the ability, pick all units in the unit group and "Unpause Unit", "Set Unit Animation Speed to 100%" and "Remove unit from unit group".

EDIT: Don't forget to disable your periodic trigger. :)

PS: I'm not using "stomp" here as multiple stomps every 0.1 seconds will definitely result in some performance issues.
 
Level 5
Joined
Nov 14, 2007
Messages
161
YO_MA_MA's idea didnt work as no unit actually triggers it, its a periodical event... I think somehow altering this may make it work, but I suck with triggers..... I think changing triggering unit to any unit (Unit Group?) may work...
Lord_BoNes, could you post some actual triggers up, because, as I said, I suck at them...

+rep to both of you

woops, yeah in my head i picked all units on playable field matching unit has buff.. then used picked unit pause/unpause lol.... and maybe keep it disabled until it's cast the first time then have another trigger turn it on, then it wont be running if that hero isnt picked and never use that skill etc.

EDIT: im at school atm, when i get home and if i remember ill write up what i was actually thinking, you have the idea though. good luck
 
Level 5
Joined
Jan 6, 2006
Messages
106
Well, I just noticed something while attempting to create your spell using GUI entirely. Paused units CANNOT be damaged by Blizzard, Rain of Fire, Permanent Immolation or similar duration damage spells. I'm afraid that your spell is more complicated than imagined and I may have to use JASS to create it.
 
Level 6
Joined
Sep 5, 2007
Messages
264
@Wereguy: I've just got my Wc3 working again (after over a month offline, had to d/l both discs as my images went bung).
Give me the stats of your ability, including gains/loses at level up. IE: AoE, damage (if any), stun duration after finished channeling, mana cost, number of levels, etc. I'll work on a trigger for you, it'll be in JASS though (I have a hatred of GUI that I can't describe). :thumbs_up:
 
Level 5
Joined
Jan 6, 2006
Messages
106
why do u need to pause the units?

just stunning and stopping animation should work fine

Stun durations are not variable and cannot be dispelled, even by the means of triggers. If we want to use stun effects to generate an illusion of "paused units" it will take A LOT of war stomps to achieve that, and they have to be timed, like, once every 0.1 seconds, which may result in disastrous performance issues.

Anyway, sine Bones has started on the actual script, I think it's better to wait and let him do his job :).
 
Level 19
Joined
Oct 1, 2008
Messages
1,667
oh ok, though I would prefer GUI, heres the specs
350 AOE
10s Channel with a stun/pause running, NO stun after channeling is finished
No mana cost
1 level (its a normal ability, not hero)

That should be it...
 
Level 6
Joined
Sep 5, 2007
Messages
264
I've been playing around with the idea. I can understand fully now why this is a difficult thing to do...
I've had a little luck, but no major breakthroughs. :thumbs_down:

I've found that "cluster rockets" can be used in quick refreshes, to continually stun units.
But, there is an issue, if the duration of "cluster rockets" is 1 second then every second the units under the effect will briefly unstun. :confused:

I have a few things that I need to do, but I'll keep digging at it. I'm sure that I'll find a way to do it. :thumbs_up:
 
Level 6
Joined
Sep 5, 2007
Messages
264
Wow, this is proving pretty difficult eh?
I'm not sure if you're being sarcastic with that, or what... :confused:
There's probably something simple that I'm missing here... :hohum:

I'm also pretty distracted. I just got my Wc3 working again, I just got my copy of Redalert 3 AND I have other sh*t I need to do... :thumbs_down:

I have been chipping away at it though. I'll probably have an answer by tomorrow, late-morning early arvo. Sorry if this isn't quick enough...

I'll try to keep you guys informed of my findings until then, so you can try out your own ways of doing it, but that's about all I can do. :thumbs_up:
 
Level 23
Joined
Oct 18, 2008
Messages
937
Stun durations are not variable and cannot be dispelled, even by the means of triggers. If we want to use stun effects to generate an illusion of "paused units" it will take A LOT of war stomps to achieve that, and they have to be timed, like, once every 0.1 seconds, which may result in disastrous performance issues.

Anyway, sine Bones has started on the actual script, I think it's better to wait and let him do his job :).

wtf u cant remove stun buff? o_O
 
Level 5
Joined
Nov 14, 2007
Messages
161
So what i was thinking in my head (havent tested) is something like this:
2 triggers

this one is initially on, and just keeps the blizzard pauser from going off if no one picks a guy that uses the blizzard skill, can improve performance until blizzard is cast.
  • initially has the periodic event off
    • Events
      • Unit - A unit Starts the effect of an ability
      • (Ability being cast) Equal to Blizzard
    • Actions
      • Trigger - Turn on Blizzard Pause Skill Initially OFF <gen>
      • Trigger - Turn off (This trigger)
the other one:
  • Blizzard Pause Skill Initially OFF
    • Events
      • Time - Every 0.75 seconds of game time
    • Conditions
    • Actions
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) has buff Blizzard) Equal to True
            • Then - Actions
              • Unit - Pause (Picked unit)
            • Else - Actions
              • Unit - Unpause (Picked unit)
is the checking of every unit. i havent tested and if there are ALOT of units, this should start to lag, especially on slower computers.

**i forgot if "picked unit" leaks, i dont think it does but if so, just set it as a variable before the if/then and inside the loop.

just make sure the buff time for blizzard is like 1 second, or something just higher than the periodic timer so they dont move for a millisecond in between the loops.
 
Level 6
Joined
Sep 5, 2007
Messages
264
Here's what I've come up with so far... It doesn't stun units entering the area after the initial cast, I'm working on that. I just thought that this might help other people come up with more ideas. :thumbs_up:
 

Attachments

  • channelled AoE stun.w3x
    23 KB · Views: 33
Level 5
Joined
Jan 6, 2006
Messages
106
OK, done, just finished it.

Here, wereguy2, is your multi-instance capable "Pausing Blizzard" spell according to your specs. I wrote everything using JASS and used Kattana's Local Handle Vars though, as it is almost impossible to write all these out using standard GUI triggers.

Also, I've added a freezing SFX for the freeze and an anti-bug function for the condition where a caster casting the spell gets frozen by another caster of the spell.

Hope this helps. :)
 

Attachments

  • Pausing Blizzard.w3x
    19.1 KB · Views: 55
Level 19
Joined
Oct 1, 2008
Messages
1,667
OK, after testing both of your spells, I would have to say bountygiver's was better.
But, as I am a complete retard when it comes to JASS, could you put it into my map yourself?
I need this because The spell t is for isnt actually blizzard, it is just based on it. Tell me if you will help, Thanks!
 
Level 25
Joined
Jun 5, 2008
Messages
2,572
How about creating a dummy unit with "time stop" aura during the spell and delete it if the spell is finished or stoped.
Then check for units with it's buff every x seconds,pause them and add them to unit group, if the spell is finished or interrupted just remove the unit,unpause all units in unit group.
Setting their animation speed can also be inserted in the trigger.
Hope this helped...
 
Status
Not open for further replies.
Top