I made a sound system for that in vjass
[JASS="Usage Example:"]
globals
string SounD = ""MetalHeavySliceMetal""
endglobals
//! runtextmacro RegisterSound("BS","60","SounD")
function SomeFunction takes nothing returns nothing
call PlayBS(x,y,z)
endfunction[/code]
this is only for sound labels and they need to be 3D sound
1st value of macro ("BS" is function tag)
2. ("60") is maximum number of handles for that label
3. ("SounD") variable for sound
I made it variable name instead of label itself because for setups most people use global variables so it gets easy to change everything in a single part of code