FANDOM


This article describes how Essentials saves and loads the game.

Loading

LoadScreen

The load screen.

When the game is started, the player is offered the choice to start a new game or to continue their saved game. The following details of the saved game are shown:

  • The player's current location.
  • The player's name.
  • The player's graphic.
  • The number of Gym badges they have received.
  • The number of different Pokémon species seen/owned (if they have the Pokédex.
  • The amount of time they have been playing so far.
  • The player's party (if it is not empty).

The script section PokemonLoad contains the scripts that display this information and provide the New Game/Continue/Options choices, and also the scripts that load the saved data or create new data for a new game.

Saving

SaveScreen

The save screen.

One of the options in the Pause menu is to save the game. When this option is selected, the following information about the current game is shown, along with a prompt asking whether the player is sure they want to save:

  • The name of the current map.
  • The player's name.
  • The amount of time they have been playing so far.
  • The number of Gym badges they have received.
  • The number of different Pokémon species seen/owned.

If you need to ask the player whether or not they want to save their game (e.g. at a battle arena), you can run the script pbSaveScreen. Note that the player still has the option to say no to the save. If you want an event to rely on the player saying yes to that save, put the script in a Conditional Branch.

Note that, as the player can save on (nearly) any map, every map's name should be presentable to the player (e.g. "Professor Oak's Lab", not "Map054").

The script section PokemonSave contains the scripts that display this information and provide the save confirmation prompts, and also the script that saves the game's data.

What information is saved?

A lot of information needs to be saved, including the player's location, what Pokémon/items they have and where, which trainers have already been defeated, and so on. This information is stored in a number of variables, as listed below.

Variable What it is
$Trainer All information about the player, including their money, party and badges.
Graphics.frame_count The total number of frames that have passed since the game was started. Shown in the Trainer card as the play time.
$game_system  ???
$PokemonSystem Contains some values which affect the appearance of the game, including everything that can be set in the Options screen and the language.
$game_map.map_id The ID number of the map the game was saved on. Used to show the map's name in the load screen.
$game_switches The game's Global Switches.
$game_variables The game's Global Variables.
$game_self_switches The Self Switches for every event in the game.
$game_screen  ???
$MapFactory  ???
$game_player  ???
$PokemonGlobal  ???
$PokemonMap  ???
$PokemonBag An array listing all items in each pocket of the Bag.
$PokemonStorage Pokémon in Pokémon storage.

All these variables are saved in the file "Game.rxdata", in the folder "C:\Users\USERNAME\Saved Games\GAMENAME". If that folder doesn't exist (i.e. your operating system is not one of the later Windows versions), then the save file will be saved in the game folder instead.

Tips

  • If you are adding extra variables to your game that need to be saved, make sure that you edit both PScreen_Save and PScreen_Load.
    • Alternatively, save your new variables under one of the ones that are already saved (e.g. $game_player), so that you don't need to worry about whether they will be saved/loaded properly.
    • If you create a new class to store some information, and then save it, make sure that the code for this class appears above the script section PSystem_System, as having the code after it will cause an error.
  • You could show different or additional information in the save/load screens. For example, the number of times the player has saved the game, the player's money, etc.
  • You could allow multiple save files, either all for the same game or to allow multiple players to play their own separate games at the same time.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.