Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # Improved Save
- # By gerkrt/gerrtunk
- # Version: 1
- # License: GPL, credits
- #==============================================================================
- =begin
- ----INTRODUCTION AND SCRIPT DESCRIPTION-----
- This script has been created with the idea to give the maxium freedom and
- possibilities to the creator. I think this system open many new ways, but i may
- take some work for you.
- Anyway the script comes with a working default configuration for each feature and
- also have the option to make autoconfigurations. Turning on/off a feature only
- needs to changue one option.
- Main systems:
- -Autosave system with temporizer or/and map script calls. The autosave warns you
- activating a switch everytime is autosaved. Use a reserved slot for this system
- that can be protected.
- -Quicksave system. This lets the player to save everywhere, with the condition that
- the quick savegame will be erased. Use a reserved slot for this system, that can be
- protected. It have a must load option that protect agains cheaters.
- -One slots modes. They make all the save and load process automatically. Also exist
- a Quicksaving one slot mode that works like roguelikes ones.
- -Complete event save control system. You can now save, load, erase, check if
- savegame exist, keep savegame information in event variables, quick save
- and autosave with simple script calls. It also have a function to call the load
- game menu.
- -Very complex and complete graphic personalitzation. Now savegames can show:
- steps
- map description(based on maps id)
- map name
- gameplay time
- date
- description(a text thats saved with the game. Ex: "Chapter I")
- money
- completed game(based on event variable)
- actors names
- actors levels
- actors graphics
- actors faces
- There are two graphic configuration modes. With the automatic you can set all that
- things in two lines, but with the advanced you can select also every option position.
- and other extra things.
- It also add the follow features:
- -Backwindows and backscene based on images
- -You can configurate windows transparencys and visibility.
- -Some control over the fonts.
- -Other features:
- -You can select savegame folder, savegames names and extensions.
- -Warning messages.
- -Main menu quicksave entry
- -Configurable slot number.
- -Extended vocabulary configuration
- -High compatibality. You can disable individually the changues to game_system,
- title, end or main menu.
- -In progress features:
- -Slot sort system
- -Graphic mode with one actor games in mind.
- -Improved slot visually identification.
- -Definition of font for each text.
- -Some compatibility improvements
- -Planned features:
- -Use of icons
- -New base graphic styles
- -More complex save scene
- -Screen captures
- -Extended roguelike style support
- ----IMPORTANT INFORMATION-----
- -Activate or desactive the first value of a system desactive all the other
- options. You dont have to changue nothing.
- -You dont need to configurate nothing, it will just work in the more standard way.
- -The configuration options are sorted by importance.
- -You will find the configuration module after each module instructions.
- This is the module index:
- -Quicksave
- -Autosave
- -One slot modes
- -Graphic options
- -General options
- -Save controlled by events
- -Vocabulary
- -Compatibality
- -----QUICKSAVE-------
- To enable: Quicksave = true
- After_quicksave: If 0 the game will quit, if 1 it will go to title.
- Quicksave_sep_slot: Protect the slot making that it cant be saved via save menu
- Main_menu_quicksave: Enables the main menu quicksave entry.
- Quicksave_warning_message: It will show a warning message telling that the quicksave
- have been compelted with exit.
- Must_load: This make that if exist a quicksave slot, it will automatically load
- and erase it. The load menu is skipped.
- $game_system.disabled_quicksave = true : This script call will disable the
- quicksave main menu entry.
- $game_system.disabled_quicksave = false : This script call will enable the
- quicksave main menu entry.
- =end
- module Wep
- # Quicksave
- Quicksave = true
- After_quicksave = 0
- Must_load = true
- Quicksave_slot = 1
- Quicksave_warning_message = true
- Quicksave_sep_slot = true
- Main_menu_quicksave = true
- end
- =begin
- -----AUTOSAVE-------
- To enable: Autosave = true
- Autosave_type: Define the autosave work mode. If its 0 it will be automatically
- saved and also you can call script $game_system.map_autosave to force a autosave.
- If its 1 it will use script calls.
- Switch_info: Defines the switch that its actived when the automatic save(with timer)
- is done.
- Autosave_time: Frames between each autosave. Uses the same measure that wait command.
- 2 frames x second.`
- Autosave_sep_slot: Protect autosave slot to being saved via menu.
- $game_system.disabled_autosave = true : This script call will stop autosave timer.
- $game_system.disabled_autosave = false : This script call will start autosave timer.
- $game_system.restart_auto_save_count : This script call will restart autosave timer.
- =end
- module Wep
- # Autosave system
- Autosave = true
- Autosave_type = 0 # 0: Time and calls. 1: Only user defined map calls
- Autosave_time = 30
- Switch_info = 1
- Autosave_slot = 2
- Autosave_sep_slot = true
- end
- =begin
- -----ONE SLOT MODE-------
- To active: One_slot_mode = true
- This mode was created with games that only need one slot. They can be cinematic,
- lineal or whatever... the good thing is that with this system save and load
- are done automatically in the slot you defined, withou accesing any save meu.
- One_slot_mode_slot: Here you define the sot where the game is saved in this mode.
- -----QUICKSAVING ONE SLOT MODE-------
- To active: One_slot_mode_quicksaving = true
- This mode work like the first, but the savegame will be erased when loaded. This
- system is used for example in roguelikes where you can only die one time, but you
- can save as long you dont die.
- After_quicksaving: Defines the behavior of the post quicksave. 0 will quit, 1
- will return to title.
- Quicksaving_warning_message: Actives a warning message that says that the save
- have done correctly.
- This script will use the normal save vocabulary, but the internal
- functions are quicksave ones.
- =end
- module Wep
- # One slot modes
- One_slot_mode = false
- One_slot_mode_quicksaving = false
- After_quicksaving = 0 #Quit, scene end,scene tittle
- Quicksaving_warning_message = true
- One_slot_mode_slot = 2
- end
- =begin
- ------GRAPHIC CONFIGURATION--------
- #########################
- ######## INDEX ##########
- #########################
- 1- Image based back windows and general scene
- 2- Windows transparency
- 3- Font options
- 4- Other options
- 5- Save slot options to show
- 5.A- Novice(Automatic mode)
- 5.B- Advanced
- 6- Map descriptions, completed game % and textual description
- 7- Faces configuration
- Advice: The normal will be that just using basic and novice options you are ok.
- You dont need to read or use the rest. If you only need to configure the options
- to show in savegames go to 6.
- #################################################################
- ######## 1- Image based back windows and general scene ##########
- #################################################################
- Save_windows_background, Help_windows_background
- Scene_background.
- They should use the same sizes of the windows that default are:
- Save: 640,104
- Help: 640, 64
- General scene: 640, 480
- To load a picture you have to changue the name in something different than "":
- Scene_background = "Scene.png"
- Think that this images cant be showed if you dont adjust windws transparencys.
- ###########################################
- ######## 2- Windows transparency ##########
- ###########################################
- The variables are:
- Save_windows_opacity = 255
- Save_windows_back_opacity = 255
- Help_windows_opacity = 255
- Help_windows_back_opacity = 255
- The value must be in 0-255 range. 255 means totally shown.
- The difference betwen opacity and back opacity is that back opacity only defines
- the back part of the window and normal opcity also defines the windows borders.
- ##################################
- ######## 3- Font options #########
- ##################################
- The variables are:
- Basic_color: Defines the default color used for all normal texts.
- Description_color: This is used to improve the aestethics, for example, defines
- the color of the text "Steps" that goes before the steps number. The default
- color is based on the internal rgss system color.
- Description_bold: This option defines if it also uses a bold font.
- Save_window_font_name: Self explanatory
- Help_window_font_name: Self explanatory
- Slot_window_font_name: This defines the font of the small window that shows slot
- number.
- General_info_font_size: Defines the font size of all the texts of general
- informtion(like steps, gold...)
- Actor_info_font_size: Defines the font size of all the texts of actors
- informtion(name and level)
- If you put "" in a font name it will use the default one.
- Creating colors:
- Basic_color = Color.new(255, 255, 255, 255)
- It means:
- Basic_color = Color.new(red, green, blue, alpha). Values beyond 0-255.
- ###################################
- ######## 4- Other options #########
- ###################################
- Warning_message_position = Warning messages position. x,y
- ´
- Identifier_text_position = The texts that are drawn in empty slots positions. x,y
- Help_window_visible: Defines if the help window is visible or not.
- #############################################
- ######## 5- Save slot options to show #######
- #############################################
- #############################################
- ######## 5.A- Novice(Automatic mode) ########
- #############################################
- You only need to define what options do you want:
- Quick_general_info = ['steps', 'map_description', 'time', 'description']
- This will show the step number, map based description, gameplay time and
- a textual description. They will be draw in that order. All the other things
- are automatic, and with this modes you cant define any postion.
- You can put less than 4 options or leave one blank writing the code ''
- Code list:
- steps
- map_description: map based description(read more above)
- map_name
- time
- date
- description: textual description (read more above)
- money
- completed_game: % of completed game(read more above)
- Quick_actors_info = ['name', 'level', 'face']
- This will show actors names, levels and faces(read more above). There is an extra
- option called 'graphic' that will show the actor map character graphic.
- The graphic and face options are incompatible. Works like the first quick setting
- but with any order.
- The only configuration that you can do in this mode are:
- Face_transparency
- Face_separation
- #################################
- ######## 5.B- Advanced ##########
- #################################
- First you must know that you can use one of the two quick settings. Ex: If you define
- Quick_actors_info you will can define each option for general info.
- To put a quick setting of:
- Quick_actors_info = false
- Activating options and configurating positions:
- Show_name = true
- Name_position = [108,4]
- Now it enables show name and it will be drawed in the position x=108, y=4.
- All the options are explained in the config module.
- Advices to edit positions:
- -In loop: The actor information is show with a loop. This means that the position x
- is relative, and that is value is defined by a complex formula that you can
- somewhat influence. As a basis the x is multiplied for the index of the actor
- in the party(starting by 0) to show one before other.
- -You can use negative values in the positions.
- -You can use blank spaces in the vocabulary to control the
- distance between them.
- -All default values are the same that areused internally by the automatic mode.
- -The y position of the general informations is calculated this way:
- When first option the y is -9
- When second option the y is 11
- When third option the y is 30
- When four option the y is 46
- #################################################################################
- ######## 6- Map descriptions, completed game % and textual description ##########
- #################################################################################
- Map descriptions:
- To add new descriptions you have to add a newline like this:
- [[7,8,9,10,11], "Last boss"],
- The first are the maps ids, the second the description for they.
- The last line cant have the , at the end. And must have a closing ]
- Map_descriptions = ["Default description",[[1,2,3], "Ahmbra forest"],
- [[4,5,6], "Dragon dungeon"]]
- The default description will be used for all the maps that you dont specify
- a new description.
- In this example it will have to be like this:
- Map_descriptions = ["Default description",[[1,2,3], "Ahmbra forest"],
- [[4,5,6], "Dragon dungeon"],
- [[7,8,9,10,11], "Last boss"]]
- Completed game %:
- Variable_completed_game: This is the id of event variable in wich is based
- this option.
- Textual description:
- This a text that is going to be saved in the savegame. A phrase. It can have
- a lot of uses, for example, a game that works with argumental chapters can
- also show they here.
- To define the text call this script:
- text = "Chapter I"
- $game_system.save_description = text
- You can changue it anytime you want, and the value isnt reset when you quit
- the game.
- ##########################################
- ######## 7- Faces configuration ##########
- ##########################################
- To load faces you will need to add pictures for each actor called
- Saveface_actorname
- Ex:
- alexis, my love--> Saveface_Alexis.png
- The image can have any size between heigh 0-96 and width 0-96. Something like 96x96 is
- the standard.
- Face_transparency: This defines the grade of opaciry of the image
- Face_separation: A value in wich is based face image separation algorithm. You
- might want to use it when you are using faces with stranfe sizes.
- =end
- module Wep
- # General
- Scene_background = "" #
- Warning_message_position = [220,200]
- Identifier_text_position = [4,20]
- # Save windows
- Save_windows_opacity = 255
- Save_windows_back_opacity = 255
- Save_windows_background = ""
- # Help windows
- Help_windows_opacity = 255
- Help_windows_back_opacity = 255
- Help_window_background = ""
- Help_window_visible = true
- # Font
- Basic_color = Color.new(255, 255, 255, 255)
- Description_color = Color.new(192, 224, 255, 255)
- Description_bold = true
- Save_window_font_name = "Times New Roman"
- Help_window_font_name = "Times New Roman"
- Slot_window_font_name = "Times New Roman"
- General_info_font_size = 22
- Actor_info_font_size = 22
- # Quick configurators
- Quick_general_info = ['steps', 'description', 'time', 'map_description']
- Quick_actors_info = ['name', 'level', 'graphic']
- # Advanced configurator
- # Actors information
- Show_name = true # Names
- Name_position = [108,48]
- Show_level = true # Levels
- Level_position = [108,30]
- Show_faces = true # Faces
- Face_transparency = 75
- Face_separation = 105
- Face_position = [0,68]
- Show_graphic = false # Characters map graphics
- Graphic_position = [160,54]
- # General information
- Show_time = true # Gameplay time
- Time_position = [0,-9]
- Show_steps = false # Steps
- Steps_position = [0,-9]
- Show_date = false # Date
- Date_position = [0,11]
- Show_money = false # Money
- Money_position = [0,11]
- Show_map_name = false # Map name
- Map_name_position = [0,30]
- Show_map_description = true # Map description
- Map_description_position = [0,30]
- Map_descriptions = ["Default description",[[1,2,3], "Ahmbra forest"],
- [[4,5,6], "Dragon dungeon"]]
- Show_completed_game = true # Completed game %
- Completed_game_position = [0,47]
- Variable_completed_game = 1
- Show_description = true # Textual description
- Description_position = [0,47]
- end
- =begin
- ------GENERAL OPTIONS--------
- Save_folder: The name of the directory for save slots. Save_folder = ""
- Max slots: Maxium slots to use. Max is 1000.
- File_name: The name of the files created by the program.
- Saves_extension: Defines the save files extension.
- =end
- module Wep
- # General options
- Max_slots = 7
- Save_folder = "Saves"
- File_name = "Ranura"
- Saves_extension = ".rxdata"
- end
- =begin
- -----EVENT SAVE CONTROL-------
- Scripts calls:
- $game_system.map_quicksave : Save the game in the quicksave slot.
- $game_system.map_autosave : Save the game in the autosave slot.
- $game_system.load_slot(X) : Load the game in slot X.
- $game_system.save_slot(X) : Save the game in slot X.
- $game_system.erase_slot(X) : Erase the game in slot X.
- $game_system.slot_exist(X) : It tells you if slot X exist. Have two uses_:
- 1-The script returns true/false, you can use it in a conditional branch script option.
- 2-Script also saves true/fase in the switch defined by Sw_file_exist.
- $game_system.slot_info(X) : It save the slot information in the slots you defined.
- -Date
- -Time
- -Steps
- -Gold
- -Group actors ids
- -Group actors levels
- $scene = Scene_Load.new(true): Call load menu in a map.
- =end
- module Wep
- Sw_file_exist = 2
- Vars_actors_ids = [1,2,3,4] # Group actors ids
- Vars_actors_levels = [5,6,7,8] # Group actors levels
- # Date: Year, Month, Day, Hour, Minute, Second
- Vars_date = [9,10,11,12,13,14]
- # Time: Hour, minute, second
- Vars_time = [15,16,17]
- Vars_money = 18 # Gold
- Vars_steps = 19 # Steps
- end
- =begin
- -----VOCABULARY-------
- Remember that you can use special signes, modify spaces or make it empty with
- text=""
- =end
- module Wep
- # Save menu
- Save_description_text = "Select slot to save your game"
- Load_description_text = "Select slot to load your game"
- Money_text = "Money "
- Steps_text = "Steps "
- Level_text = "Lv."
- Completed_game_text = "% completed"
- Empty_slot = "Empty slot"
- Slot = 'Slot '
- Empty_quicksave_slot_text = "Empty quicksave slot"
- Empty_autosave_slot_text = "Empty autosave slot"
- Quicksave_slot_text = "Quicksave"
- Autosave_slot_text = "Autosave"
- Slot_dont_exist = "Nonexistent slot"
- # Main menu (Scene_Menu)
- Warning_message_text = "Quicksave completed"
- Warning_message_one_slot_text = "Save completed"
- Main_menu_quicksave_text = "Quicksave"
- Main_menu_status_text = "Status"
- Main_menu_quit_text = "Exit"
- Main_menu_save_text = "Save"
- # Title (Scene_Title)
- Title_quickload = "Quickload"
- New_game_text = "New game"
- Load_game_text = "Load"
- Quit_game_text = "Exit"
- end
- =begin
- -----COMPATIBILITY----
- This script is coded in a modular and flexible structure. You can totally
- desactivate some of the features to improve compatibility with others scripts.
- With each option is explained what features and options you will lose.
- Main_menu_modification:
- -Quicksave entry in main menu and all its options.
- -Revamped style
- -Vocabulary of that scene
- Title_modification:
- -Quicksave: Must load option
- -Vocabulary of that scene
- -One slot modes
- =end
- module Wep
- Main_menu_modification = true
- Title_modification = true
- end
Advertisement
Add Comment
Please, Sign In to add comment