i have this inside a local script inside a tool and i’ve already tried firing events and all that and i just cant get it to work how i want so that everyone hears the sound and where it comes from
You are creating this sound instance within a Localscript, and so, the sound object will only exist for the client. Instead, create the object on the server.
Make a server script under the same tool and a remote so it communicates with your client script. When the server script picks up the remote signal from your client script it creates the sound under the tool handle(so the sound comes from the tool).
Basically handle the input(such as key presses and clicks) on the client script, and depending on specific inputs, send signals to the server, to perform actions there.