Heya everyone :)
I've been trying to implement an autosave system and while I have found a few scripts that do this, they go a bit beyond what I need (saving after ever map transfer and battle). All I want is to save at certain checkpoints. I have found out how to do this by using the 'DataManager.save_game(0)' script call. (which saves over slot 1) What my problem is is this:
How can I make Save Slot One unavailable when the player trys to save their game manually, but still visible when they wish to load a game?
The reason for this is simply so that players don't have their save data overwritten all the time by the autosave (if, for instance, their younger sibling started a new game in slot two, erasing all the endgame data in slot one)
Additionaly:
How can I rename 'File One' in the save/load screen to 'Autosave'?
Thanks in advance for any help! I'm sorry if these questions should be obvious - I'm not very good at scripting.
Obscuring Save Slot One
● ARCHIVED · READ-ONLY
-
-

Edit the two names to whatever you want, I suggest leaving the rest of the script alone unless you know what you're doing.
Finshed. New code:
PM me if I missed something or anything needs changed.Spoiler#┌──────────────────────────────────────────────────────────────────────────────#│■ Euphoria - Save File Name Code#└──────────────────────────────────────────────────────────────────────────────module Euphoria module Savefilefix SAVE1NAME = "Autosave" #Name of save file 1 OTHERSAVESNAME = "File:" #Name of other save files (save file number #will be added to the end) endend#┌──────────────────────────────────────────────────────────────────────────────#│■ Window_SaveFile#└──────────────────────────────────────────────────────────────────────────────class Window_SaveFile < Window_Base #ALIAS - REFRESH alias euphoria_savefilefix_windowfilesave_refresh_r11 refresh def refresh if @file_index == 0 contents.clear change_color(normal_color) name = Euphoria::Savefilefix::SAVE1NAME draw_text(4, 0, 200, line_height, name) @name_width = text_size(name).width draw_party_characters(152, 58) draw_playtime(0, contents.height - line_height, contents.width - 4, 2) else euphoria_savefilefix_windowfilesave_refresh_r11 end end end#┌──────────────────────────────────────────────────────────────────────────────#│■ Scene_Save#└──────────────────────────────────────────────────────────────────────────────class Scene_Save < Scene_File #ALIAS - FIRST_SAVEFILE_INDEX alias euphoria_savefilefix_scenesave_firstsavefileindex_r11 first_savefile_index def first_savefile_index if DataManager.last_savefile_index == 0 DataManager.latest_savefile_index else euphoria_savefilefix_scenesave_firstsavefileindex_r11 end end #ALIAS - ON_SAVEFILE_OK alias euphoria_savefilefix_scenesave_onsavefileok_r11 on_savefile_ok def on_savefile_ok super if @index == 0 Sound.play_buzzer else euphoria_savefilefix_scenesave_onsavefileok_r11 end end end#┌──────────────────────────────────────────────────────────────────────────────#│■ End Script#└────────────────────────────────────────────────────────────────────────────── -
It works perfectly :D Thanks for the help.
-
I've moved this thread to RGSSx Script Support. Please be sure to post your threads in the correct forum next time. Thank you.
This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.