slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
So what I need is a plugin (or a tutorial how to make existing ones work) that can do the following:
- When running a game file, it skips the title and automatically loads the last saved file
- Autosave the game using a plugin command or script call
- When no saved file is present, a new game would start
I make a really simple game and I need a really simple system.
I tried to make it using different plugins or without plugins at all usint script call but, well, I failed, duh. I imagine this could be fairly easy to achieve, if only my coding abilities WEREN'T NEXT TO NONE.
Thanks in advance!
 

SomaelCK

Lv 99 Simple Sheep
Veteran
Joined
Dec 12, 2012
Messages
710
Reaction score
1,222
First Language
Burmese
Primarily Uses
RMMV
So what I need is a plugin (or a tutorial how to make existing ones work) that can do the following:
- When running a game file, it skips the title and automatically loads the last saved file
- Autosave the game using a plugin command or script call
- When no saved file is present, a new game would start
I make a really simple game and I need a really simple system.
I tried to make it using different plugins or without plugins at all usint script call but, well, I failed, duh. I imagine this could be fairly easy to achieve, if only my coding abilities WEREN'T NEXT TO NONE.
Thanks in advance!
If you are using RMMV, there is a skip tile plugin by SRD and auto save plugin by Orange. (I dunno they are still available for download tho).

You can use script call to check if the save file exist or not, and use the script call to load the save on designated slot. I think using these plugins + script call to check/load save will get the function you want?
 

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
If you are using RMMV, there is a skip tile plugin by SRD and auto save plugin by Orange. (I dunno they are still available for download tho).

You can use script call to check if the save file exist or not, and use the script call to load the save on designated slot. I think using these plugins + script call to check/load save will get the function you want?
Neato! I'll try that. Could you please paste a script I need? Not sure I could do it myself lol
 

SomaelCK

Lv 99 Simple Sheep
Veteran
Joined
Dec 12, 2012
Messages
710
Reaction score
1,222
First Language
Burmese
Primarily Uses
RMMV
Neato! I'll try that. Could you please paste a script I need? Not sure I could do it myself lol
It's probably like this

hNOWUul.png


code here
For using in conditional command 4th tab.
Code:
DataManager.isAnySavefileExists()

and this for scriptcall to load desired saveslot. I used 1 as an example.

Code:
if (DataManager.loadGame(1)) {
  $gameSystem.onAfterLoad();
  SceneManager._scene.fadeOutAll();
  if ($gameSystem.versionId() !== $dataSystem.versionId) {
    var p = $gamePlayer;
    p.reserveTransfer($gameMap.mapId(), p.x, p.y);
    p.requestMapReload();
  }
  SceneManager.goto(Scene_Map);
}"
 

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
It's probably like this
So, it works just fine for the new game, but for autoload, it gives a whole bunch of errors. I'm using YamiSkipTitle
(about shadertilemap, i'm using only parralax mapping without tilesets, just for clarity, not sure it changes anything)
1642689549015.png
 

SomaelCK

Lv 99 Simple Sheep
Veteran
Joined
Dec 12, 2012
Messages
710
Reaction score
1,222
First Language
Burmese
Primarily Uses
RMMV
So, it works just fine for the new game, but for autoload, it gives a whole bunch of errors. I'm using YamiSkipTitle
(about shadertilemap, i'm using only parralax mapping without tilesets, just for clarity, not sure it changes anything)
View attachment 213521

Turn the plugins off and see the game load? If that works, then there is a problem with the plugin, which you need to contact the creator of it yourself for fix or patch.

P.S: Addition of plugins sometimes require you to play from the new game again. They will not work when you try to load old save files.
 

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
Turn the plugins off and see the game load? If that works, then there is a problem with the plugin, which you need to contact the creator of it yourself for fix or patch.

P.S: Addition of plugins sometimes require you to play from the new game again. They will not work when you try to load old save files.
Luckily I didn't have too many plugins. None of them seem to cause the error. I deleted my save on slot 1, ran the game - it started new game just fine. Saved to slot 1, closed the game, run it again - error.
Here's how my event looks - maybe there's an error?

for clarification - I haven't found the script for autosave yet, only for menu skip
1642700036778.png
 

SomaelCK

Lv 99 Simple Sheep
Veteran
Joined
Dec 12, 2012
Messages
710
Reaction score
1,222
First Language
Burmese
Primarily Uses
RMMV
Luckily I didn't have too many plugins. None of them seem to cause the error. I deleted my save on slot 1, ran the game - it started new game just fine. Saved to slot 1, closed the game, run it again - error.
Here's how my event looks - maybe there's an error?

for clarification - I haven't found the script for autosave yet, only for menu skip
View attachment 213554
Okay I've tested, use this code instead for loading. It will work.

Code:
if (DataManager.loadGame(DataManager.latestSavefileId())) {
   $gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y);
   $gamePlayer.requestMapReload();
   SceneManager.goto(Scene_Map);
 }
 

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
if (DataManager.loadGame(DataManager.latestSavefileId())) { $gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y); $gamePlayer.requestMapReload(); SceneManager.goto(Scene_Map); }

