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:
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)
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!)
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*
Available Sound Lists!
(Do you want a particular Sound List here?, Let me know!)
*Remember: Use the fssoundlist command!*
Now every player can have their own soundlist in a multiplayer game!
Knownbugs:
Changelog:
Notes:
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:
Code:
if not PlayerAnimInfo
rawset(_G, "PlayerAnimInfo", {})
end
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)
Code:
if not SoundListInfo
rawset(_G, "SoundListInfo", {})
end
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!
Knownbugs:
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.
-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.
Changelog:
v1
Initial release
v1.2
Fix - Added some missing textures/sound assignments from CEZ
v1.3
Fix - Minor tweaks
v1.4
Code cleaning and some reworks
v1.5
"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.
v1.6
Sonic 2006 campaign support
Legacy Hinote support
Neo Sonic support
Minor fixes
v2.0
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!
v2.1
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)
v2.2
minor texture assigments changes
v2.3
fixed S_MILNE_KICK warning message when Milne is not in the game.
Initial release
v1.2
Fix - Added some missing textures/sound assignments from CEZ
v1.3
Fix - Minor tweaks
v1.4
Code cleaning and some reworks
v1.5
"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.
v1.6
Sonic 2006 campaign support
Legacy Hinote support
Neo Sonic support
Minor fixes
v2.0
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!
v2.1
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)
v2.2
minor texture assigments changes
v2.3
fixed S_MILNE_KICK warning message when Milne is not in the game.
Notes:
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.
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.