How do I make a "Save Point"?

From OHRRPGCE-Wiki
Jump to: navigation, search

The Final Fantasy series popularized the concept of a "Save Point", that is a special spot where you can save your game on a map that doesn't normally allow you to save. There is no built in "Save Point" feature in the OHRRPGCE, but it is easy to make one.

Three main kind of save point are available. A save point is a important part of your gameplay so you should choose carefully which one to use.

Very basic save points and save systems while tests[edit]

The two following ways are used while the game making process to test scripts and battles systems and other big implements. It is very very strongly to change for other save points as the release date of the demo version approaches!

  • The save function of the menu

Edit the map and go into the general map data. Find the line

   Save Anywhere? No. 

Change No into yes an voilà! You can know save you game absolutely anywhere. (Even and especially when you don't want to) If you use several maps while testing you may need to repeat the whole process from the beginning. This kind of save system will be useful while testing because you don't have to go to a precise x,y location before savings (it saves some time which is precious in game making)! Feel free to change for one of the save system above as you're going through the game making process!

As it is very easy to implement and very convenient while script tests I strongly recommend you to choose this one as your first save system. You may implement a better one along with your own menu and own battle scripts. This solution allows you to be sure your save system is in harmony with the game system.

  • A special shop

Launch Custom.exe and edit your game. Edit the shops. Pick a new one and name it "save point" (let's say that it will be shop 4) Edit the shop bitsets and enable save. Go back to the main menu and pick up a free text in which you write "You can now save your game" (Or anything else that will make understand the player that the save menu is going to be launched and that he can uses it )In this example it will be text 9.

Edit the conditional of the text box and go down and uses the arrows to get the following "Shop always do the following" "go to shop4 save point. Then edit the walkabout graphics and draw a basic S. Edit a map and go into the NPC menu. Pick up a free one Make it display text box 9 and change its activation to "step on") Place some of them on the testing map. If you need to go to another map while testing you need to edit the npcs again and place them again.

Please note that those 2 are really basic save points that are made quickly. They'll help you in the game making process but you really should not keep them in a demo version. Remember that the player will have to save several times if he wants to go through the end. Just like sprites it is one of the things that don't change all along the game and if it is not (very) well done, the player may complain (and would be perfectly right doing so)


A shop and a yes/no question[edit]

We'll use choices and they require tags, so feel free to click above (on "how do I make choice in a dialogue box?") if you are not at ease with them.

The first thing you need to do is make a shop. From the main menu pick Edit Shops. Then, in the shop editor, make a new shop and name it "Save Point". Now pick Edit Shop Bitsets and enable Save, and make sure everything else is disabled.

Now go back to the main menu. Pick up a free tag and name it go to save or anything else then can make you remember what the tag is used for. Then go into Edit Text Boxes. Make a new text box that says "Would you like to save the game?" (It will be text box 21 in this example) Go back and edit choice. Make choice enabled. If the player chooses yes then tag is turned on and if the player choose no the tag is turned off.

Then edit the conditionals. If tag is turned off, then "jump to the text box 21 instead"

Then you will see a line that says:

Never do the following
  restore party's HP and MP

Change that to:

Always do the following
  go to shop # Save Point

Next, create an NPC who looks like a save point (traditionally save points are sparkles of blue light) and assign the text box you just made to that NPC. Put the NPC on your map, and boom! You have a save point!

Or, you can choose to use a step-on NPC (edit NPC in the map menu and go down to "activation") with a square which has a big S on it or make a strange character that will save you the game. (see the article "How do I place shops?)

Feel free to place on map as many copies of the save point NPC as you need to be sure that the player can save the game all along the party. Just place only a few of them in areas with monsters so that the game does not become too easy!

A text box with a yes/no question and plotscripting[edit]

Just like above, you need a text box and a tag. The text box contains the question "Would you like to save the game?"(Always Text Box nb21. Choice are enabled : Yes and No. Pick up a free tag and named it "Go to save" (it will be tag 8)(or anything that makes you remember what the tag is used for. Then edit the hsi file and save your game datas.

Open your hss file and include the following script :

define script, save game, begin

#-------------------------------------------------------------------------

plotscript, save game, begin

suspend player
suspend npcs

save menu (reallysave)

resume player
resume npcs


end #end for the script
#-------------------------------------------------------------------------


Save your hss file and go back under custom.exe. Edit the text boxes and edit the conditionals. If tag 8 is turned off then "jump to text box 21" instead.

If tag 8 is turned on then you have to see the line after"always do the following" launch the script "save game" (it's the last possibilities) Save the whole thing and be ready to test.

Just like when you use a shop as a save point, fell free to place on map as many copies of the Save point Npc as you need to be sure that the player always can save the game.

Just place only a few of them in areas with monsters so that the game does not become too easy!


Use the save function of the menu[edit]

We're going to make a save system that use the save line of the main menu.

To do it, we'll need a tag and we'll also need to active some bitsets and edit the menu.

First go under custom.exe and edit your game.

Go into the tag menu and pick up a free tag. Let's say that it's tag 7 and that you've called it "save activated" or any other name that will make you remember what is the tag for.

Go into the menu editor

  • Pick "Edit Items"

Check that you can see

  • Type: 1 special screen
  • subtype 8 "Save [if allowed by map]"
  • Look for the lines that start "Enable if tag..."

Choose the tag you've just named. You need to see "enable if tag 7=ON (save activated)

  • edit the bitsets and check that "hide if disabled"

is not turned on

Go back and edit the text boxes. In one of them write

Narration : You can now save your game! (Or any equivalent that let the player understands he now can save)

Edit your .hsi file, save your rpg and go back under windows


add the 2 following scripts in your hss file

#---------------------------------------------------------------------------
script, save game script, begin

suspend player
suspend npcs

fade screen out (255,255,255) #white flash
wait (5)
fade screen in
show text box (16)
wait for text box
set tag (tag: save activated, on) #save is activated. you can save
main menu

resume player
resume npcs

end# end for the script

#---------------------------------------------------------------------------


By changing that tag in your script with "set tag" you will be able to turn the "Save" menu item off and on. But how to do this efficiently? Well that's simple : we'll use an onkeypresscript.

#---------------------------------------------------------------------------
# The on-keypress script. Add keys for player. Customize the pre-defined ones
#to embetter gameplay.

script, my OnKeypress, begin

#prevents player to save more than one time. if key esc is press and save menu 
#activated, it unactivates it.

if (key is pressed(key: esc),and, check tag (tag: save activated)) then, begin
set tag (tag: save activated, off)
end



end #end for the script
#---------------------------------------------------------------------------

What does this script do? Well, it checks that if you press esc the save menu keeps unactivated! The fact that if key is pressed (key: esc) is combined with a tag will prevent the script from overloading and bad effects on gameplay!

Now go under custom.exe. Import your hss file. Then, edit the map on which you want to test the script. Edit the general map data and make sure you see the lines

Save Anywhere : YES

On-Keypress Script : my OnKeypress


Edit the Npc and pick up a free one. Make it step-on and give it the appearance of an "S". Then place it on map. Save your rpg file and test the whole thing!

Note: It is important is you choose to save your game this way to make sure that the "save line appear" on the menu all the time, to include a flash and launch the menu using "main menu". Else, it may seems strange to the player (and a very poor gameplay)!

Autosave[edit]

Autosave basically consists in using the each step script to very transparently save your game. It is a rather special type of save system and should be in harmony with the load menu (new game/ continue instead of the basic load menu with party slots) and the main menu. See above for more details. Recommended for skilled game makers

See also[edit]