It works!!!!! Holy moly thank you so much. By the way, is there a way to make it autosave during an event using a script call, instead of a plugin?
 

SomaelCK

Lv 99 Simple Sheep
Veteran
Joined
Dec 12, 2012
Messages
710
Reaction score
1,222
First Language
Burmese
Primarily Uses
RMMV
It works!!!!! Holy moly thank you so much. By the way, is there a way to make it autosave during an event using a script call, instead of a plugin?
Yes you can force the game to save with script call. Supposed to be this, I haven't test it myself so check it out and see if that work lol.

Code:
$gameSystem.onBeforeSave();
if (DataManager.saveGame(1)) {
  StorageManager.cleanBackup(1);
}
 
Last edited:

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
Yes you can force the game to save with script call. Supposed to be this, I haven't test it myself so check it out and see if that work lol.

Code:
$gameSystem.onBeforeSave();
if (DataManager.saveGame(1)) {
  StorageManager.cleanBackup(1);
}
This one also works! Great! Thank you a lot!!!
 
Joined
Dec 16, 2017
Messages
320
Reaction score
1,380
First Language
English
Primarily Uses
RMMZ
This is my old jumpStart plugin. It used to work but not sure if it still does after whatever updates were made to MV.

JavaScript:
/*:
 * @plugindesc Removes title screen, 1-step save, autoload
 * permaDeath option in parameters
 *
 * @author Starbird
 *
 * @param permaDeath ON
 * @desc Set to true for permadeath. Erases save file on Gameover.
 * @default false
 * @help This plugin skips the title screen, autoloads saved game if it exists, and starts new game otherwise. There is only one save file, and saving is
 * only one step. Set permaDeath ON to true if you want the save file to be erased upon Gameover.
 */
 
 var parameters = PluginManager.parameters('jumpStart');
 var permaDeath = Boolean(parameters['permaDeath ON'] || false);
 
 //THIS CHANGES SCENE BOOT TO REMOVE TITLE SCREEN. IT CHECKS IF THERE IS A SAVED FILE AND AUTO LOADS IT IF THERE IS ONE. OTHERWISE, IT STARTS NEW GAME.
Scene_Boot.prototype.start = function() {
    Scene_Base.prototype.start.call(this);
    SoundManager.preloadImportantSounds();
    if (DataManager.isBattleTest()) {
        DataManager.setupBattleTest();
        SceneManager.goto(Scene_Battle);
     }
    else if (DataManager.isEventTest()) {
        DataManager.setupEventTest();
        SceneManager.goto(Scene_Map);
     }
    else if (DataManager.isAnySavefileExists() == true){
      DataManager.loadGame(1);
      $gameSystem.onAfterLoad();
      SceneManager.goto(Scene_Map);
      }
    else {
      this.checkPlayerLocation();
      DataManager.setupNewGame();
      SceneManager.goto(Scene_Map);
      }
    this.updateDocumentTitle();
};
//THIS CHANGES MAXIMUM NUMBER OF SAVE FILES TO 1. THIS PROBABLY ISN'T NECESSARY FOR THE SCRIPT.
 DataManager.maxSavefiles = function() {
    return 1;
      };
//THIS CHANGES 'SAVE' IN MENU --AND EVERYWHERE ELSE-- TO A SIMPLE, ONE-STEP SAVE

Scene_Save.prototype.start = function() {
    Scene_MenuBase.prototype.start.call(this);
       $gameSystem.onBeforeSave();
    DataManager.saveGame(1);
    SceneManager.push(Scene_Map);
    SoundManager.playSave();
    };
