public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

[SOLVED] Disable Manually Saving in Specific Slots

BMM Archive · July 15, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: [SOLVED] Disable Manually Saving in Specific Slots
  • Original author: Rutsah
  • Original date: September 23, 2021
  • Source thread: https://forums.rpgmakerweb.com/threads/solved-disable-manually-saving-in-specific-slots.140734/
  • Source forum path: Game Development Engines > Ruby Game System (RGSS) Scripts > RGSS3 Scripts (RMVX Ace) > RGSS3 Script Requests

Summary

Hey. My game uses custom scripts to turn the 1st save slot into an Autosave slot, and the 2nd one into a Quick-Save slot. Can anyone make a mini-script that disables manually saving into either of these slots so players don't accidentally lose their progress (but does not inhibit the either the auto or quick-save)? The following are the save-related scripts my game uses: Spoiler: Quick Save System (by Adiktuzmiko and modded by Roninator2) Code:

Archived First Post

Hey. My game uses custom scripts to turn the 1st save slot into an Autosave slot, and the 2nd one into a Quick-Save slot. Can anyone make a mini-script that disables manually saving into either of these slots so players don't accidentally lose their progress (but does not inhibit the either the auto or quick-save)?

The following are the save-related scripts my game uses:

Code:
module ADIK
  module QUICK
   
    #Is the system enabled?
    ENABLED = true
   
    #Save file index to be used by Quick save/load
    #Note that by default the first file is index 0
    INDEX = 1
   
    #SaveLoad Keybindings
    #Default are L and R keys (Q/W at the keyboard by default)
    SAVE_KEY = :L
    LOAD_KEY = :L
   
    #Set these if you want to use a button "combo" to activate the system
    #Example if SAVE_KEY is set as :L and SAVE_KEY_2 is set as :A
    #then you need to press both to activate the quick save
    SAVE_KEY_2 = nil
    LOAD_KEY_2 = :A
   
    #Is the system allowed in battle scene?
    #I suggest keeping this as false
    ALLOW_AT_BATTLE = false
   
    #Is the system allowed during the Show Text event command?
    ALLOW_AT_TEXT = false
   
  end
end

# DO NOT EDIT BELOW THIS LINE

if ADIK::QUICK::ENABLED

  class Scene_Quick < Scene_File
   
    attr_accessor :quick_save
    attr_accessor :quick_load
   
    def create_help_window
    end
    def help_window_text
    end
    #def create_savefile_viewport
      #@savefile_viewport = Viewport.new
      #@savefile_viewport.rect.y = 0
     # @savefile_viewport.rect.height = 0
    #end
    #def create_savefile_windows
     # @savefile_windows = Array.new(item_max) do |i|
       # Window_SaveFile.new(savefile_height, i)
      #end
     # @savefile_windows.each {|window| window.viewport = @savefile_viewport; window.hide }
    #end
    def init_selection
    end
   
    def update
      if @quick_save
        if DataManager.save_game(ADIK::QUICK::INDEX)
          Sound.play_save
        else
          Sound.play_buzzer
        end
        @quick_save = false
        SceneManager.return
      end
      if @quick_load
        if DataManager.load_game(ADIK::QUICK::INDEX)
          Sound.play_load
          $game_system.on_after_load
          @quick_load = false
          SceneManager.goto(Scene_Map)
        else
          Sound.play_buzzer
          @quick_load = false
          SceneManager.return
        end
      end
    end
   
    def quicksave
      @quick_save = true
    end
   
    def quickload
      @quick_load = true
    end
   
  end
 
  class Scene_Base
   
    def quicksave
      SceneManager.call(Scene_Quick)
      SceneManager.scene.quicksave
    end
   
    def quickload
      SceneManager.call(Scene_Quick)
      SceneManager.scene.quickload
    end
   
    def is_quicksave
      if ADIK::QUICK::SAVE_KEY_2 != nil
        return (Input.trigger?(ADIK::QUICK::SAVE_KEY) and Input.press?(ADIK::QUICK::SAVE_KEY_2))
      else
        if ADIK::QUICK::LOAD_KEY_2 != nil
          return false if Input.press?(ADIK::QUICK::LOAD_KEY_2)
        end
        return Input.trigger?(ADIK::QUICK::SAVE_KEY)
      end
    end
   
    def is_quickload
      if ADIK::QUICK::LOAD_KEY_2 != nil
        return (Input.trigger?(ADIK::QUICK::LOAD_KEY) and Input.press?(ADIK::QUICK::LOAD_KEY_2))
      else
        if ADIK::QUICK::SAVE_KEY_2 != nil
          return false if Input.press?(ADIK::QUICK::SAVE_KEY_2)
        end
        return Input.trigger?(ADIK::QUICK::LOAD_KEY)
      end
    end

   
    def quicksystem
      if is_quicksave and not SceneManager.scene_is?(Scene_Save)
        if SceneManager.scene_is?(Scene_Battle) then
          if ADIK::QUICK::ALLOW_AT_BATTLE
            quicksave
          end
        else
          quicksave
        end
        return
      end
      if is_quickload and not SceneManager.scene_is?(Scene_Load)
        if SceneManager.scene_is?(Scene_Battle) then
          if ADIK::QUICK::ALLOW_AT_BATTLE
            quickload
          end
        else
          quickload
        end
        return
      end
    end
   
    alias update_quicksystem update
    def update
      update_quicksystem
      quicksystem
    end
   
  end
 
  class Game_Interpreter
 
    def wait_for_message
      while $game_message.busy?
        SceneManager.scene.quicksystem
        Fiber.yield  
      end
    end
     
  end
 
end

Autosave by V.M of D.T

Code:
module DataManager
  def self.save_game_without_rescue(index)
    File.open(make_filename(index), "wb") do |file|
      $game_system.on_before_save
      scene = SceneManager.scene
      scene.dispose_lights if scene.is_a?(Scene_Map)
      Marshal.dump(make_save_header, file)
      Marshal.dump(make_save_contents, file)
      scene.setup_lights if scene.is_a?(Scene_Map)
      @last_savefile_index = index
    end
    return true
  end
end

class Scene_Map
  def dispose_lights; @spriteset.dispose_lights; end
  def setup_lights; @spriteset.setup_lights; end
end

Mog's Scene File A

Whoever helps, your names will be added in the game's credits.

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

Whoever helps, your names will be added in the game's credits.

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#039#is#save#note#saveload

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar