Help with finding old roblox items

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.

1 Like

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

1 Like

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`

2 Likes

I also need links to where you found the assets not just instructions thank you.

1 Like