I got a trigger for an ability that shows the range of the units truesight. It works by creating dummys in a X big circle around the unit. But the dummys can be seen by everyone, and that might be kinda annoying. So i decided to hide the dummys for everyone but the triggering player. And since there is no way to do it in GUI, I took help from a friend with jass skills.
The trigger now looks like this.
Everything works perfect when I'm testing the map, but when there are other players in the game they suddenly get kicked by some reason... My friend says it's desync because the getlocalplayer part blabla, and that there's no other way to hide units for players X without causing desync.
Is it true? I dunno shit about jass, so I'm asking u guys.
Here are 2 other triggers that are needed to make the ability work.
The trigger now looks like this.
Code:
Truesight Range
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to True Sight Range
Actions
Custom script: local integer a=1
Trigger - Turn on Truesight Follow <gen>
Custom script: loop
Custom script: exitwhen a>12
Set Point1 = (Position of (Triggering unit))
Custom script: set udg_Point2 = PolarProjectionBJ(udg_Point1, 850.00, ( 30.00 * I2R(a) ))
Unit - Create 1 Dummy for (Owner of (Triggering unit)) at Point2 facing Point1
Custom script: set udg_TruesightInt=a
Set Dummy[TruesightInt] = (Last created unit)
Unit - Hide (Last created unit)
Custom script: if GetLocalPlayer()==GetTriggerPlayer() then
Unit - Unhide (Last created unit)
Custom script: endif
Unit - Move (Last created unit) instantly to Point2, facing Point1
Unit Group - Add (Last created unit) to DummyGroup
Unit - Turn collision for (Last created unit) Off
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Set Truesight_unit = (Triggering unit)
Custom script: call RemoveLocation (udg_Point2)
Custom script: call RemoveLocation (udg_Point1)
Custom script: set a=a+1
Custom script: endloop
Everything works perfect when I'm testing the map, but when there are other players in the game they suddenly get kicked by some reason... My friend says it's desync because the getlocalplayer part blabla, and that there's no other way to hide units for players X without causing desync.
Is it true? I dunno shit about jass, so I'm asking u guys.
Here are 2 other triggers that are needed to make the ability work.
Code:
Dummygroup remove
Events
Unit - A unit Dies
Conditions
(Triggering unit) Equal to Dummy[(Integer A)]
Actions
Trigger - Turn off Truesight Follow <gen>
For each (Integer A) from 1 to 12, do (Actions)
Loop - Actions
Unit Group - Remove (Triggering unit) from DummyGroup
Code:
Events
Time - Every 0.05 seconds of game time