I'm trying to implement 3D sound that changes the sound's volume based on the distance between the player and the object that makes the sound. I need audio_listener_position() and audio_play_sound_at() to make it, Which only work with the new sound engine. But If i use the new sound engine, A strange problem happens to the automatic weapon sounds. When I make automatic weapon that rapidly fires the bullets, I make the gun sound to stop before playing it again like this: Code: sound_stop(sound_gunsound); sound_play(sound_gunsound); The purpose of it is to block overlapping the weapon's sound. When I keep firing an automatic weapon, especially an extremely fast one, The sounds overlap each other and it can sound really awful. This method solves that problem, and many other games I have played including Doom used similar method as well. but 'sound_' codes only work in the old sould engine, so I have to use this instead for the new sound engine: Code: audio_stop_sound(sound_gunsound); audio_play_sound(sound_gunsound,0,0); But for some reason, consequently stopping the sound before playing another one doesn't work well in the new sound engine. It basically works, but the sound stops and plays irregularly and doesn't sound as good as the old engine. So If I use the old sound engine I can't use 3D sounds, and If I use the new one the automatic weapons sound strange. Are there any ways to make the automatic weapon's sound good in the new sound engine, or implement 3D sounds with the old engine ?