You guys aren't understanding me.
The system is supposed to play each player it's own songs in the same folder.
For Example, Player 1 has "Nightsong" renamed "Track-01" in it's Music folder.
Player 2 has "The Shattering" renamed "Track-01" in it's Music folder.
Player 3 has another random song renamed "Track-01" in it's Music folder.
When I use this not in a local block, :
JASS:
set snd = CreateSound("Music\\Track-01.mp3", ...)
"snd" Will be "Nightsong", "The Shattering", or what?
So basically the
CreateSound
should be in a local block to know which player's Music file it should check, like it should be like this to play "Nightsong":
JASS:
if GetLocalPlayer() == Player(0)
set snd = CreateSound("Music\\Track-01.mp3", ...) //Unhopefully Desyncs :(
endif
And alike for other players else it doesn't know which player's folder it should check.
Guessing it will always check for the Host's folder (when not in a local block), once it plays the music, the music should be downloaded for other people to be played, which it doesn't, so basically it will desync.
So if the system plays the Player's music file from it's own folder, it will be fine.
Now: I'm gonna check for some local string solution (as Wietlol and I have suggested earlier), and see whether it will work or not.
Warcraft III has the ability.
It is fixed to "Folder//Prefix-0(0 may or may not be there, system checks it)1", "Folder//Prefix-02", and so on.