• Check out the results of the Techtree Contest #19!
  • 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.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Does Adding special effects desynch?

Status
Not open for further replies.
Level 15
Joined
Aug 7, 2013
Messages
1,342
Hi,

Will either of these local player blocks cause a desynch?

I would think not, but would just like to verify.

JASS:
		if GetLocalPlayer() == players[pid] then
			set goalEffect = AddSpecialEffectTarget("Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl", u, "head")
		endif

and

JASS:
		if GetLocalPlayer() == players[pid] then
			call DestroyEffect(goalEffect)
		endif

Many thanks!
 
You need to do something like this

JASS:
local string s = "effect model"
if GetLocalPlayer() != yourPlayer then
    set s = ""
endif
call AddSpecialEffect(s, ...)
 
Many thanks for the solution and explanations.

This works.

I was thinking it was funny, because it created an object that had to later be deleted.

So basically any call that creates an object (an agent) can't be done in a local block if that is my take, even if it's only visual.
 
you can create objects(lightnings and texttags are proof of this), but not agents, because they are reference counted, and if one ref counter is not synced throughout the players, your game desyncs, and Warcraft 3's way of dealing with desyncs is just to crash the desynced player compared to the host(most likely)
 
Status
Not open for further replies.
Back
Top