• 🏆 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!

Mass Blink?

Status
Not open for further replies.
Level 2
Joined
Oct 15, 2008
Messages
16
current effect:
12 units selected, i click the blink button click on the destination point 1 unit blinks to the destination point
what i want to do:
i click the blink button select the destination point, 12 units blink to the destination point
i tried a lot of crap allready but it's allways the same =)

1 unit blinks to the target all the other units keep standing around
 
Level 6
Joined
Jun 20, 2005
Messages
108
That's tricky I think..

you could add a selection trigger to verify if you have more than one of those creatures selected and add them to a unit group.

than when you can the spell (another trigger) you orger all units in that group to do the same.
 
Level 3
Joined
Apr 24, 2005
Messages
61
  • Events
    • Unit starts the effects of an ability
  • Conditions
    • Ability being cast equal to Mass blink
  • Actions
    • Pick all units within AoE of casting unit and do actions:
      • Move picked unit instantly to target point of ability being cast
Mess around some with that, it gives results though it gives the units weird positions.
 
Level 2
Joined
Oct 15, 2008
Messages
16
  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • Ability being cast equal to Blink
  • Actions
    • Set bpoint2 = (Target point of ability being cast)
    • Unit Group - Pick every unit in (Units currently selected by (Matching player)) and do (Unit - Order (Picked unit) to Night Elf Warden - Blink bpoint2)
  • Custom script: call RemoveLocation(udg_bpoint2)
