Add local special effect on target

Leazy

You can change this now in User CP.
Reaction score
50
Hello! I try to add a local special effect on a unit, but it wont show up. This is how I did:

Trigger:
  • Select Target
    • Events
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • ((Target unit of issued order) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
      • (Target unit of issued order) Not equal to Target[(Player number of (Owner of (Triggering unit)))]
    • Actions
      • Custom script: local string s = ""
      • Set Target[(Player number of (Owner of (Triggering unit)))] = (Target unit of issued order)
      • Custom script: if GetLocalPlayer() ==GetOwningPlayer(GetTriggerUnit()) then
      • Custom script: set s = "Abilities\\Spells\\Other\\Aneu\\AneuTarget.mdl"
      • Custom script: endif
      • Custom script: call AddSpecialEffectTarget("s", GetOrderTargetUnit(), "overhead")
 

Happy

Well-Known Member
Reaction score
71
try another effect...some effects doesnt show up....i had the same problem several times...
 
Reaction score
456
Trigger:
  • Custom script: call AddSpecialEffectTarget("s", GetOrderTargetUnit(), "overhead")

Remove the quatation marks from "s".
 

Leazy

You can change this now in User CP.
Reaction score
50
Got this now:

Trigger:
  • Select Target
    • Events
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • ((Target unit of issued order) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
      • (Target unit of issued order) Not equal to TargetUnit[(Player number of (Owner of (Triggering unit)))]
    • Actions
      • Custom script: local string s = ""
      • Set TargetUnit[(Player number of (Owner of (Triggering unit)))] = (Target unit of issued order)
      • Custom script: if GetLocalPlayer() ==GetOwningPlayer(GetTriggerUnit()) then
      • Custom script: set s = "Abilities\\Spells\\Other\Aneu\\AneuTarget.mdll"
      • Custom script: endif
      • Custom script: call AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")
      • Set TargetUnit_Effect[(Player number of (Owner of (Triggering unit)))] = (Last created special effect)


Can't even turn on the trigger now, expected "endif" etc.
 

Leazy

You can change this now in User CP.
Reaction score
50
Ah, of course! Thanks :) One last question: doesn't seem like the effect is stored into the TargetUnit_Effect variable. When I try to destroy that effect nothing happens (tried several different effects)
 

Trollvottel

never aging title
Reaction score
262
(Last created special effect)
refers to the BJ-function of AddSpecialEffect where the last created effect is stored in a global variable.
You have to save it directly like this:

set udg_TargetUnit_Effect[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))+1] = AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")
 

Leazy

You can change this now in User CP.
Reaction score
50
Ah, I see! Thanks a lot for all the help you guys!

Edit: Why doesn't this work? :O (doesn't remove special effect, tried several different special effects)

Trigger:
  • Select Target
    • Events
      • Unit - A unit Is issued an order targeting an object
    • Conditions
      • ((Target unit of issued order) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
      • (Target unit of issued order) Not equal to TargetUnit[(Player number of (Owner of (Triggering unit)))]
    • Actions
      • Custom script: local string s = ""
      • Special Effect - Destroy TargetUnit_Effect[(Player number of (Owner of (Triggering unit)))]
      • Set TargetUnit[(Player number of (Owner of (Triggering unit)))] = (Target unit of issued order)
      • Custom script: if GetLocalPlayer() ==GetOwningPlayer(GetTriggerUnit()) then
      • Custom script: set s = "Abilities\\Spells\\Other\\Aneu\\AneuTarget.mdl"
      • Custom script: endif
      • Custom script: call AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")
      • Custom script: set udg_TargetUnit_Effect[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))+1] = AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")
 

Dirac

22710180
Reaction score
147
Youre adding the effect twice to the unit...
delete this line.
Trigger:
  • Custom script: call AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")

By setting it to a variable you're already creating that's how cool jass is
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
ya leazy, i think its time you moved on to jass, that trigger is like 60% CS
 

Leazy

You can change this now in User CP.
Reaction score
50
Ah, that's awesome!

Yeah, I know, but I just don't have the time to learn any jass right now as I got much going on. :/
 

Laiev

Hey Listen!!
Reaction score
188
Better you chance it to this:

Trigger:
  • Custom script: local string s = "Abilities\\Spells\\Other\\Aneu\\AneuTarget.mdl"
    • Special Effect - Destroy TargetUnit_Effect[(Player number of (Owner of (Triggering unit)))]
    • Set TargetUnit[(Player number of (Owner of (Triggering unit)))] = (Target unit of issued order)
    • Custom script: if GetLocalPlayer() != GetOwningPlayer(GetTriggerUnit()) then
    • Custom script: set s = ""
    • Custom script: endif
    • Custom script: set udg_TargetUnit_Effect[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))+1] = AddSpecialEffectTarget(s, GetOrderTargetUnit(), "overhead")


Someone in sometime in somewhere at thehelper, said that can cause desync if the "Abilities\\Spells\\Other\\Aneu\\AneuTarget.mdl" was never used before, so you do the inverse :p
 

Leazy

You can change this now in User CP.
Reaction score
50
Ah, thanks for the information m8! :) Changed it right away!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top