• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

Special Effects

Status
Not open for further replies.
Btw, that desyncs. =)

Use this instead:
  • Sfx
    • Events
    • Conditions
    • Actions
      • Set StringVar = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • Custom script: if GetLocalPlayer() != GetTriggerPlayer() then
      • Set StringVar = <Empty String>
      • Custom script: endif
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using StringVar
  • ---------- Don't type out <Empty String>, just leave the string blank when you set the variable -------------------
StringVar: Set this to the path of the special effect. Just copy and paste from the special effect creation action thing.
Change "GetTriggerPlayer()" to whatever player you want. If you want a specific player, change it to "Player(#)". Or as Pharaoh said, GetOwningPlayer(UNIT)
Change "Triggering Unit" to whichever unit you want to attach it to.
JASS:
Player(0)       //Player 1 (red)
Player(1)       //Player 2 (blue)
Player(2)       //Player 3 (teal)
Player(3)       //Player 4 (purple)
Player(4)       //etc...
Player(5)
Player(7)
Player(8)
Player(9)
Player(10)
Player(11)
Player(12)
Player(13)
Player(14)
Player(15)

Anyway, creating handles (such as effects/units etc.) causes desyncs in local player blocks. And the reason why I did it in the weird manor with a string variable is so that the string table stays synced, since using a string for the first time can cause a desync as well in local player blocks as well.
 
those triggers will allow all players to see the effect though.

if you only want one player to actually see the effect,
you need to create a dummy unit that has both permanent invis and locust.
1:Set the cast time for permanent invis to 0.
2:make your dummy unit's model file that of the special effect you would like.
3:make sure you give him the correct animation names if needed.

now make a trigger that creates this dummy unit at the position of your desired unit (that you want the effect on). make sure you define him with a global var.
Set the trigger to remove him after the effects animation time.

EX.
  • Actions
    • Unit - create 1 dummy for (owner of (YourHero)) at (position of (YourHero)) facing default building degrees
    • Set (EffectDummy) = last created unit
    • Wait (Howerver long your animation time is) seconds
    • Remove EffectDummy from the game
Because the effect is actually a unit that is invisable, only you (or allies with shared vision) will see it. I hope that helps :/
 
Status
Not open for further replies.
Back
Top