I have a script that gives a custom death sound when a player dies. I would however, like it to work with six or so different sounds at random. Can this be accomplished with what I have or will I need to go about it a totally different way?
This is the parent script.
game.Players.PlayerAdded:connect(function(p)
p.CharacterAdded:connect(function(character)
repeat wait() until character ~= nil
character.Sound:Remove()
local s = script.Sound:Clone()
s.Parent = character
s.Disabled = false
end)
end)
And this is its child.
-- util
function waitForChild(parent, childName)
local child = parent:findFirstChild(childName)
if child then return child end
while true do
child = parent.ChildAdded:wait()
if child.Name==childName then return child end
end
end
function newSound(id)
local sound = Instance.new("Sound")
sound.SoundId = id
sound.archivable = false
sound.Parent = script.Parent.Head
return sound
end
-- declarations
local sDied = newSound("http://www.roblox.com/asset/?id=130826746")
local sFallingDown = newSound("rbxasset://sounds/splat.wav")
local sFreeFalling = newSound("rbxasset://sounds/swoosh.wav")
local sGettingUp = newSound("rbxasset://sounds/hit.wav")
local sJumping = newSound("rbxasset://sounds/button.wav")
local sRunning = newSound("rbxasset://sounds/bfsl-minifigfoots1.mp3")
sRunning.Looped = true
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
-- functions
function onDied()
sDied:Play()
end
function onState(state, sound)
if state then
sound:Play()
else
sound:Pause()
end
end
function onRunning(speed)
if speed>0 then
sRunning:Play()
else
sRunning:Pause()
end
end
-- connect up
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(function(state) onState(state, sJumping) end)
Humanoid.GettingUp:connect(function(state) onState(state, sGettingUp) end)
Humanoid.FreeFalling:connect(function(state) onState(state, sFreeFalling) end)
Humanoid.FallingDown:connect(function(state) onState(state, sFallingDown) end)
Here are the other death sound IDs I was considering adding. 130965811 131045862 131045876 131045905 131045925
