How do you make a special effect only a certain player can see?

blooman

New Member
Reaction score
16
well im noob but...
Dont think you can
the only way i can think of is to black out the area where the special effect is going to be for the other players but not for the person
and create it
But i might be wrongXD
 

Dirac

22710180
Reaction score
147
Try making an invisible dummy owned by the player you want the effect to see and attaching the effect to it (use vexorian's dummy which provides the origin and chest attachment points), if dosnt work then i have no idea
 

Romek

Super Moderator
Reaction score
963
Trigger:
  • set SomePlayer = <The Player>
    • set SomeString = <The Path of the Effect>
    • Custom Script: if GetLocalPlayer() != udg_SomePlayer then
    • Custom Script: set udg_SomeString = ""
    • Custom Script: endif
    • Special Effect - Create a Special Effect... Using SomeString as the path...
 

XxShadyxX

I abused the rep system.
Reaction score
81
Romek, Will you give me a example one. Cuz I cant really understand your code. Can you put in the variable and show the whole trigger thank you!
 

Romek

Super Moderator
Reaction score
963
Trigger:
  • Actions
    • Set ModelPath = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
    • Set ThePlayer = Player 1 (Red)
    • Custom script: if GetLocalPlayer() != udg_ThePlayer then
    • Custom script: set udg_ModelPath = ""
    • Custom script: endif
    • Special Effect - Create a special effect at (Center of (Playable map area)) using ModelPath

ThePlayer is a player variable. It is the player you want to display the effect to.
ModelPath is the path of the effect. I can't seem to find a way to get the nice drop down list of models, though it's possible I've missed it. If anything, you'll just need to copy and paste. :)
 

XxShadyxX

I abused the rep system.
Reaction score
81
OK this is exactly what I'm trying to do. I'm making a party system and I want when your in a party there is a Special effect overthe head of every person in your party and can only be see by that player. How do I do this?

Edit: Thank you Romek Nevermined. Your a life save :}
 

Romek

Super Moderator
Reaction score
963
> The effect must not be in the 'if'?, if not it will display to every player
Wut?

> Thank you Romek Nevermined. Your a life save :}
:)
 

xxxtrickyxxx

(o Y o)
Reaction score
64
this is what i use for changing transparency of a unit for certain players, as well as making certain players view a unit as one color, and another color for the rest. this does work and does not dysnc. :) just be careful what you use for local players though. romeks snip isnt quite right though. ^_^ anything after the endif will no longer have local player. I am pretty sure he meant to use ==.

heres an example of a function i made using local player that will change the terrain fog for just one player when called.

JASS:
function NightVisiontForPlayer takes player whichPlayer returns nothing
    if ( GetLocalPlayer() == whichPlayer ) then
        call SetTerrainFogExBJ( 0, 0.00, 7500.00, 1.00, 0.00, 0.00, 0.00 )
    endif
endfunction
 

XxShadyxX

I abused the rep system.
Reaction score
81
I don't know anything about jass. Can you create a trigger for me?
Using my discription above.
I want when your in a "party" Everyone in your party has a special effect over their head that can only be seen by ppl in the party. Can you give me the code for this?
 

xxxtrickyxxx

(o Y o)
Reaction score
64
To be honest, I have no idea if this following code will work since I am currently working on something in editor myself, but maybe something like this:

Trigger:
  • Player Group - Pick every player in partyOne and do (Actions)
    • Loop - Actions
      • Set pickedPlayer = (Picked player)
      • Custom script: if GetLocalPlayer() == udg_pickedPlayer then
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Player((Integer A))) is in partyOne) Equal to True
            • Then - Actions
              • Special Effect - Create a special effect attached to the overhead of playerUnit[(Integer A)] using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
            • Else - Actions
      • Custom script: endif


Picks everyone in the partyOne group and runs a 1-12 loop for each player in the group and creates a special effect on the unit of the player in the player 1-12 loop. If that player is in the partyOne group, it will create a special effect on the unit. The unit in this case is defiend as a unit array playerUnit[].
 
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