RPG Maker 2003

RPG Maker 2003

jaked Jul 18, 2022 @ 8:54am
Re-loading a completed save
So I've been working on a little personal project in 2K3 with a collectible system, and I want to make it so that when you have all of said collectibles when you finish the game, you're forced to save and then the game closes. Then when you load the file you saved to afterwards, you appear back at the beginning of the game. Problem is that when I load the save file, it just reverts to the point at which the game closes again. No matter which event commands I use or how I arrange them I keep getting the same result, and maybe I'm just tired, but I can't wrap my head around what the problem is.
Here's the event as it is now (sorry if the code looks messy, i'm not the best at this stuff):

@> Fadeout BGM: 5 seconds @> Tint Screen: (0,0,0,0), @3.0s, Wait @> Hide Screen: Fadeout @> Change Actor Faceset: [You], 'portraits', 16 @> Conditional Branch: Switch [0032:100%] is ON @> Transfer Player: [0001:It Begins] (007,006), Down @> : Else @> Control Switches: [0032:100%] = ON @> Open Save Menu @> Exit Game @> : Branch End

Is it possible anyone can suggest a better way to get the effect I'm going for, or is it just not going to happen?
< >
Showing 1-7 of 7 comments
prpl_mage Jul 18, 2022 @ 9:30am 
Well, right now the second part won't run after the player is teleported. Hard to tell, feels like there should be more to this.
jaked Jul 18, 2022 @ 10:34am 
I'm not sure what else to tell you that'll be useful but if it helps, the rough idea I had in my head was:
If the switch that indicates that the player has "beaten" the game is off (which it should be at the end of the playthrough), the player would save, the Exit Game command would be called only once and never again, and somewhere in the middle of that, the switch would be turned on.
When the save file is loaded, the game would acknowledge that the switch is on, either the Exit Game command or the event containing it would be disregarded somehow, and the player would be sent to the first map in the game. They would then be able to play normally, but with certain parts of the game being altered, like a post-game in any other RPG.
(To clarify, this is more of a preference than anything so if I can't pull it off I'll just find a way to work around it)
Anton Jul 18, 2022 @ 10:49am 
Doing a Bifurcation between a save and a load can be somewhat done, I don't recommend doing this, but whatever.
Use a very long MIDI file playing at 0% volume just before opening the save menu, then use where the music is at.

Play MIDI (0% volume)
Open Save menu
Variable A = (Other : MIDI play location tick in ms)

if A is approximately 83 ms (or close to that value), it's highly likely a load
else it's likely a save, the value should be a lot higher.

But you need to actually know if a save has been done, you can cancel on the save menu and not being able to load at the correct bifurcation point, just being booted out of the game.
The workaround for that is to once again use the "Other" tab on the variable setter like this :

Play MIDI (0% volume)
Variable B = (Other : Save Count)
label 1
Open Save menu
Variable A = (Other : MIDI play location tick in ms)
Variable B - (Other : Save Count)
if B = -1 : the save is done this is where we proceed with the load check on Var A.
else (B would be 0) we have not saved yet. go back to label 1 to prompt the save menu again.
Last edited by Anton; Jul 18, 2022 @ 10:53am
jaked Jul 18, 2022 @ 11:33am 
Yeah, I probably won't bother with that. Thanks for the response
CherryDT Jul 26, 2022 @ 2:39am 
There is an easier way, but also exploiting the properties of background music:

Create a very short but not too short music file (like 2 seconds - so it can survive the time the screen needs to fade in). Play it on 0% (or make sure it's quiet in the first place) before the save menu is opened. Then after saving, check "If BGM has completed a loop" in a conditional branch. If it has, then you are still on the original session, but if it hasn't, the user loaded the game.
Last edited by CherryDT; Jul 26, 2022 @ 2:39am
jaked Jul 27, 2022 @ 3:48am 
Thanks, that worked!
Anton Jul 27, 2022 @ 5:44pm 
Completely forgot that option xD
I guess we can do both and still keep the regular music playing.
Just check for "music non looped" and either "tick is 80-85" for a MIDI, or "tick is 0" for non MIDI (it counts in seconds), and you got your load bifurcation.
< >
Showing 1-7 of 7 comments
Per page: 1530 50