Saving "on the fly" with smPlugin, can it be done?


As the name of this topic suggests, I wanted to create an “on the fly” save system (using CJW’s smPlugin.js) as seen in many VN’s and games, so I experimented with putting an *sm_save menu, set to true, in the stats screen. Unfortunately, you can’t use *sm_save within your stats screen (at least I couldn’t) for fear of having your game save to the stats screen and getting stuck in an endless loop (if someone has figured out a way to do this already, please, do tell, 'cause I’m lost lol.

In any case, I already have an idea for how to do it, now the question is how to wire all the working parts together, and so to this end, I have two questions:

  1. How would one create a permanently present small dropdown menu and two small buttons (1 “save” and 1 “load”) on the exact same line as the “Stats” button?

  2. And, building off of the previous question, how would one call the *sm_save function and get it to save to a slot based off of the selected slot from the dropdown menu (of course the “save” and “load” buttons mentioned in the previous question would have to be connected to their respective *sm_save and *sm_load).

Any help is much appreciated.


@Flurrywinde11 had some success trying to link it to a button here: Saving System Plugin

But it’s not behavior that I ever had in mind when writing smPlugin.
It might be worth your time trying to implement it in the stats screen now though, seeing as the way that it is handled was amended recently, I believe you’re now capable of using *gosub_scene and *return within it, so wouldn’t be surprised if smPlugin now worked too. Worth a shot at least?


Wouldn’t that create the same problem I had earlier, since it’s a completely separate scene file that it’s saving to rather than from the story scene files?


I’ve had two of you ask me this now, so I threw an extremely basic example of how you might want to start going about implementing something like this.

There is now a supported addon for this.


@Malebranche if you (Or anyone else for that matter) figures out how to implement this, would you mind letting me know please. I think this would be a great feature if created.