So, I am trying to have specific walking sounds and each character needs their own respective walking noise as some of them are robots, and I’d like a more clunky noise for them.
However the issue is every script I have tried I have either put in the wrong place, its in the wrong script format (local, or script), or it just doesn’t work.
I have looked through several scripts and have tried searching on other platforms however all of them deal with StarterCharacterScripts while I am trying to simply do it for specific characters.
I have navigated the developer hub and found this script: (However I am not sure where I am supposed to but this and in what type of script it is supposed to be. When I did try it the way I understood it did not work. So if anyone knows a better alternative or how this script is supposed to operate, please tell me. Thank you!)
local rig = script.Parent
if not humanoid.RootPart then
humanoid:GetPropertyChangedSignal("RootPart"):Wait()
end
local sound = FootSteps
--You can manually set all the Sound properties in the actual rig's HumanoidRootPart.
humanoid.Running:Connect(function(speed)
if speed > 0 then
if sound.IsPaused then
sound:Resume()
else
sound:Play()
end
else
sound:Pause()
end
end)
could you edit the sounds in the humanoid root part of each character to change the sound id?
i was messing around and trying that and it worked for me
Sorry, I’m not to good with this sort of thing. But were you using the script or is there some sort of setting? And if any of these how did you go about placing them? (Script and audio)
Basing on what @Exozorcus said,
You can just insert a LocalScript inside StarterPlayer.StarterCharacterScripts (Name it anything) and just paste this inside it:
local Character = script.Parent
local SOUND_ID = 0 -- Your sound ID here
local HumanoidRootPart = Character:WaitForChild('HumanoidRootPart')
local RunningSound: Sound = HumanoidRootPart:FindFirstChild('Running')
if RunningSound then
RunningSound.SoundId = "rbxassetid://" .. WALK_ID
end
It works, but what what I am trying to achieve doesn’t really include starter character stuff, my goal is to have so if the player is let’s say in a morph when they become that character only that character has the specific walking sound. I’m sorry I may not have been clear enough.
I appreciate the help, but when I use the script makes the running sound for all humanoids. But I thought about and I attempted an if statement where if the player has a value by the name robot and if its true than it will proceed with the following stuff (your script) and if they don’t have that value than it skips over that player however it doesn’t seem to work and idea why?
Script:
local Character = script.Parent
local SOUND_ID = 5478066363 – Your sound ID here
local Player = game.Players.LocalPlayer
if Player:FindFirstChild(‘Robot’) and Player.Robot.Value == true then
local HumanoidRootPart = Character:WaitForChild(‘HumanoidRootPart’)
local RunningSound: Sound = HumanoidRootPart:FindFirstChild(‘Running’)
if RunningSound then
RunningSound.SoundId = “rbxassetid://5478066363”