Como o
Corvo disse, não há como fazer essa alteração sem mexer no código do jogo, mas seria interessante tu criar um código à parte ao invés de alterar o atual. Isso pois, tu alterando o código base, outros plugins podem não lidar bem com essa alteração, culminando em erros. Tendo essa alteração em um código à parte, tu pode desativar esse plugin na ocorrência desses erros para identificar se ele é o responsável.
Enfim, se desejar, crie um novo plugin para conter essa alteração. Se não, modificamos no código base mesmo. Vou tentar passar como eu olhei aqui e vi uma forma viável de fazer o que imagino que tu queira.
O que tu quer nada mais é do que encurtar o caminho feito pelo jogador ao carregar um jogo, sendo assim, tudo que tu tem que fazer é remover a parte que tu quer que seja encurtada, começando do que acontece quando tu clica na opção continuar na tela de título.
Scene_Title.prototype.commandContinue = function() {
this._commandWindow.close();
SceneManager.push(Scene_Load);
};A função acima é chamada, e ela fecha a janela de opções (onde está novo jogo, continuar e opções) e chama a tela de carregamento. Não queremos chamar a tela de carregamento, sendo assim vamos à função que carrega um jogo salvo, chamada quando confirmamos a seleção em um arquivo de jogo salvo na tela de carregamento.
Scene_Load.prototype.onSavefileOk = function() {
Scene_File.prototype.onSavefileOk.call(this);
if (DataManager.loadGame(this.savefileId())) {
this.onLoadSuccess();
} else {
this.onLoadFailure();
}
};A primeira linha é a criação da função. A segunda chama a função onSavefileOk da Scene_File, a classe mãe, que por sorte não tem nada. A terceira linha,que inicia uma condição, é a que nos interessa, pois ela é que carrega e retorna que há um jogo salvo ou retorna que não há um jogo salvo. Caso haja um jogo salvo, iremos para dentro da condição, que é o que acontece após carregar o jogo. Nesse caso, vamos para função onLoadSuccess, que está também na Scene_Load.
Scene_Load.prototype.onLoadSuccess = function() {
SoundManager.playLoad();
this.fadeOutAll();
this.reloadMapIfUpdated();
SceneManager.goto(Scene_Map);
this._loadSuccess = true;
};SoundManager.playLoad(); - Executa o som de jogo carregado.
this.fadeOutAll(); - Escurece a tela.
this.reloadMapIfUpdated(); - Atualiza o mapa se o jogo tiver sido atualizado após esse save ter sido criado.
SceneManager.goto(Scene_Map); - Muda a cena atual para a cena de mapas, onde movimentamos os personagens.
this._loadSuccess = true; - Muda o valor da variável que marca se houve sucesso ou não no carregamento do jogo salvo.
E a terceira linha acima ainda é uma função que está na Scene_Load.
Scene_Load.prototype.reloadMapIfUpdated = function() {
if ($gameSystem.versionId() !== $dataSystem.versionId) {
$gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y);
$gamePlayer.requestMapReload();
}
};Em tese teríamos que mover todos esses códigos para a Scene_Title, pois queremos que a partir dela o jogo já seja carregado, não indo para a tela de carregamento. Porém, não é só jogar tudo lá, devemos conferir a sintaxe para que tudo funcione certinho. No fim das contas teríamos algo similar a isto.
Scene_Title.prototype.commandContinue = function() {
if (DataManager.loadGame(1)) {
SoundManager.playLoad();
this.fadeOutAll();
this.reloadMapIfUpdated();
SceneManager.goto(Scene_Map);
} else {
SoundManager.playBuzzer();
this._commandWindow.activate();
}
};
Scene_Title.prototype.reloadMapIfUpdated = function() {
if ($gameSystem.versionId() !== $dataSystem.versionId) {
$gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y);
$gamePlayer.requestMapReload();
}
};Repare que como ID do save estou usando 1. Testei aqui e funcionou, ao menos superficialmente. A criação do arquivo de um jogo salvo não é uma execução de código linear, várias funções estão envolvidas nessa mecânica para que o arquivo salvo contenha todas as funções necessárias para quando o jogo for carregado, portanto não tenho certeza se está será uma solução definitiva para o que tu quer. Queria poder explicar melhor esses códigos para, mais do que tu conseguir, tu entender como chegou nesse resultado, mas esse horário e o dia não ajudam muito. Testa aí, vê se dá certo e reporta pra gente qual foi o resultado. Estaremos aqui pra ajudar em qualquer dificuldade que venha a ter.
