SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Lua

Reply
 
Thread Tools
MMT (Many Minor Tweaks) -- v4.0 Details »»
MMT (Many Minor Tweaks) -- v4.0
Version: 4.0, by birbhorse (local eevee petter) birbhorse is offline
Developer Last Online: Feb 2020

Version: SRB2 Rating: (3 votes - 3.60 average)
Released: 12-25-2019 Last Update: 02-17-2020 Installs: 3
Scripts Re-Useable Content

Welcome to...
MMT (Many Minor Tweaks)!

This mod includes a whole bunch of minor tweaks that can be toggled via command line! Things including tailsball (which replaces tails' descent using spin to curl him up into a ball), superkey (which lets you change what key is used to turn super), and more! It also includes my previous lua script, Cancelable Super Form, now with the ability to change which key is used!

You can use "mmthelp" in-game to view what commands are available, and a brief description of what they do.
Do note that the list changes if you enter multiplayer, due to there being commands that work only in multiplayer, and ones that only work in singleplayer!

List of commands, taken from mmthelp:
Spoiler:

-- The Good Stuff --
  • mmthelp <num>: Lists all the available commands, by using the second argument as a page number.
  • superkey <value/off>: Changes key used to transform into character's super form. If disabled, all code relating to this is disabled.
    Options: off, weaponnext, weaponprev, attack/ringtoss, use/spin, camleft, camright, tossflag, firenormal/ringtossnormal, custom1, custom2, custom3
  • cancelsuper <value/off> : When the key set is pressed, the player is taken out of their super form.
    Options: off, weaponnext, weaponprev, attack/ringtoss, use/spin, camleft, camright, tossflag, firenormal/ringtossnormal, custom1, custom2, custom3
  • skincolor: <value/default>: Changes the player's skin color, used for single player modes.
  • supermusic <on/off>: Toggles the super form's music.
  • dropdash <on/off>: Enables the Drop Dash for Sonic. Notice: Disables superhover when turned on.
-- The Minor Tweaks --
  • recurl <on/off>: Allows the player to curl up into a ball after using a spring, tornado, etc.
  • supertrail <on/off>: Leaves behind a more noticeable trail when the player is in their super form.
  • totalrings <on/off>: Displays total amount of rings in level in the scoreboard hud.
  • supershield <on/off>: Allows shields to be shown when the player is in their super form.
  • tokentorings <on/off>: If all chaos emeralds are collected, player is granted 50 rings instead of a continue.
  • preserveshield <on/off>: Preserves shield upon completion of level, allowing you to keep the shield in the next map load.
  • musicfade <on/off>: Fades music out when crossing the goalpost.
  • infinitelives <on/off>: Allows for infinite lives in singleplayer. (singleplayer only, duh)
  • scorecontinues <on/off>: When enabled, after reaching above 25,000 points in a level, the player is granted a continue. (singleplayer only)
-- Other Tweaks --
  • tailsball <jump/spin/bop/off>: Tails turns into a ball instead of descending when using the spin key in flight.
  • everysuper <on/off/disable>: Allows every character to go super. If set to off, only vanilla super characters can go super. If disabled, nobody can go super.
  • instantrespawn <on/off>: Respawns the player instantly when they die, 0 wait time. (Co-op/singleplayer only)
  • classicsuper <on/off>: Jumping will automatically turn you super when the player is elligble to do so.
  • classicshields <on/off>: Changes all SRB2 Monitors to their S3K equivalents.
  • classicspecialstage <on/off>: Replaces emerald tokens with the ability to enter the special stage if the player clears w/ 50 rings.
  • superhover <on/off>: Toggles whether or not Super Sonic can use the hover ability.
-- Netplay, Admin, Misc. Stuff --
  • mmtdebugger <on/off>: enables various debugging tools, used for both MMT and for other developers to use.
    Extra options: enablehud, disablehud; enableprint, disableprint
    If using the HUD functionality, pressing Custom 2 will toggle debug information regarding player stuff, such as player.mo.state and player.pflags values.
  • banskin: <value>: Adds skin to a banlist, prohibiting players from selecting them.
  • unbanskin: <value/all>: removes skin from ban list, allowing usage of them again. Specify "all" to remove all from the banlist.
  • toggleafk <on/off>/<15-90/disabletimer>: sets the player into an AFK mode; alternate argument is used as an automatic timer to be put AFK.
    Options: options: on, off, disabletimer, exitdisable, exitenable, number between 10 and 90
  • charability <CA1> <CA2>: Changes the player's main ability, and secondary ability. (admins only)
    Options: fly, glide, homing, swim, doublejump, float, slowfall, telekinesis, fallswitch, jumpboost, airdrill, jumpthok, bounce, twinspin
    Secondary options: spindash, gunslinger, melee
  • mmtdefaults: changes everything related to MMT back to default variables.
  • orderpizza+: -size <value> -address <value> -toppings <value>: order a pizza!
-- ???????? --
  • orderpizza: -size <value> -address <value> -toppings <value>: order an ordinary pizza!

There will be many more features in the future, my current plans are listed out in the lua script itself if you're interested.

Don't be afraid to bug report in the replies, even if you find like, a hundred of them! Even with real bugs--actually don't, that's off-topic unfortunately. If you do bug report, please provide what other addons you had on, if you were in multiplayer, and provide each step you did so I can diagnose the problem easier. Saying "x does not work" and leaving it at that is not helpful.
I do also accept suggestions, however this does not mean I will include them for any number of reasons.

CHANGELOG:
Spoiler:

v4.0
  • New functions that v2.2.1 introduced has been added in. If you haven't updated SRB2 to v2.2.1, be sure to do that, this script will NOT function in v2.2.0!
  • New tweak: supershield! This allows the shield to be rendered when the player goes super; I always found it off that the shield didn't render while super, so I made this.
  • The ordinary orderpizza command now responds to the size value. The bigger the pizza, the faster it is, you best watch out.
  • Gave Tailsball a unique sound effect.
  • Finally added closed captions to the sound effects.
  • Buffed dropdash's speed again. To counter-act this a bit, the momentum speed bonus for the drop dash has been nerfed.
  • New function used for stuff like skincolor and the button commands for superkey/cancelsuper; the code has been massively reduced, and will now accept any of the constant values SRB2 has; meaning if an SRB2 update adds any new skincolors or button commands, they'll be automatically accepted by this script.
  • superkey/cancelsuper works a bit better now, a new exception has been added to ensure you weren't holding the spin key while on the ground.
  • Removed debugging text that *might* have appeared when using super trail.
  • Huge rewrite to handling how multiplayer/singleplayer stuff is handled, it's now much more efficient in how things are handled and detected.
  • Fixed superhover not being disabled when turning it off in multiplayer.
  • Fixed charability not changing the names provided on command input if you changed skin mid-level.
  • Fixed recurl being able to be used on special stages; didn't cause any conflicts of note, but it did play the spin sfx when leaving a special stage while holding spin down.
  • Fixed scorecontinues erroring out when set to on in a special stage.
  • Fixed Metal Sonic being able to use recurl after using their float ability.
  • Fixed orderpizza being able to kill the player multiple times.
v3.1
  • Made compatible with SRB2 v2.2.1. In the future, this will no longer work with v2.2.0, so be sure to update when it's time!
    The reason for this is that the script will use the new "PlayerThink" feature. Why? Because yes.
  • Added special exception for tailsball and recurl to not work on the Eggpack character.
  • Fixed mmtdefaults not working on the latest two tweaks added recently.
  • Fixed tailsball being used on player bots (e.g. sonic & tails mode in singleplayer)
  • Fixed scorecontinues working in special stages, when that's not nessecary.
  • Finally fixed supertrail, now tails, metal sonic, and any other character with a follow item will now have the correct amount of ghosting effects in place.
  • Made recurl only work on characters that can spindash.
  • Of note: This is compatible with the previous verison of mmtsettings, there's no need to update it.
v3.0
  • This was initially supposed to be another re-write of MMT, but...didn't come to fruition because there's so much code lol. Not much I can do to make this code compact anyways, but I did try!
  • New tweak: infinitelives! Just let's you enable infinite lives in singleplayer, that's all.
  • ?????: orderpizza...I thought we already had this command?
  • And finally, another tweak: scorecontinues, which gives you a continue if you score above 25,000 points.
  • classicshields now swaps out your current shield if you're holding one! This is dependent on what monitor you hit, before or after using the command.
  • Recurl can now be activated when pressing "jump", however the option of "spin" is still used by default.
  • Re-written dropdash somewhat, should be better now.
  • Buffed dropdash by a little bit, base speed is increased, and when super/using super sneakers, the speed of the drop dash increases by quite a bit.
  • Sped up the dropdash's animations by a little bit.
  • Fixed superhover, now it should work without any hitches.
  • Fixed? a bug w/ dropdash, where if you let go of spin at the very last second, sonic would be spinning in his standing animation. I say fix, but I can't even get this bug to be replicated reliably.
  • Fixed the "superkey off" functionality.
[/LIST]
Unfortunately due to how lua scripting is set up, any changes made via command line can not be saved at the moment. If you wish to make the changes permanent, rename the file and make your changes to the variables found at the top of the document!

Known problems/bugs:
Spoiler:
  • Players in AFK mode can be carried around.
If you're a mod maker and you wish to detect if this mod is loaded...
You can check for the presence and value of "mmtVersion", for this is a value that's been put in _G. Do something like this:
Spoiler:
Code:
if mmtVersion
--your code here, ofc you can optionally do "else" for your own code
end

What is "mmt_settings.lua"?
Spoiler:
This is something that allows you to change MMT's settings before it's loaded! Due to constraints given to SRB2's Lua Scripting, it is not possible to save changes made to custom console variables.

However, using this script, it is possible to change the settings upon loading MMT! Just download the file, plop it into your text editor of choice, and read the instructions at the top. Make sure to keep it up to date with the latest version of MMT, otherwise it won't work!

Do note that you do not need to download this for MMT to function, it's just a supplemental file used for ease of life!
WARNING
This addon has not been tested when hosting a game via the in-game multiplayer menu. Previous versions have experienced errant issues, such as tailsball causing the host player to react when other players use it.
It is highly recommended that you a dedicated server by opening the program via -dedicated, so that scripting conflicts like this do not occur!

Download Now

File Type: pk3 VL_ManyMinorTweaks-v4.0.pk3 (149.9 KB, 99 views)
File Type: lua mmt_settings - v4.0.lua (6.7 KB, 63 views)

Screenshots

Click image for larger version

Name:	tailsball.gif
Views:	492
Size:	6.13 MB
ID:	24293   Click image for larger version

Name:	everysuper and cancelsuper.gif
Views:	400
Size:	7.25 MB
ID:	24294   Click image for larger version

Name:	preserveshield.gif
Views:	384
Size:	2.06 MB
ID:	24295   Click image for larger version

Name:	tokentorings.gif
Views:	303
Size:	1.70 MB
ID:	24829   Click image for larger version

Name:	tailsball bop.gif
Views:	234
Size:	6.55 MB
ID:	25095  

Click image for larger version

Name:	banskin.png
Views:	369
Size:	105.5 KB
ID:	25097   Click image for larger version

Name:	toggleafk.jpg
Views:	294
Size:	122.0 KB
ID:	25255   Click image for larger version

Name:	totalrings.png
Views:	248
Size:	651.7 KB
ID:	25682   Click image for larger version

Name:	supertrail.jpg
Views:	196
Size:	142.5 KB
ID:	26016   Click image for larger version

Name:	recurl.gif
Views:	112
Size:	4.91 MB
ID:	26124  

Click image for larger version

Name:	srb20093.gif
Views:	97
Size:	4.13 MB
ID:	26253  

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 12-25-2019   #2
D00D64
Worst Ranked 'Kart Player
Moderator
 
D00D64's Avatar
Default

Welcome to releases!
__________________
The least skilled player on the Kart Krew dev team, but I try my best. Maybe someday...

My awful Twitter account

My also awful YouTube channel
D00D64 is offline   Reply With Quote
Old 12-25-2019   #3
Naluigi
That guy who likes Luigi
 
Naluigi's Avatar
Default

For some reason tailsball isn't working when I try to turn it on and use it.
__________________
h.
Naluigi is offline   Reply With Quote
Old 12-25-2019   #4
glaber
Emblem Radar Ready
 
glaber's Avatar
Default

(sees every super) Does this mean we have 2 mods that enable super everyone now?
__________________
Welcome to my Dimension
glaber is offline   Reply With Quote
Old 12-25-2019   #5
Lolour
 
Lolour's Avatar
Default

Quote:
Originally Posted by glaber View Post
(sees every super) Does this mean we have 2 mods that enable super everyone now?
Yes, but i think i'll stick to this one.
__________________
Lolour on twitter: if srb2 is over, srb3 when?
Lolour is offline   Reply With Quote
Old 12-25-2019   #6
Pyrakid Wolfo
Default

I'd prefer if Tails still had control over his movement during tails fall like a regular jump, and was slightly less floaty, making it easier to land on enemies and resume flight... which you should be able to do. That's just in my opinion though.
Pyrakid Wolfo is offline   Reply With Quote
Old 12-26-2019   #7
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

Quote:
Originally Posted by Pyrakid Wolfo View Post
I'd prefer if Tails still had control over his movement during tails fall like a regular jump, and was slightly less floaty, making it easier to land on enemies and resume flight... which you should be able to do. That's just in my opinion though.
This is what I was originally going to do, by setting Tails' mode when he falls down to jump instead of spin. However I've ran into too many complications to get it to work, the most prominent being that it activates Tails' super form when used w/ 50+ rings.

For now this is just gonna be how it is until I either figure out or it becomes possible to interrupt SRB2's super form call, since if I can interrupt it and bring in my own code, that will not only fix that, but also allow me to rebind the key to something else, and enable functionality like being able to use it while in a shield.
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 12-26-2019   #8
SMSGARDIAN
AkitotheHedgy
 
SMSGARDIAN's Avatar
Default

Quote:
Originally Posted by glaber View Post
(sees every super) Does this mean we have 2 mods that enable super everyone now?
oof yeah we do
__________________
I'm sorry are the number keys all custom buttons now?
SMSGARDIAN is offline   Reply With Quote
Old 12-28-2019   #9
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

New update released! Changelog is provided in post.

This update will please Pyrakid in particular, since I was able to get tailsball to work with more control, due to me FINALLY being able to figure out how to interrupt SRB2's super form call, ergo letting me handle it the way I want.

The only thing that I don't really like in this thus far is that it's an all or nothing with super forms, I'm trying to figure out how to detect what characters come with a super state by default, while accounting for custom characters, because then I'll bring back everysuper as a command.

Anywho, enjoy everyone!
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 12-28-2019   #10
Sting the Cat
 
Sting the Cat's Avatar
Default

If you wish to make preserveshield not work between different zones, you might just be able to use levelname from the map header and a MapChange Hook(because from what the wiki says, MapChange happens the moment the game is told to load a new map, while MapLoad is after everything in the map is loaded) or something? If the value is the same as the previous map, then you're in the same zone. If it is different, then you are in a new zone?
__________________
Quote:
Originally Posted by SpiritCrusher View Post
If it was a redwall, it would be red.
Sting the Cat is offline   Reply With Quote
Old 12-28-2019   #11
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

Well hey, thanks! I was trying to figure out how to read levelheader data earlier for unrelated purposes, but gave up because I didn't understand how to. With a little more perseverance, I got it to work, and now it works without carrying the shield to the next zone. It'll be done in the next version!

EDIT: This also unintentionally fixed a problem where the shield carried over into special stages, but you'd lose them afterward!

Quote:
Originally Posted by Sting the Cat View Post
If you wish to make preserveshield not work between different zones, you might just be able to use levelname from the map header and a MapChange Hook(because from what the wiki says, MapChange happens the moment the game is told to load a new map, while MapLoad is after everything in the map is loaded) or something? If the value is the same as the previous map, then you're in the same zone. If it is different, then you are in a new zone?
__________________
--------------
raboot.jpeg
--------------

Last edited by birbhorse; 12-28-2019 at 07:15 PM.
birbhorse is offline   Reply With Quote
Old 12-28-2019   #12
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

Alright, new minor update out, this one should be the last one for awhile, assuming some new bugs don't pop up.
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 12-31-2019   #13
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

Big ol update just got released, I've done a lot of behind-the-scenes work to make everything work as intended. It's all been thoroughly playtested over and over with all characters to make sure nothing's breaking.

There is only a couple minor problems that need to be patched, but they're minor enough to the point where I decided it's okay to release it in this state (all of which are stated inside the lua file itself). Have fun!
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 12-31-2019   #14
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

v0.4 is now out! Tailsball is FINALLY working how it should! I've also adjusted superkey some more, now you won't automatically use your shield if you have it bound to spin, and many other minor changes including changing all true/false commands to use on/off instead.
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 01-01-2020   #15
Krabs
 
Krabs's Avatar
Default

Finally, the orderpizza command returns. It's about time.
Krabs is offline   Reply With Quote
Old 01-01-2020   #16
QuickWolfPT
 
QuickWolfPT's Avatar
Default

I haven't tested it thoroughly, but sonic and metal appear to still be able to transform using the spin key for the first time (superkey set to tossflag, tested in a save already with the emeralds)

Thanks for this mod btw, it's in my "if you're using mods youu should be using this one" folder
QuickWolfPT is offline   Reply With Quote
Old 01-01-2020   #17
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

It has been done.

v0.5 is now out! Your eyes do not deceive you, it no longer comes with a seperate netplay script, for I have figured out a way to integrate both into the same place. It has not gone through the rigorous testing I'd like it to, but mild playtesting in netplay does seem to show it works properly; and rest assured, it all works properly in singleplayer.

Also tokentorings is now finally working, so it's re-enabled by default, woo!

EDIT: v0.5 fixed the problem addressed above; it wasn't just sonic and metal, it happened to all characters, due to a failed attempt at getting the special stages to properly show "you can now go super!", I'll figure out a way to get it working one day.
__________________
--------------
raboot.jpeg
--------------

Last edited by birbhorse; 01-01-2020 at 11:11 AM.
birbhorse is offline   Reply With Quote
Old 01-01-2020   #18
Pyrakid Wolfo
Default

Tailsball isnt working when i turn it on
Pyrakid Wolfo is offline   Reply With Quote
Old 01-01-2020   #19
birbhorse
local eevee petter
 
birbhorse's Avatar
Default

Quote:
Originally Posted by Pyrakid Wolfo View Post
Tailsball isnt working when i turn it on
Could you be more specific? Second time I've seen this kinda report, but no description was given, especially since I've checked it to be working before release.

Do you have any other addons enabled (and if so which ones)? Are you using this in multiplayer? And did you enable it mid-game or somewhere else (e.g. titlescreen)?
__________________
--------------
raboot.jpeg
--------------
birbhorse is offline   Reply With Quote
Old 01-01-2020   #20
Pyrakid Wolfo
Default

Singleplayer, enabled midgame. No other addons. Pressing spin or any other button doesnt do tailsball

---------- Post added at 11:28 PM ---------- Previous post was at 11:20 PM ----------

doesnt work if i enable it during the title screen either
Pyrakid Wolfo is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:05 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.