Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[VX] Game Disc/Chapter/Parts/Unique Saves

I designed this in notepad, erm, not sure if it works so this is up so someone can tell me if it works. I just didn't like how scripters aren't bothering with RMVX yet so I wanted to contribute something and this is all I can do without the program to look at.

So what is this?
This is sort of like a game disc system like in Final Fantasy VII VIII and IX, it makes it so at the end of chapter 1 of your game it tells you to get chapter 2 and then at chapter 2 it continues with your chapter 1 savefile just where you left off!
This is perfect for people who want to release their game in pieces or if someone is so excited about releasing their game they release it in chunks rather than let everyone wait 4 years for a final release date.
It is important to read the instructions carefully, if someone proves to me this works then make a demo for everyone else please!
Oh yes, it also teaches how to customise save files and keeps your unique game saves in one place so you don't have to copy and paste them to the next chapter, you just load up and play!

DEMO
Line 131:
Code:
    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
Change to:
Code:
    @continue_enabled = (Dir.glob('C:/Program Files/Common Files/Save*.rvdata').size > 0)
Change Save*.rvdata to anything you want, but keep the * before the extension (.rvdata default) this is to stop two games having conflicting save files, also makes your game more unique.

In your next parts (Don't do this on part 1!) delete lines 67 and 68 and change the when 1 below to "when 0" and when 2 to "when 1"
Then delete s1 = Vocab::new_game from the now line 149, change the s2 below to "s1" and the s3 to "s2" and delete ", s3" from the now line 151 then change the 1s of the now lines 155 and 157 to 0s, this removes the New Game option to leave Continue.

Line 158:
Code:
    return "Save#{file_index + 1}.rvdata"
Change to:
Code:
    return "C:/Program Files/Common Files/Save#{file_index + 1}.rvdata"
Change Save#{file_index + 1}.rvdata to the same as you have for Scene_Title, but keep the #{file_index + 1} before the extension (.rvdata default) this is to stop two games having conflicting save files, also makes your game more unique.

On the first game part ONLY
Line 55
Underneath the Super add this:
Code:
      if $game_switches[2] == true
    $scene = Scene_Title.new
  end
  else
Under the update_scene_change (Now on line 70) add this:
Code:
return
Replace the 2 of $game_switches[2] to the ID of your game part 2 started check, so if at the start of part 2 you turned switch 23 on then replace the 1 with 23 on the first part.

On the second game part ONLY
Line 55
Underneath the Super add this:
Code:
      if $game_switches[1] == false
    $scene = Scene_Title.new
  end
  else
Under the update_scene_change (Now on line 70) add this:
Code:
return
Replace the 1 of $game_switches[1] to the ID of your game part check, so if at the end of part 1 you turned switch 54 on then replace the 1 with 54 on the next part.

Now make sure all your game parts have the same or more maps as the part before it, so game part 1 has 10 maps, part 2 has to have 10 maps or more, part 3 has to have the same ammount as part 2 or more.
Also, keep the switches the same for each part, to make all of this easy just copy your first game part and edit the game file and save as part 2.

The finishing map of a game part needs to turn on a switch then save the game and after the save game display something telling them to start the next part or that this part has finished, then on the SAME MAP as where the game part finished have an Autorun event that is triggered by the same switch that says something like "Switch to Part 2" then returns to title. At the start of part 2 have an autorun event turn on the 2nd switch that checks if the next part has been started, make sure the autorun event ends with the switch still being on, this is to stop the previous game part loading the next game part, the first section of the scene_map spoiler above checks this.

An example save file name could be called: supergame.sav, it would look like supergame*.sav in Scene_Title line 131 and supergame#{file_index + 1}.sav in Scene_File line 158.

As I don't have RPG Maker VX (and my RMXP doesn't work) can someone please make a demo of this and I'll add it to this post? Thanks.

Screenshots? Well, it doesn't change the look at all it just changes some of the system around.

DEMO
 
VentusRoxas":73mm3n2u said:
Here is the demo. Your script works great, and was just what I was looking for.
Good Job!

P.S. This is my first post! :smile:

http://www.mediafire.com/?sharekey=9743 ... b9a8902bda
Thanks, I installed the RMVX RTP just to try this out but the game exe does nothing. I made sure all the DLLs are there but nope, the exe just does nothing at all.
Thanks anyway, perhaps it works for people with RMVX.
(At least I know my script works!)
EDIT: Works when I rename the exe to Game.exe!
EDIT2: With Disc 2 it still tells me to switch to Disc 2, did you remember to set the switch on before the saving of Disc 1 and with Disc 2 did you make sure the same switch is checked in Game_Map? supergame1.sav  :lol:
This might be an error with the script though, perhaps the game still runs the process the savefile was about to commence.

EDIT3: Okay I think found a simple solution, just make a seperate autorun event on the map where the game part finishes, this event needs to be triggered by the same switch that indicates the game part has finished (24 in my example above) and the Autorun event says something like "Game Part Finished" then returns to title screen.

EDIT4: One last bug, if you change map on part 2 then load the same file from part 1 you are on that map and are free to roam, I have another idea on how to fix this but my testing guy is getting tired of me sending him stuff.

EDIT5: Okay fixed it. Just make an autorun event at the start of part 2 that turns on a switch, then on scene_map of part 1 do all this:
On the first game part ONLY
Line 55
Underneath the Super add this:
Code:
      if $game_switches[2] == true
    $scene = Scene_Title.new
  end
  else
Under the update_scene_change (Now on line 70) add this:
Code:
return
Replace the 2 of $game_switches[2] to the ID of your game part 2 started check, so if at the start of part 2 you turned switch 23 on then replace the 1 with 23 on the first part.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top