Question on sound in the fog of war

Accname

2D-Graphics enthusiast
Reaction score
1,464
Its actually rather simple, there are just a few things you need to keep in mind when working with it.

But unfortunately, if you want something to happen only for a single player you will sometimes not get around using "GetLocalPlayer".
 

MP®

Member
Reaction score
11
But you can just use the custom script for it, right?

Is it easy for you to help me on the way?

I'd like to make a trigger that fires when an ability ("Alarm") is being cast;

First the trigger should pick all units of type hero in range of 2000 of casting unit (with Temp_Group)
Then check for every integer 1 to 12:
LOOP: [HeroUnit][Integer A] is in Temp_Group ///HeroUnit is a unit variable with array of 12, which are the heroes controlled by player 1-12
THEN: > Play sound for player [Integer A]
> Ping minimap for player [Integer A] at (position of casting unit -> with temp-point ofcourse)

I dont have WE here right now, but I was thinking about the ping function: is that possible to ping for just 1 player? thought it is, right? So if I change the ping-sound, the whole problem is kinda solved :)
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
Instead of picking all units and then checking whether the heroes are inside that group you should just check the distance for every hero. Will increase performance significantly.
Pinging the minimap for a single player does work just as well, you can even choose to generate an "alarm" ping which will then of course play the alarm sound for the particular player (which might solve your problem about plaing a sound for a single player only).

And of course, GetLocalPlayer can very well be used with custom script. You only need 2 lines of Jass code.
Code:
custom script: if ( GetLocalPlayer() == udg_Temp_Player)
custom script: endif
This "should" hopefully work. I havent used jass for years now but the idea is correct. The syntax might be slightly different but that shouldnt be a problem i guess.

In between those 2 lines of custom script you can of course run as many lines of GUI code then you want. Just remember to not "create" anything new while using GetLocalPlayer or else your map is going to desync the players.
 

MP®

Member
Reaction score
11
Instead of picking all units and then checking whether the heroes are inside that group you should just check the distance for every hero. Will increase performance significantly.
Of course! wasnt thinking clear at that moment :p
Pinging the minimap for a single player does work just as well, you can even choose to generate an "alarm" ping which will then of course play the alarm sound for the particular player (which might solve your problem about plaing a sound for a single player only).

And of course, GetLocalPlayer can very well be used with custom script. You only need 2 lines of Jass code.
Code:
custom script: if ( GetLocalPlayer() == udg_Temp_Player)
custom script: endif
This "should" hopefully work. I havent used jass for years now but the idea is correct. The syntax might be slightly different but that shouldnt be a problem i guess.

In between those 2 lines of custom script you can of course run as many lines of GUI code then you want. Just remember to not "create" anything new while using GetLocalPlayer or else your map is going to desync the players.
Thank you very much for your help! I think I will be able to create what I want :)
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
On a sidenote, i forgot the "then" in the first line of jass code, too much java lately.
Code:
custom script: if ( GetLocalPlayer() == udg_Temp_Player) then
custom script: endif
 
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