How do I activate uglyburger0's footstep module?

So, a few months ago, @uglyburger0 made a footstep module that adds very nice footstep sounds to the game. One question I have is, how do I actually activate it and make them work?!
Link to the module: Footstep Module - Roblox

2 Likes

Humanoid.FloorMaterial (roblox.com)
use floor material and check if the player is walking by doing this

Humanoid.Running:Connect(function(Speed)
      if Speed >= 5 then
       Walking = true 
       return
    end
    Walking = false
end)

Do I need to create my own script and copy and paste all of the asset IDs? Seems like he would’ve made it easier to activate than that.

Oh, no. you gotta require the module script.

his example video shows you how to do that/

Uglyburger had made a video documenting it and you could take a look at the basic examples he showed

I saw that video, but he didn’t seem to show how to activate them as a default while walking on the materials, rather he pressed a button to play the sounds.

Then when the humanoid enters the Running humanoidstatetype, toggle a bool to be true, false vice versa. And have a loop playing a random sound at an interval

Is this close to what I should do? If so, what should I add to make the sounds play?

local footsteps = require(game.ReplicatedStorage.Footstep)
local character = workspace:WaitForChild(game.Players.LocalPlayer.Name)
local player = game:GetService("Players").LocalPlayer
local Walking = nil
game.Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local humanoid = Character:WaitForChild("Humanoid")
		humanoid.Running:Connect(function(Speed)
			if Speed >= 5 then
				Walking = true
				return
			end
			Walking = false
		end)
	end)
end)

Sorry for the late reply, i was experimenting with the footstep module and made a localscript in startercharacterscripts that play’s it when you move. Try it to see if it works for your case or you could modify it.

local Run = game:GetService("RunService")
local Debris = game:GetService("Debris")

local Char = script.Parent
local Hum: Humanoid = Char:WaitForChild("Humanoid")

local FootSteps = require(game.ReplicatedStorage:WaitForChild("FootstepModule"))

local SOUND_DELAY = 0.21

local isRunning = false
local soundPlaying = false

local function CreateSound(id)
	local sound = Instance.new("Sound")
	sound.SoundId = id
	sound.Volume = 2.4
	sound.Parent = workspace
	
	return sound
end

Hum:GetPropertyChangedSignal("MoveDirection"):Connect(function()
	if Hum.MoveDirection.Magnitude > 0 then
		isRunning = true
	else
		isRunning = false
	end
end)

Run.RenderStepped:Connect(function()
	if isRunning and not soundPlaying then
		if Hum.FloorMaterial == Enum.Material.Air then return end
		local materialTbl = FootSteps:GetTableFromMaterial(Hum.FloorMaterial)
		
		local soundId = FootSteps:GetRandomSound(materialTbl)
			
		local sound = CreateSound(soundId)
		sound:Play()
		soundPlaying = true
		Debris:AddItem(sound, sound.TimeLength)
		
		task.wait(SOUND_DELAY)
		soundPlaying = false
	end
end)
5 Likes

I’ve hopped off my PC for the night. I’ll try your script tomorrow morning and get back to you if it works or not. Thanks in advance!

That doesn’t seem to be working :confused: it just plays the default plastic footstep sound.
Edit: Found that I renamed the module to just “Footstep” instead of “FootstepModule”. The script is now working! Thanks!

hey, I tried this myself idk how it worked for him? do u know any problems cause i cant find anything

i’m not the guy who scripted the working thing, but do you have any errors or anything? try debugging using print statements to see if parts of the script are working. i put a print under the part where the sound plays saying “footstep sound should be playing”

It does not create the sound in general.

so when you play the game, in the workspace, sounds should be constantly created and destroyed, is that not happening for you?

no
imma remake it. but thanks for the reply

alright if you have any questions feel free to ask

2 Likes