Hello, I need help with finding old roblox sound effects and models. For example: Brickclatter sound effect, that red ball that forms when a explosion formed, and etc.
Most old sounds roblox used in it’s early days were randomly sourced from various different websites. I’d reckon you search through the toolbox to find a replica, would be a tedious process however. You can also try digging deep through archives
You can source a few classic sounds from the toolbox, but if you want broader options, I’d recommend going to YouTube and downloading from there as well.
I found this script in the toolbox that makes the brick clatter sound which is really cool! What I need help is the game utilities of old Roblox such as the leaderboard, the lighting and etc. I’ll leave the script here if anyone wants it: `local Sound_Files = { – These files are still playable by using rbxasset://sounds/{file name}.mp3!
grassgrass = {“grass”, “grass2”, “grass3”},
grassstone = {“grassstone”, “grassstone2”, “grassstone3”},
iceice = {“ice”, “ice2”, “ice3”},
icegrass = {“icegrass”, “icegrass2”, “icegrass3”},
icemetal = {“icemetal”, “icemetal2”, “icemetal3”},
icestone = {“icestone”, “icestone2”, “icestone3”},
metalmetal = {“metal”, “metal2”, “metal3”},
metalgrass = {“metalgrass”, “metalgrass2”, “metalgrass3”},
metalstone = {“metalstone”, “metalstone2”, “metalstone3”},
plasticgrass = {“plasticgrass”, “plasticgrass2”, “plasticgrass3”},
plasticice = {“plasticice”, “plasticice2”, “plasticice3”},
plasticmetal = {“plasticmetal”, “plasticmetal2”, “plasticmetal3”},
plasticplastic = {“plasticplastic”, “plasticplastic2”, “plasticplastic3”},
plasticstone = {“plasticstone”, “plasticstone2”, “plasticstone3”},
stonestone = {“stone”, “stone2”, “stone3”},
woodgrass = {“woodgrass”, “woodgrass2”, “woodgrass3”},
woodice = {“woodice”, “woodice2”, “woodice3”},
woodmetal = {“woodmetal”, “woodmetal2”, “woodmetal3”},
woodplastic = {“woodplastic”, “woodplastic2”, “woodplastic3”},
woodstone = {“woodstone”, “woodstone2”, “woodstone3”},
woodwood = {“woodwood”, “woodwood2”, “woodwood3”},
}
local Material_Translation = {
[{Asphalt = 1, Basalt = 1, Brick = 1, Cobblestone = 1, Concrete = 1, CrackedLava = 1, Granite = 1, Limestone = 1, Marble = 1, Pavement = 1, Pebble = 1, Rock = 1, Sandstone = 1, Slate = 1}] = “stone”,
[{CorrodedMetal = 1, Metal = 1, DiamondPlate = 1, Foil = 1}] = “metal”,
[{Plastic = 1, SmoothPlastic = 1, ForceField = 1, Neon = 1}] = “plastic”,
[{Wood = 1, WoodPlanks = 1}] = “wood”,
[{Ice = 1, Glacier = 1, Glass = 1}] = “ice”,
[{Grass = 1, LeafyGrass = 1, Snow = 1, Fabric = 1, Ground = 1, Mud = 1, Sand = 1, Salt = 1}] = “grass”
}
local Max_Sounds – Definitely used.
local Velocity_Trigger, Max_Velocity_Trigger
local Minimum_Volume, Maximum_Volume
local Minimum_Distance, Maximum_Distance
local Current_Sounds = {}
local Sound_Count = 0
local Indexed_Parts = {}
local Debris = game:GetService(“Debris”)
– Init
local Sounds = {}
for Link, Sound_Set in Sound_Files do
local Converted_Set = {}
for Index, Name in Sound_Set do
local Sound = Instance.new("Sound", script)
Sound.Name = Name
Sound.SoundId = `rbxasset://sounds/{Name}.mp3`
Sound.PlayOnRemove = true
Converted_Set[Index] = Sound
end
Sound_Files[Link] = Converted_Set
end
for _, Material_Pre in Material_Translation do
for _, Material_Post in Material_Translation do
local Code = {Material_Pre}{Material_Post}
local A_Code = {Material_Post}{Material_Pre}
local Sound_Set = Sound_Files[Code] or Sound_Files[A_Code]
if Sound_Set then
if not Sounds[Material_Pre] then
Sounds[Material_Pre] = {}
end
Sounds[Material_Pre][Material_Post] = Sound_Set
end
end
end
– func
local function Lerp(N1, N2, Time) : number
return N1 + (N2 - N1) * Time
end
local function Translate(Material : Enum.Material)
local Material_Name = Material.Name
for Links, String in Material_Translation do
if Links[Material_Name] then
return String
end
end
return nil
end
local function Get(Pre : string, Post : string)
return Sounds[Pre][Post]
end
local function OnSoundFinish(Sound : Sound)
if table.remove(Current_Sounds, table.find(Current_Sounds, Sound)) then
Sound_Count = #Current_Sounds
end
end
local function Play(Part : BasePart, Pre : string, Post : string, Volume : number?, Distance : number?)
if Sound_Count >= Max_Sounds then
return – Do not play.
end
local Link = Get(Pre, Post)
if not Link then
return
end
local Choice = Link[math.random(1, 3)]:Clone()
Choice.Volume = Volume or Choice.Volume
Choice.Parent = Part
Choice.RollOffMinDistance = Minimum_Distance
Choice.RollOffMaxDistance = if Distance then Lerp(Minimum_Distance, Maximum_Distance, Distance) else Maximum_Distance
Choice.Destroying:Once(function()
OnSoundFinish(Choice)
end)
table.insert(Current_Sounds, Choice)
Sound_Count = #Current_Sounds
Debris:AddItem(Choice, Choice.TimeLength)
Choice:Play()
end
local function OnUpdate()
Max_Sounds = script:GetAttribute(“MaxSounds”)
Velocity_Trigger = script:GetAttribute("VelocityTrigger")
Max_Velocity_Trigger = script:GetAttribute("MaxVelocityTrigger")
local Min_Vol, Max_Vol = script:GetAttribute("MinimumVolume"), script:GetAttribute("MaximumVolume")
local Min_Dist, Max_Dist = script:GetAttribute("AudioDistanceMinimum"), script:GetAttribute("AudioDistanceMaximum")
Minimum_Volume = math.min(Min_Vol, Max_Vol)
Maximum_Volume = math.max(Min_Vol, Max_Vol)
Minimum_Distance = math.min(Min_Dist, Max_Dist)
Maximum_Distance = math.max(Min_Dist, Max_Dist)
end
local function TestForHumanoid(Inst : Instance) : boolean
local Parent = Inst:FindFirstAncestorWhichIsA(“Model”)
local Humanoid = if Parent then Parent:FindFirstChildWhichIsA(“Humanoid”) else nil
if (Parent and Humanoid) and Humanoid.Health > 0 then
return true
end
return false
end
local function PartTouch(BasePart : BasePart, TMat : string, Part : BasePart)
if (BasePart.Anchored or not (BasePart and Part)) or
(TestForHumanoid(BasePart) or TestForHumanoid(Part)) then
return
end
local Velocity = (BasePart.AssemblyLinearVelocity - Part.AssemblyLinearVelocity).Magnitude
local Volume, Distance
if (Velocity < Velocity_Trigger) then
return
else
local Time = math.clamp((Velocity - Velocity_Trigger) / (Max_Velocity_Trigger - Velocity_Trigger), 0, 1)
Volume = Lerp(Minimum_Volume, Maximum_Volume, Time)
Distance = Time
end
local Base_Material, Touched_Material = TMat, Translate(Part.Material)
if Touched_Material then
Play(BasePart, Base_Material, Touched_Material, Volume, Distance)
end
end
local function SetupPart(Part : BasePart)
if not Part:IsA(“BasePart”) or Indexed_Parts[Part] then
return
end
local Destroyed_Connection
local Change_Material_Connection
local Touched_Connection
local Anchored_Test_Connection
local Collision_Test_Connection
local TMat = Translate(Part.Material)
local Touched_Callback = function(Hit)
PartTouch(Part, TMat, Hit)
end
local function Property_Test()
if not (not Part.Anchored and Part.CanCollide) then
if Touched_Connection and Touched_Connection.Connected then
Touched_Connection:Disconnect()
Touched_Connection = nil
end
return
end
if Touched_Connection and Touched_Connection.Connected then
Touched_Connection:Disconnect()
end
Touched_Connection = Part.Touched:Connect(Touched_Callback)
end
Destroyed_Connection = Part.Destroying:Once(function()
Indexed_Parts[Part] = nil
Change_Material_Connection:Disconnect()
Anchored_Test_Connection:Disconnect()
Collision_Test_Connection:Disconnect()
if Touched_Connection then
Touched_Connection:Disconnect()
end
end)
Change_Material_Connection = Part:GetPropertyChangedSignal("Material"):Connect(function()
TMat = Translate(Part.Material)
end)
Anchored_Test_Connection = Part:GetPropertyChangedSignal("Anchored"):Connect(Property_Test)
Collision_Test_Connection = Part:GetPropertyChangedSignal("CanCollide"):Connect(Property_Test)
Property_Test()
Indexed_Parts[Part] = 1
end
– behavior
OnUpdate()
workspace.DescendantAdded:Connect(SetupPart)
script.AttributeChanged:Connect(OnUpdate)
for _, Item in workspace:GetDescendants() do
if Item:IsA(“BasePart”) then
SetupPart(Item)
end
end
return true`
I also need links to where you found the assets not just instructions thank you.
