That’s a problem in your game.
To avoid exploiters taking abuse of that ability you should set RespectFilteringEnabled to True in the SoundService:
That’s a problem in your game.
To avoid exploiters taking abuse of that ability you should set RespectFilteringEnabled to True in the SoundService:
That won’t fix it.
The issue with exploiters running the default character sounds is that the current script works by remotes, which exploiters can fire and therefore run the sounds.
It is not related to running local sounds and making them pass to the server at all.
Can we expect more changes to sound in the future? Being able to analyze components of a sound like PlaybackLoudness on the server rather than solely on the client and generally having more control over aspects of sound would be an immense upgrade to handling the feature.
Yes
This won’t do anything for the sound core script. Now all character sounds are local, so there is nothing for users to play locally that can be heard on other clients.
Before you go on a rant about being highly against an update, it would be a good idea to carefully re-read the announcement.
You will still be able to hear other players. The new sound LocalScript is listening to the humanoid state changes of other characters and playing sounds on them. Instead of the sound script only doing this for your own character, relying other clients to replicate their own, now it runs against all players.
Can you elaborate on
I’m not sure if StarterPlayerScripts run for all players, or just the character its in.
I looked at this, and started to realize if everything was done locally as said by you.
It would take a lot of lag off the server, allowing it to more efficiently work for everyone…
I feel after reading what you said, it probably is the case, and really helps our gameplay. I’ve retracted my statement because of you, thanks for the info.
EDIT:
Cleared up grammar.
This is not released yet.
The LocalScript runs only for the player it is in, but it is doing something like
for _,character in pairs(getAllCharactersInGame()) do
character.Humanoid.StateChanged:Connect(function(old, new)
playSoundBasedOnState(character, new)
end)
end
Previously the sound script only listened to state changes for your own character, but now each client is doing this on their own for all characters in the game
That’s correct - you won’t get the new system if you forked the old one.
I did this on my game months ago. This was a necessary change. I spent hours arguing that client emulation was a valid method with people who think things need to be 100% server controlled.
Sure.
Sound
into StarterCharacterScripts.Are there any planned changes to this system before the expected release date?
None are planned, but I’ll update the thread if there are any changes to the script.
My first question is: What if my characters have no HumanoidRootPart?
What am I supossed to do in that situation?
My second question is: What if I use a really old sound script? (For example, pre-2009)
If it has a humanoid, it must have a HumanoidRootPart. This is universal for all character types.
Humanoids can (kinda) function without a head/torso, but they need a root part.
New script needs a HumanoidRootPart to work.
Existence of a root part is generally a better assumption to make than existence of a head.
You should consider not doing that, but this change won’t affect you.
Love this new change. It makes things look so much more organized and 40% server CPU utilzation change is a huge difference! Are there any other sound updates in process with this one?
When will this be enabled?
I’m not seeing the new system while testing in studio. Has it been released yet?
Pushed back 2 days or so to give enough time for QA.
Looking at rolling the new system out tomorrow (Oct 30).
This is LIVE.
Let me know if you run into any issues.