Resource icon

[Reusable] Footsteps

Hi, I made this little script that is based on the Modern Sonic script made by MotdSpork. I have kept the freeslots and the texture assignments with the sounds, but everything else I did a complete rework.

It gives step sounds to the main characters of the game, based mainly on their animations. It can also be used with custom characters.

If you are interested in having your characters work with this script just include this in your script:
if not PlayerAnimInfo
	rawset(_G, "PlayerAnimInfo", {})

PlayerAnimInfo["skinname"] = {
		["runFrames"] = {0, 2},
		["dashFrames"] = {-1},
		["walkFrames"] = {3, 7},
		["waitFrames"] = {0},
		["milnekickFrames"] = {0, 4},
		["run"] = true,
		["dash"] = false,
		["walk"] = true,
		["idle"] = true,
		["wait"] = true,
		["milnekick"] = true,
		["superRun"] = false,
		["superDash"] = false,
		["superWalk"] = true,
		["superIdle"] = true,
		["superWait"] = false

Replace "skinname" with your character.

New! - If you want to import your own sounds you just need this in your script, (and the sound files... Heh heh)

if not SoundListInfo
	rawset(_G, "SoundListInfo", {})

SoundListInfo["customname"] = {
		["grass"] = {
		  ["steps"] = {sfx_sogr1, sfx_sogr2, sfx_sogr3, sfx_sogr4, sfx_sogr5},
		  ["skid"] = {sfx_sogrbr},
		  ["land"] = {sfx_sogrln},
		["metal_heavy"] = {
		  ["steps"] = {sfx_some1, sfx_some2, sfx_some3, sfx_some4, sfx_some5},
		  ["skid"] = {sfx_somebr},
		  ["land"] = {sfx_someln},
		["metal_light"] = {
		  ["steps"] = {sfx_some1, sfx_some2, sfx_some3, sfx_some4, sfx_some5},
		  ["skid"] = {sfx_somebr},
		  ["land"] = {sfx_someln},
		["dirt"] = {
		  ["steps"] = {sfx_sodi1, sfx_sodi2, sfx_sodi3, sfx_sodi4, sfx_sodi5},
		  ["skid"] = {sfx_sodibr},
		  ["land"] = {sfx_sodiln},
		["snow"] = {
		  ["steps"] = {sfx_sodi1, sfx_sodi2, sfx_sodi3, sfx_sodi4, sfx_sodi5},
		  ["skid"] = {sfx_sodibr},
		  ["land"] = {sfx_sodiln},
		["cloth"] = {
		  ["steps"] = {sfx_sodi1, sfx_sodi2, sfx_sodi3, sfx_sodi4, sfx_sodi5},
		  ["skid"] = {sfx_sodibr},
		  ["land"] = {sfx_sodiln},
		["sand"] = {
		  ["steps"] = {sfx_sodi1, sfx_sodi2, sfx_sodi3, sfx_sodi4, sfx_sodi5},
		  ["skid"] = {sfx_sodibr},
		  ["land"] = {sfx_sodiln},
		["wood_heavy"] = {
		  ["steps"] = {sfx_sowo1, sfx_sowo2, sfx_sowo3, sfx_sowo4, sfx_sowo5},
		  ["skid"] = {sfx_sowobr},
		  ["land"] = {sfx_sowoln},
		["wood_light"] = {
		  ["steps"] = {sfx_sowo1, sfx_sowo2, sfx_sowo3, sfx_sowo4, sfx_sowo5},
		  ["skid"] = {sfx_sowobr},
		  ["land"] = {sfx_sowoln},
		["concrete"] = {
		  ["steps"] = {sfx_soco1, sfx_soco2, sfx_soco3, sfx_soco4, sfx_soco5},
		  ["skid"] = {sfx_socobr},
		  ["land"] = {sfx_socoln},
		["water"] = {
		  ["steps"] = {sfx_sowa1, sfx_sowa2, sfx_sowa3, sfx_sowa4, sfx_sowa5},
		  ["skid"] = {sfx_sowabr},
		  ["land"] = {sfx_sowaln},
		["lava"] = {
		  ["steps"] = {sfx_sowa1, sfx_sowa2, sfx_sowa3, sfx_sowa4, sfx_sowa5},
		  ["skid"] = {sfx_sowabr},
		  ["land"] = {sfx_sowaln},
		["glass"] = {
		  ["steps"] = {sfx_sogl1, sfx_sogl2, sfx_sogl3},
		  ["skid"] = {sfx_soglbr},
		  ["land"] = {sfx_soglln},

Please note that you must replace the sfx_xxx with the sounds you have included in your mod. Then, In-game, use the fssoundlist command and as an argument "customname"

Compatible characters!
(Do you want your character here?, Let me know!)
  • Vanilla Characters
  • LegacyHinote
  • NeoSonic
  • Bandages
  • SSNSonicHD
  • Sukapon
  • Rabbid
  • FeelSonic
  • Skip
  • Gemma
  • Werehog
  • Silver
  • Kirby
  • Milne w/ Milne Kick Dance - (90%) Some animations don't work.

Fully Compatible campaigns!
(Do you want your favorite campaign here?, Let me know!)
*Other campaigns may be compatible, but I do not include them here, because they have not been tested*
  • Vanilla Campaign
  • Sonic 2006

Available Sound Lists!
(Do you want a particular Sound List here?, Let me know!)
*Remember: Use the fssoundlist command!*
  • Modern Sonic Games (Default)
  • Half Life 1 & 2
  • The Legend of Zelda: Ocarina of Time
  • Minecraft
  • S4 League

Now every player can have their own soundlist in a multiplayer game!

When the script does not detect a texture, the texture used the previous time is reused. This is not a bug as such, I have done it on purpose, because there are situations where I have not yet implemented correctly the way to detect those textures:

-When a character is on the edge of a Sector the game contemplates that he is in the adjacent Sector and when he is not on the floor of this one, the script does not detect the texture.


Initial release
Fix - Added some missing textures/sound assignments from CEZ
Fix - Minor tweaks
Code cleaning and some reworks
"Concrete sound material" is played by default if no texture is detected.
Support for characters with DASH. (Check the example code above)
Good practices in code.
Revised compatibility with XMomentum.
Sonic 2006 campaign support
Legacy Hinote support
Neo Sonic support
Minor fixes
Custom Sounds Support
New command: fssoundlist argument. Set the sound list to be played as footsteps sounds.
New pre-installed sound list from some games: Modern Sonic's footsteps (as default), Half-Life, Half-Life 2, The Legend of Zelda ... and more!
Minecraft Sound List
More step materials sounds! - metal_light/heavy, wood_light/heavy, snow, cloth, sand, lava
IO Support
Bandages character support
SSNSonicHD character support
Sukapon character support
Rabbid character support
FeelSonic character support
Skip character support
Gemma character support
Werehog character support
Silver character support
Kirby character support
Milne character support (Read adobe)
minor texture assigments changes
fixed S_MILNE_KICK warning message when Milne is not in the game.

This is my first contribution in the community, I hope you like it.

If after analyzing the code you think that I have committed a plagiarism violation by publishing this, I need to know it to focus on the right way to do it.

For example, I don't think it can be considered plagiarism to reuse a generic function to get the texture of the floor where the character is. Because it is so generic that if I made it from scratch I would end up doing the same thing. I don't know if I explain myself correctly.
First release
Last update
5.00 star(s) 3 ratings

Share this resource

Latest reviews

is there any chance that you can make this compatible with the Modern Sonic Mod?, every time I use this mod, it is deactivated for some reason
Upvote 0
I have no idea why out of all the characters in this forum, Rabbid is supported. Works pretty well for what it's trying to do, not much else to say.
Upvote 0
Pretty cool! In the future, I'd love to see sounds for rolling and flying through the air.
Upvote 0