does not work 8[
 
  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • Ability being cast equal to Blink
  • Actions
    • Set bpoint2 = (Target point of ability being cast)
    • Unit Group - Pick every unit in (Units currently selected by (Matching player)) and do (Unit - Order (Picked unit) to Night Elf Warden - Blink bpoint2)
  • Custom script: call RemoveLocation(udg_bpoint2)
does not work 8[
Try mine.
 
Level 6
Joined
Jan 27, 2007
Messages
208
Event - Start the effect an ability
Condition - Ability being cast equal to Blink
Action
Set targetpoint = position of target point of ability being cast
Set blinkunitgroup = unit near 250 of triggering unit matching unit is friendly
Pick every unit in blinkunitgroup
Move picked unit instantly to target point
Custom script : RemoveLocation(udg_targetpoint)
Custom script : DestroyGroup(udg_blinkunitgroup)
 
Level 8
Joined
Nov 9, 2008
Messages
502
You could use mass teleport and set the effects and timing to look like blink.
Maybe use channel as base and give unit disabled spellbook with mass teleport then when unit casts channel create a friendly building at point of target so he is able to teleport there.

Although that would randomize the units who are teleported if there are more than x units around the caster.
 
Level 2
Joined
Oct 15, 2008
Messages
16
  • Event - Start the effect an ability
  • Conditions
    • Ability being cast equal to Blink
  • Actions
    • Set targetpoint = position of target point of ability being cast
    • Set blinkunitgroup = unit near 250 of triggering unit matching unit is friendly
    • Pick every unit in blinkunitgroup
      • Move picked unit instantly to target point
    • Custom script : RemoveLocation(udg_targetpoint)
    • Custom script : DestroyGroup(udg_blinkunitgroup)
this will maybe work but would not be affected by my cooldown
 
Level 2
Joined
Oct 15, 2008
Messages
16
You could use mass teleport and set the effects and timing to look like blink.
Maybe use channel as base and give unit disabled spellbook with mass teleport then when unit casts channel create a friendly building at point of target so he is able to teleport there.

Although that would randomize the units who are teleported if there are more than x units around the caster.

mass teleport has the same problem as blink
it will only be casted by 1 unit ;)
 
Level 2
Joined
Oct 15, 2008
Messages
16
I am not at home.
Its not jass.

If you don't know what I mean I think you should search :p
What you mean is this:
1 Event - A unit begins casting of an ability
done
2 Get the target location
done
and this is my problem ^^:
is my selection ok <: ?
3 Get all units selected by that player
is my order ok <: ?
4 Order all units to blink to the target point, which are not the triggering unit.
 
Level 5
Joined
May 21, 2006
Messages
174
I have this ability in one of my maps, although it only affects one unit-type, you might want to fiddle around with it a bit:
  • Nether Walk
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Nether Walk (agi misc)
    • Actions
      • Custom script: local effect e
      • Set tempPoint = (Target point of ability being cast)
      • Set tempPoint2 = (Position of (Casting unit))
      • -------- ---------------------------------------------------------------------------------------------------- --------
      • For each (Integer A) from 1 to 9, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Nether Walk (agi misc) for (Casting unit)) Equal to (Integer A)
            • Then - Actions
              • Special Effect - Create a special effect attached to the overhead of (Casting unit) using Abilities\Spells\NightElf\Starfall\StarfallCaster.mdl
              • Custom script: set e=GetLastCreatedEffectBJ()
              • Set tempGroup = (Units within ((Real((Integer A))) x 100.00) of tempPoint2 matching (((Owner of (Matching unit)) Equal to (Owner of (Casting unit))) and (((Unit-type of (Matching unit)) Equal to Archer (Used)) or ((Unit-type of (Matching unit)) Equal to Archer (Mercenary) (B
              • Unit Group - Pick every unit in tempGroup and do (Actions)
                • Loop - Actions
                  • Unit - Move (Picked unit) instantly to tempPoint
              • Wait 3.50 seconds
              • Custom script: set udg_tempEffect=e
              • Special Effect - Destroy tempEffect
            • Else - Actions
      • -------- ---------------------------------------------------------------------------------------------------- --------
      • Custom script: set e=null
      • Custom script: set udg_tempEffect=null
      • Custom script: call DestroyGroup( udg_tempGroup )
      • Custom script: call RemoveLocation( udg_tempPoint )
      • Custom script: call RemoveLocation( udg_tempPoint2 )
 
What you mean is this:
1 Event - A unit begins casting of an ability
done
2 Get the target location
done
and this is my problem ^^:
is my selection ok <: ?
3 Get all units selected by that player
is my order ok <: ?
4 Order all units to blink to the target point, which are not the triggering unit.
Ok here we go:

(this is out of the head)

  • Event: A unit begins casting an ability
  • Condition: Ability being cast equal to Blink
  • Action:
  • Set Tmp_Loc = Target Point Of(Ability being cast)
  • Set Tmp_UnitGroup = GetAllUnitsSelectedByPlayer(GetOwningPlayer(GetTriggerUnit))
  • Unitgroup - Pick every unit in Tmp_UnitGroup and do (multiple Actions)
  • If then else do (multiple actions)
  • IF (Level of Blink for Picked Unit not equal to 0
  • THEN
  • Unit - Order Unit to Nightelf - Warden - Blink to Tmp_Loc
  • ELSE
  • Custom Script: call RemoveLocation(udg_Tmp_Loc)
  • Custom Script: call DestroyGroup(udg_Tmp_UnitGroup)
 
Level 2
Joined
Oct 15, 2008
Messages
16
Ok here we go:

(this is out of the head)

  • Event: A unit begins casting an ability
  • Condition: Ability being cast equal to Blink
  • Action:
  • Set Tmp_Loc = Target Point Of(Ability being cast)
  • Set Tmp_UnitGroup = GetAllUnitsSelectedByPlayer(GetOwningPlayer(GetTriggerUnit))
  • Unitgroup - Pick every unit in Tmp_UnitGroup and do (multiple Actions)
  • If then else do (multiple actions)
  • IF (Level of Blink for Picked Unit not equal to 0
  • THEN
  • Unit - Order Unit to Nightelf - Warden - Blink to Tmp_Loc
  • ELSE
  • Custom Script: call RemoveLocation(udg_Tmp_Loc)
  • Custom Script: call DestroyGroup(udg_Tmp_UnitGroup)


Thank you Very much!

  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • Ability being cast equal to Blink
  • Actions
    • Set bpoint2 = (Target point of ability being cast)
    • Set tmp_group = (Units currently selected by (Owner of (Triggering unit)))
    • Unit Group - Pick every unit in tmp_group and do (Actions)
      • Loop - Actions
        • Unit - Order (Picked unit) to Night Elf Warden - Blink bpoint2
    • Custom script: call RemoveLocation(udg_bpoint2)
    • Custom script: call DestroyGroup(udg_tmp_group)
Who could imagine that adding only one var would change the damn thing to work

Problem Perfectly solved :>
 
Thank you Very much!

  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • Ability being cast equal to Blink
  • Actions
    • Set bpoint2 = (Target point of ability being cast)
    • Set tmp_group = (Units currently selected by (Owner of (Triggering unit)))
    • Unit Group - Pick every unit in tmp_group and do (Actions)
      • Loop - Actions
        • Unit - Order (Picked unit) to Night Elf Warden - Blink bpoint2
    • Custom script: call RemoveLocation(udg_bpoint2)
    • Custom script: call DestroyGroup(udg_tmp_group)
Who could imagine that adding only one var would change the damn thing to work

Problem Perfectly solved :>
Glad that my solution worked. =)

PS: Psst, click me
 
Level 11
Joined
May 31, 2008
Messages
698
I think this should work as well (just for another way to do it :p):

  • Mass Blink
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blink
    • Actions
      • Set Temp_Point[0] = (Target point of ability being cast)
      • Set Temp_UnitGroup[0] = (Units currently selected by (Owner of (Triggering unit)))
      • Unit Group - Pick every unit in Temp_UnitGroup[0] and do (Actions)
        • Loop - Actions
          • Set Temp_Point[1] = (Position of (Picked unit))
          • Special Effect - Create a special effect at Temp_Point[1] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move (Picked unit) instantly to Temp_Point[0]
          • Special Effect - Create a special effect at Temp_Point[0] using Abilities\Spells\NightElf\Blink\BlinkTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Temp_Point[0])
          • Custom script: call RemoveLocation(udg_Temp_Point[1])
          • Custom script: call DestroyGroup(udg_Temp_UnitGroup[0])
Pretty sure its leak free too.

And sorry if its a bit off topic, but smiddle what are you talking about with moving the unit to X, Y??
 
Last edited:
I think this should work as well (just for another way to do it :p):

  • Mass Blink
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Blink
    • Actions
      • Set Temp_Point[0] = (Target point of ability being cast)
      • Set Temp_UnitGroup[0] = (Units currently selected by (Owner of (Triggering unit)))
      • Unit Group - Pick every unit in Temp_UnitGroup[0] and do (Actions)
        • Loop - Actions
          • Set Temp_Point[1] = (Position of (Picked unit))
          • Special Effect - Create a special effect at Temp_Point[1] using Abilities\Spells\NightElf\Blink\BlinkCaster.mdl
          • Special Effect - Destroy (Last created special effect)
          • Unit - Move (Picked unit) instantly to Temp_Point[0]
          • Special Effect - Create a special effect at Temp_Point[0] using Abilities\Spells\NightElf\Blink\BlinkTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Temp_Point[0])
          • Custom script: call RemoveLocation(udg_Temp_Point[1])
          • Custom script: call DestroyGroup(udg_Temp_UnitGroup[0])
Pretty sure its leak free too.

And sorry if its a bit off topic, but smiddle what are you talking about with moving the unit to X, Y??
Its already solved.
Moving sucks because it does not trigger Cooldown.
It already has been solved.

3 Reasons to not post it here.
 
Level 11
Joined
May 31, 2008
Messages
698
Its already solved.
Moving sucks because it does not trigger Cooldown.
It already has been solved.

3 Reasons to not post it here.

Gee Wallackers Anachron! You dont have to be so mean and rude. And thats only 2 reasons smart one. Besides i was just puttin another possibility, didnt say it was the best way... And i dont know if anybody even specified if ALL the units blinking actually had the "Mass Blink" ability. The original post said that a unit uses blink and it blinks all selected units to the target, i believe. That does not necesarily mean that all of the units that are being selected have blink. And fyi you can make a kind of artificial cooldown by disabling the ability for X seconds and then enabling it again (via triggers).
 
12 units selected, i click the blink button click on the destination point 1 unit blinks to the destination point
what i want to do:
i click the blink button select the destination point, 12 units blink to the destination point
This told me that he wants to make all units use blink to the target location.
Anyway, I am sorry if it sounded rude or harrasish in any way.

Goodday. And btw, keep things like this simple. Making an cooldown system would actually be to much for such a small thing.
 
Status
Not open for further replies.
Top