Special Effect for One player

sentrywiz

New Member
Reaction score
25
Is this showing or creating? I don't really can say how can only player see the effect and another not to. Even in JASS, this possible?
 

Jedi

New Member
Reaction score
63
Trigger:
  • n
    • Events
    • Conditions
    • Actions
      • Set Path = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • Custom script: if GetLocalPlayer() != GetTriggerPlayer() then
      • Set Path = <Empty String>
      • Custom script: endif
      • Special Effect - Create a special effect at (Center of (Playable map area)) using Path
 

sentrywiz

New Member
Reaction score
25
Trigger:
  • n
    • Events
    • Conditions
    • Actions
      • Set Path = Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
      • Custom script: if GetLocalPlayer() != GetTriggerPlayer() then
      • Set Path = <Empty String>
      • Custom script: endif
      • Special Effect - Create a special effect at (Center of (Playable map area)) using Path

Yea but I am talking about SHOWING an effect to only one player without other players seeing it.
 

sentrywiz

New Member
Reaction score
25
Then READ the trigger again.

I don't GET this:

Trigger:
  • Custom script: if GetLocalPlayer() != GetTriggerPlayer() then


local player Not Equal to Triggering Player? does a local variable in jass prevent other players from SEEING the effect in game?
I'm not a jasser btw, so this is wild guess.
 

Jedi

New Member
Reaction score
63
Okay, first:

Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl

This if the path of thunder clap effect, as you probably now.

JASS:


If local player(take a look at here: http://www.thehelper.net/forums/showthread.php?t=89207) not equal to triggering player change Path string variable.But Path variable is still same for Triggering player.So, for other players, it is something like,

Trigger:
  • Special Effect - Create a special effect at (Center of (Playable map area)) using "Empty String"


but for triggering player,

Trigger:
  • Special Effect - Create a special effect at (Center of (Playable map area)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
the local player is always you.
imagine a game with 3 players, on your computer the local player will be you and not the other 2 guys.
however for the second player the local player variable will be himself and not you. that means this variable is set to a different value for every player in the game.

with this method you are not "showing" the effect only for one player but you are "creating" it only for one player. because on every players computer it will compare whether the local player is the triggering player.
since the triggering player is the same on all computers but the local player is always different the comparison will result "true" only for one player.
 

sentrywiz

New Member
Reaction score
25
Okay, first:

Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl

This if the path of thunder clap effect, as you probably now.

JASS:


If local player(take a look at here: http://www.thehelper.net/forums/showthread.php?t=89207) not equal to triggering player change Path string variable.But Path variable is still same for Triggering player.So, for other players, it is something like,

Trigger:
  • Special Effect - Create a special effect at (Center of (Playable map area)) using "Empty String"


but for triggering player,

Trigger:
  • Special Effect - Create a special effect at (Center of (Playable map area)) using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl

Gotcha. This creates effect for the one player.

However I still think there is no way to hide a special effect from other players and only happen for one player and only that player to see it. In game of course
 

Komaqtion

You can change this now in User CP.
Reaction score
469
This creates an effect for EVERY player, but only the specified player (In this case the triggering player) actually has a path for the effect, meaning that it will only show the effect for the triggering player ;)
 

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62
>Koma your can desync if is the first time that the string is used
So how do you use it properly again? You should use global strings?
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Nah, you use what Laiev posted:
JASS:
function AddSpecialEffectForPlayer takes string sfxpath, real x, real y, player p returns effect
    local string path = sfxpath
    
    if GetLocalPlayer() != p then
        set path = ""
    endif
    
    return AddSpecialEffect( path, x, y )
endfunction


The only difference is that in mine you set the path to "" first, and if local player is the one you want, you set it to the path, but Laiev's one does it the other way around, so it sets it to the path first, and if local player isn't the one you want, it sets it to "" instead ;)
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Well, it's only with local player stuff, nothing to worry too much about...


And I don't really know why it happens, or when :S XD
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
when a string is used for the first time it creates a handle and is saved.
and when any player got a different number of handles then others do it will desync.

if Komaqtion's trigger the string used for the special effect (given the case that this special effect string hasnt been used in the game already) is only set for the local player and thus creates its handle only for the local player.
in Laiev's trigger the string and its handle is created for all players but for all but the local player the string is overwritten with "".
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top