//CHANGES WHAT HAPPENS AFTER GAMEOVER
Scene_Gameover.prototype.start = function() {
    Scene_Base.prototype.start.call(this);
    this.startFadeIn(this.slowFadeSpeed(), false);
    if (permaDeath == true) {StorageManager.remove(1)}
    else {};
};
//WHAT HAPPENS AFTER GAMEOVER SCREEN INSTEAD OF TITLE SCREEN
Scene_Gameover.prototype.gotoTitle = function() {
    if (permaDeath == true) {
      this.checkPlayerLocation();
      DataManager.setupNewGame();
      SceneManager.goto(Scene_Map)
    }
    else {
        if (DataManager.isAnySavefileExists() == true){
      DataManager.loadGame(1);
      $gameSystem.onAfterLoad();
      SceneManager.goto(Scene_Map);
      }
        else {
      this.checkPlayerLocation();
      DataManager.setupNewGame();
      SceneManager.goto(Scene_Map);
         };
       };
    };
// WHAT HAPPENS ON "GAME END"
function Scene_GameEnd() {
    this.initialize.apply(this, arguments);
}

Scene_GameEnd.prototype = Object.create(Scene_MenuBase.prototype);
Scene_GameEnd.prototype.constructor = Scene_GameEnd;

Scene_GameEnd.prototype.initialize = function() {
    Scene_MenuBase.prototype.initialize.call(this);
};

Scene_GameEnd.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this.createCommandWindow();
};

Scene_GameEnd.prototype.stop = function() {
    Scene_MenuBase.prototype.stop.call(this);
    this._commandWindow.close();
};

Scene_GameEnd.prototype.createBackground = function() {
    Scene_MenuBase.prototype.createBackground.call(this);
    this.setBackgroundOpacity(128);
};

Scene_GameEnd.prototype.createCommandWindow = function() {
    this._commandWindow = new Window_GameEnd();
    this._commandWindow.setHandler('toTitle',  this.commandToTitle.bind(this));
    this._commandWindow.setHandler('cancel',   this.popScene.bind(this));
    this.addWindow(this._commandWindow);
};

Scene_GameEnd.prototype.commandToTitle = function() {
    this.fadeOutAll();
    StorageManager.remove(1)
    DataManager.setupNewGame();
    SceneManager.goto(Scene_Map);
};

function Window_GameEnd() {
    this.initialize.apply(this, arguments);
}

Window_GameEnd.prototype = Object.create(Window_Command.prototype);
Window_GameEnd.prototype.constructor = Window_GameEnd;

Window_GameEnd.prototype.initialize = function() {
    Window_Command.prototype.initialize.call(this, 0, 0);
    this.updatePlacement();
    this.openness = 0;
    this.open();
};

Window_GameEnd.prototype.windowWidth = function() {
    return 240;
};

Window_GameEnd.prototype.updatePlacement = function() {
    this.x = (Graphics.boxWidth - this.width) / 2;
    this.y = (Graphics.boxHeight - this.height) / 2;
};

Window_GameEnd.prototype.makeCommandList = function() {
    this.addCommand(TextManager.newGame, 'toTitle');
    this.addCommand(TextManager.cancel,  'cancel');
};
 

slimecat

professional daydreamer
Member
Joined
Jun 7, 2017
Messages
15
Reaction score
11
First Language
Russian
Primarily Uses
RMMV
This is my old jumpStart plugin. It used to work but not sure if it still does after whatever updates were made to MV.
Thanks!!! I have been searching for it since somaelck mentioned it but wasn't able to find one. Hope it will be useful for other ppl out there.

I'll test it rn and tell if it works or not


UPDATE: it does! Lags a little on saving but everything else is perfectly fine and permadeath is a fine addition.
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

ScreenShot_5_26_2022_11_36_32.png
added a Panic gauge to battle. it fills up according to your actions. each character has a different passive that activates once the gauge is full. also once full, a countdown starts and after each action taken, the gauges decreases. with each character, the decrease is different.
Genuinely considering making a thread informing people how to Google.
It's time for Da Update...

Prototyping some overworld abilities. Some of the characters you'll meet on your journey can use special overworld skills to travel around. This can be something like digging holes in the ground or getting hints towards your next objective.

Even more things I made.
Equipping Abilities is very important.
fLhHhZjh.gif

Forum statistics

Threads
122,157
Messages
1,146,884
Members
160,422
Latest member
Dentrix
Top