RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

Personal Save Files

Started by Polraudio, March 09, 2009, 11:59:35 PM

0 Members and 1 Guest are viewing this topic.

Good Script

Yes
4 (100%)
No
0 (0%)

Total Members Voted: 4

Polraudio

Personal Save Files
Version: 1.0
Author: Polraudio

Version History




  • <Version 1Beta> Started Script(Used numbers only)
  • <Version 1> Remade whole script and added names for files instead of numbers

Description


This script adds like a personal profile where you can have your own save files.
Can have as many profiles as you want.

This script is a must see.

Features


  • This script allows you to have a name for your save files


Screenshots

Nothing to show. Must see script personally.

Instructions

Place directly above Main

Script





#---------------------
# Personal Save Files
# By: Polraudio
# Credits: Polraudio, RPG Advocate, Cybersam
# Version: 1.0
#---------------------
=begin
#----------------------------------------------------
Features:
- Allows you to have up to Unlimited save files
- You can have a name for your save files

Instructions:
Place above main

Contact:
If you have any questions or comments you can find me
at www.rmxpunlimited.net(Best Method)

Or email me polraudio@gmail.com
=end
class Window_SaveFile < Window_Base
# -------------------
def initialize(file_index, filename, position)
  y = 64 + position * 104
  super(0, y, 640, 104)
  self.contents = Bitmap.new(width - 32, height - 32)
  @file_index = file_index
    @filename = "Save#{@file_index + 1}." + $savename
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
    file = File.open(@filename, "r")
    @time_stamp = file.mtime
    @characters = Marshal.load(file)
    @frame_count = Marshal.load(file)
    @game_system = Marshal.load(file)
    @game_switches = Marshal.load(file)
    @game_variables = Marshal.load(file)
    @total_sec = @frame_count / Graphics.frame_rate
    file.close
  end
  refresh
  @selected = false
end
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    name = "Record #{@file_index + 1}"
    self.contents.draw_text(4, 0, 600, 32, name)
    @name_width = contents.text_size(name).width
    if @file_exist
      for i in 0...@characters.size
        bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
        cw = bitmap.rect.width / 4
        ch = bitmap.rect.height / 4
        src_rect = Rect.new(0, 0, cw, ch)
        x = 300 - @characters.size * 32 + i * 64 - cw / 2
        self.contents.blt(x, 68 - ch, bitmap, src_rect)
      end
      hour = @total_sec / 60 / 60
      min = @total_sec / 60 % 60
      sec = @total_sec % 60
      time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
      self.contents.font.color = normal_color
      self.contents.draw_text(4, 8, 600, 32, time_string, 2)
      self.contents.font.color = normal_color
      time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
      self.contents.draw_text(4, 40, 600, 32, time_string, 2)
    end
  end
  def selected=(selected)
    @selected = selected
    update_cursor_rect
  end
  def update_cursor_rect
    if @selected
      self.cursor_rect.set(0, 0, @name_width + 8, 32)
    else
      self.cursor_rect.empty
    end
  end
end
class Scene_File
  SAVEFILE_MAX = 99
# -------------------
def initialize(help_text)
  @help_text = help_text
end
# -------------------
def main
  @help_window = Window_Help.new
  @help_window.set_text(@help_text)
  @savefile_windows = []
  @cursor_displace = 0
  for i in 0..3
    @savefile_windows.push(Window_SaveFile.new(i, make_filename(i), i))
  end
  @file_index = 0
  @savefile_windows[@file_index].selected = true
  Graphics.transition
  loop do
    Graphics.update
    Input.update
    update
    if $scene != self
      break
    end
  end
  Graphics.freeze
  @help_window.dispose
  for i in @savefile_windows
    i.dispose
  end
end
# -------------------
def update
  @help_window.update
  for i in @savefile_windows
    i.update
  end
  if Input.trigger?(Input::C)
    on_decision(make_filename(@file_index))
    $game_temp.last_file_index = @file_index
    return
  end
  if Input.trigger?(Input::B)
    on_cancel
    return
  end
  if Input.repeat?(Input::DOWN)
    if Input.trigger?(Input::DOWN) or @file_index < SAVEFILE_MAX - 1
      if @file_index == SAVEFILE_MAX - 1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @cursor_displace += 1
      if @cursor_displace == 4
        @cursor_displace = 3
        for i in @savefile_windows
          i.dispose
        end
        @savefile_windows = []
        for i in 0..3
          f = i - 2 + @file_index
          name = make_filename(f)
          @savefile_windows.push(Window_SaveFile.new(f, name, i))
          @savefile_windows[i].selected = false
        end
      end
      $game_system.se_play($data_system.cursor_se)
      @file_index = (@file_index + 1)
      if @file_index == SAVEFILE_MAX
        @file_index = SAVEFILE_MAX - 1
      end
      for i in 0..3
        @savefile_windows[i].selected = false
      end
      @savefile_windows[@cursor_displace].selected = true
      return
    end
  end
  if Input.repeat?(Input::UP)
    if Input.trigger?(Input::UP) or @file_index > 0
      if @file_index == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @cursor_displace -= 1
      if @cursor_displace == -1
        @cursor_displace = 0
        for i in @savefile_windows
          i.dispose
        end
        @savefile_windows = []
        for i in 0..3
          f = i - 1 + @file_index
          name = make_filename(f)
          @savefile_windows.push(Window_SaveFile.new(f, name, i))
          @savefile_windows[i].selected = false
        end
      end
      $game_system.se_play($data_system.cursor_se)
      @file_index = (@file_index - 1)
      if @file_index == -1
        @file_index = 0
      end
      for i in 0..3
        @savefile_windows[i].selected = false
      end
      @savefile_windows[@cursor_displace].selected = true
      return
    end
  end
end
  def make_filename(file_index)
    return "Save#{file_index + 1}." + $savename
  end
end
class Scene_Save < Scene_File
  def initialize
    super("Which file would you like to save to?")
  end
  def on_decision(filename)
    $game_system.se_play($data_system.save_se)
    file = File.open(filename, "wb")
    write_save_data(file)
    file.close
    if $game_temp.save_calling
      $game_temp.save_calling = false
      $scene = Scene_Map.new
      return
    end
    $scene = Scene_Menu.new(4)
  end
  def on_cancel
    $game_system.se_play($data_system.cancel_se)
    if $game_temp.save_calling
      $game_temp.save_calling = false
      $scene = Scene_Map.new
      return
    end
    $scene = Scene_Menu.new(4)
  end
  def write_save_data(file)
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $game_system.magic_number = $data_system.magic_number
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
  end
end
class Scene_Load < Scene_File
  def initialize
    $game_temp = Game_Temp.new
    $game_temp.last_file_index = 0
    latest_time = Time.at(0)
    for i in 0..3
      filename = make_filename(i)
      if FileTest.exist?(filename)
        file = File.open(filename, "r")
        if file.mtime > latest_time
          latest_time = file.mtime
          $game_temp.last_file_index = i
        end
        file.close
      end
    end
    super("Which file would you like to load?")
  end
  def on_decision(filename)
    unless FileTest.exist?(filename)
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    $game_system.se_play($data_system.load_se)
    file = File.open(filename, "rb")
    read_save_data(file)
    file.close
    $game_system.bgm_play($game_system.playing_bgm)
    $game_system.bgs_play($game_system.playing_bgs)
    $game_map.update
    $scene = Scene_Map.new
  end
  def on_cancel
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Title.new
  end
  def read_save_data(file)
    characters = Marshal.load(file)
    Graphics.frame_count = Marshal.load(file)
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables     = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party         = Marshal.load(file)
    $game_troop         = Marshal.load(file)
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
    if $game_system.magic_number != $data_system.magic_number
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    $game_party.refresh
  end
end
class Scene_Title
  def main
    if $BTEST
      battle_test
      return
    end
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    $game_system = Game_System.new
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    s1 = "New Game"
    s2 = "Continue"
    s3 = "Shutdown"
    @command_window = Window_Command.new(192, [s1, s2, s3])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @command_window.update
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_shutdown
      end
    end
  end
  def command_new_game
    $game_system.se_play($data_system.decision_se)
    data = []
    top_text = "Please create a name for your saves"
    text = ""
    font = "Arial"
    max = 9
    size = 24
    $savename = Text_input.new(top_text, text, font, max, size).text
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_stop
    Graphics.frame_count = 0
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    $game_party.setup_starting_members
    $game_map.setup($data_system.start_map_id)
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $game_map.autoplay
    $game_map.update
    $scene = Scene_Map.new
  end
  def command_continue
    $game_system.se_play($data_system.decision_se)
    data = []
    top_text = "Please type your save name"
    text = ""
    font = "Arial"
    max = 9
    size = 24
    $savename = Text_input.new(top_text, text, font, max, size).text
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Load.new
  end
  def command_shutdown
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = nil
  end
  def battle_test
    $data_actors        = load_data("Data/BT_Actors.rxdata")
    $data_classes       = load_data("Data/BT_Classes.rxdata")
    $data_skills        = load_data("Data/BT_Skills.rxdata")
    $data_items         = load_data("Data/BT_Items.rxdata")
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    $data_armors        = load_data("Data/BT_Armors.rxdata")
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    $data_troops        = load_data("Data/BT_Troops.rxdata")
    $data_states        = load_data("Data/BT_States.rxdata")
    $data_animations    = load_data("Data/BT_Animations.rxdata")
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    $data_system        = load_data("Data/BT_System.rxdata")
    Graphics.frame_count = 0
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    $game_party.setup_battle_test_members
    $game_temp.battle_troop_id = $data_system.test_troop_id
    $game_temp.battle_can_escape = true
    $game_map.battleback_name = $data_system.battleback_name
    $game_system.se_play($data_system.battle_start_se)
    $game_system.bgm_play($game_system.battle_bgm)
    $scene = Scene_Battle.new
  end
end
#======================================
# ? Keyboard Script
#---------------------------------------------------------------------------
# ?By: Cybersam
#   Date: 25/05/05
#   Version 4
#======================================
# How to use
# if Kboard.keyboard($R_Key_A)
#
module Kboard
#--------------------------------------------------------------------------
$RMouse_BUTTON_L = 0x01        # left mouse button
$RMouse_BUTTON_R = 0x02        # right mouse button
$RMouse_BUTTON_M = 0x04        # middle mouse button
$RMouse_BUTTON_4 = 0x05        # 4th mouse button
$RMouse_BUTTON_5 = 0x06        # 5th mouse button
#--------------------------------------------------------------------------
$R_Key_BACK      = 0x08        # BACKSPACE key
$R_Key_TAB       = 0x09        # TAB key
$R_Key_RETURN    = 0x0D        # ENTER key
$R_Key_SHIFT     = 0x10        # SHIFT key
$R_Key_CTLR      = 0x11        # CTLR key
$R_Key_ALT       = 0x12        # ALT key
$R_Key_PAUSE     = 0x13        # PAUSE key
$R_Key_CAPITAL   = 0x14        # CAPS LOCK key
$R_Key_ESCAPE    = 0x1B        # ESC key
$R_Key_SPACE     = 0x20        # SPACEBAR
$R_Key_PRIOR     = 0x21        # PAGE UP key
$R_Key_NEXT      = 0x22        # PAGE DOWN key
$R_Key_END       = 0x23        # END key
$R_Key_HOME      = 0x24        # HOME key
$R_Key_LEFT      = 0x25        # LEFT ARROW key
$R_Key_UP        = 0x26        # UP ARROW key
$R_Key_RIGHT     = 0x27        # RIGHT ARROW key
$R_Key_DOWN      = 0x28        # DOWN ARROW key
$R_Key_SELECT    = 0x29        # SELECT key
$R_Key_PRINT     = 0x2A        # PRINT key
$R_Key_SNAPSHOT  = 0x2C        # PRINT SCREEN key
$R_Key_INSERT    = 0x2D        # INS key
$R_Key_DELETE    = 0x2E        # DEL key
#--------------------------------------------------------------------------
$R_Key_0         = 0x30        # 0 key
$R_Key_1         = 0x31        # 1 key
$R_Key_2         = 0x32        # 2 key
$R_Key_3         = 0x33        # 3 key
$R_Key_4         = 0x34        # 4 key
$R_Key_5         = 0x35        # 5 key
$R_Key_6         = 0x36        # 6 key
$R_Key_7         = 0x37        # 7 key


$R_Key_8         = 0x38        # 8 key
$R_Key_9         = 0x39        # 9 key
#--------------------------------------------------------------------------
$R_Key_A         = 0x41        # A key
$R_Key_B         = 0x42        # B key
$R_Key_C         = 0x43        # C key
$R_Key_D         = 0x44        # D key
$R_Key_E         = 0x45        # E key
$R_Key_F         = 0x46        # F key
$R_Key_G         = 0x47        # G key
$R_Key_H         = 0x48        # H key
$R_Key_I         = 0x49        # I key
$R_Key_J         = 0x4A        # J key
$R_Key_K         = 0x4B        # K key
$R_Key_L         = 0x4C        # L key
$R_Key_M         = 0x4D        # M key
$R_Key_N         = 0x4E        # N key
$R_Key_O         = 0x4F        # O key
$R_Key_P         = 0x50        # P key
$R_Key_Q         = 0x51        # Q key
$R_Key_R         = 0x52        # R key
$R_Key_S         = 0x53        # S key
$R_Key_T         = 0x54        # T key
$R_Key_U         = 0x55        # U key
$R_Key_V         = 0x56        # V key
$R_Key_W         = 0x57        # W key
$R_Key_X         = 0x58        # X key
$R_Key_Y         = 0x59        # Y key
$R_Key_Z         = 0x5A        # Z key
#--------------------------------------------------------------------------
$R_Key_LWIN      = 0x5B        # Left Windows key (Microsoft Natural keyboard)
$R_Key_RWIN      = 0x5C        # Right Windows key (Natural keyboard)
$R_Key_APPS      = 0x5D        # Applications key (Natural keyboard)
#--------------------------------------------------------------------------
$R_Key_NUMPAD0   = 0x60        # Numeric keypad 0 key
$R_Key_NUMPAD1   = 0x61        # Numeric keypad 1 key
$R_Key_NUMPAD2   = 0x62        # Numeric keypad 2 key
$R_Key_NUMPAD3   = 0x63        # Numeric keypad 3 key
$R_Key_NUMPAD4   = 0x64        # Numeric keypad 4 key
$R_Key_NUMPAD5   = 0x65        # Numeric keypad 5 key
$R_Key_NUMPAD6   = 0x66        # Numeric keypad 6 key
$R_Key_NUMPAD7   = 0x67        # Numeric keypad 7 key
$R_Key_NUMPAD8   = 0x68        # Numeric keypad 8 key
$R_Key_NUMPAD9   = 0x69        # Numeric keypad 9 key
$R_Key_MULTIPLY  = 0x6A        # Multiply key (*)
$R_Key_ADD       = 0x6B        # Add key (+)
$R_Key_SEPARATOR = 0x6C        # Separator key
$R_Key_SUBTRACT  = 0x6D        # Subtract key (-)
$R_Key_DECIMAL   = 0x6E        # Decimal key
$R_Key_DIVIDE    = 0x6F        # Divide key (/)
#--------------------------------------------------------------------------
$R_Key_F1        = 0x70        # F1 key
$R_Key_F2        = 0x71        # F2 key
$R_Key_F3        = 0x72        # F3 key
$R_Key_F4        = 0x73        # F4 key
$R_Key_F5        = 0x74        # F5 key
$R_Key_F6        = 0x75        # F6 key
$R_Key_F7        = 0x76        # F7 key
$R_Key_F8        = 0x77        # F8 key
$R_Key_F9        = 0x78        # F9 key
$R_Key_F10       = 0x79        # F10 key
$R_Key_F11       = 0x7A        # F11 key
$R_Key_F12       = 0x7B        # F12 key
#--------------------------------------------------------------------------
$R_Key_NUMLOCK   = 0x90        # NUM LOCK key
$R_Key_SCROLL    = 0x91        # SCROLL LOCK key
#--------------------------------------------------------------------------
$R_Key_LSHIFT    = 0xA0        # Left SHIFT key
$R_Key_RSHIFT    = 0xA1        # Right SHIFT key
$R_Key_LCONTROL  = 0xA2        # Left CONTROL key
$R_Key_RCONTROL  = 0xA3        # Right CONTROL key
$R_Key_L_ALT     = 0xA4        # Left ALT key
$R_Key_R_ALT     = 0xA5        # Right ALT key
#--------------------------------------------------------------------------
$R_Key_SEP       = 0xBC        # , key
$R_Key_DASH      = 0xBD        # - key
$R_Key_DOTT      = 0xBE        # . key
#--------------------------------------------------------------------------
GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
GetKeyboardState = Win32API.new("user32","GetKeyState",['i'],'i')
GetSetKeyState = Win32API.new("user32","SetKeyboardState",['i'],'i')
#--------------------------------------------------------------------------
module_function
#--------------------------------------------------------------------------
def keyb(rkey)
    if GetKeyState.call(rkey) != 0
      return 1
    end
    return 0
end
  #--------------------------------------------------------------------------
def keyboard(rkey)
   GetKeyState.call(rkey) & 0x01 == 1  #
end
#--------------------------------------------------------------------------
def key(rkey, key = 0)
   GetKeyboardState.call(rkey) & 0x01 == key #
end
end
#===============================================================================
#
# Text-Input Script v1                                     created by: cybersam
#
# hi boys and ladys.... and whatever else ^-^
#
# here comes the script that allows you to insert text with the keyboard
# in your game... ^-^
#
# i didnt make it work with the default name edit/input script
# but with this it should be easier for you guys to do it...
# the reason ?!.. i said it already in other scripts... ^-^
#
# "i dont wana do a complete script that you can post in your games and it works
# without a single modification"...
#
# since there are people here that just dont even wont try to learn ruby...
# this script works perfect of its own....
# but it wont let you edit the character name without modification...
# so go on and try it out...
#
# if you need help to edit something just ask...
# i would gladly help but i wont do all the work for you...
#
# thats it from my side...
# as for now... this will be the last update
# for this script (keyboard/mouse script) from my side...
# if you find any bugs please contact me... you should already now how... ^-^
# and dont tell me "there is a bug in you script!"
# that alone is not enough... ^-^
#
# cya all ^-^
# sam
#
#===============================================================================

class Text_input < Window_Base

  def initialize(top_text = "Here comes the new Version of the keyboard script", text = "Keyboad - Script v3", font = "Arial", max = 20, size = 16, free = "_")
    @toptext = top_text
    @text =  text
    @font = font
    @max = max
    @size = size
    @free = free
    super(320 - (@max*@size+@size)/2, 240-@size*2-32, @max * @size + 32, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = @font
    self.contents.font.size = @size
    self.z = 256
    @twidth = @max*@size
    refresh
    update
  end
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, @twidth, @size, @toptext, 1)
    for i in 0...@max
      text = @text[i]
      if text == nil
        text = @free
      else
        text = text.chr
      end
      self.contents.font.color = normal_color
      self.contents.draw_text(@size * i, @size + 24, @size, @size, text, 1)
    end
  end
    def update
      loop do
        Graphics.update
        refresh
        if Kboard.keyboard($R_Key_BACK) # delete (with backspace)
          text = ""
          if @text.size != 0
            for i in 0...@text.size - 1
              text  += @text[i].chr
            end
          @text = text
          else
          end
        end
        if Kboard.keyboard($R_Key_RETURN) # Enter key... to end...
          #$game_variables[1]=@text
          return
        end

        if @text.size < @max

# putting Key's to the text


          if Kboard.keyboard($R_Key_SPACE) # space key (to insert space between the chars... ^-^)
            @text += " " # space.. you can set anything else if you want ^-^'
          end
          if Kboard.key($R_Key_CAPITAL, 1) # if caps lock is active then write the chars in higher case
            if Kboard.keyboard($R_Key_A)
              @text += "A"
            end
            if Kboard.keyboard($R_Key_B)
              @text += "B"
            end
            if Kboard.keyboard($R_Key_C)
            @text += "C"
            end
            if Kboard.keyboard($R_Key_D)
              @text += "D"
            end         
            if Kboard.keyboard($R_Key_E)
              @text += "E"
            end
            if Kboard.keyboard($R_Key_F)
              @text += "F"
            end
            if Kboard.keyboard($R_Key_G)
              @text += "G"
            end
            if Kboard.keyboard($R_Key_H)
              @text += "H"
            end
            if Kboard.keyboard($R_Key_I)
              @text += "I"
            end
            if Kboard.keyboard($R_Key_J)
              @text += "J"
            end
            if Kboard.keyboard($R_Key_K)
              @text += "K"
            end
            if Kboard.keyboard($R_Key_L)
              @text += "L"
            end
            if Kboard.keyboard($R_Key_M)
              @text += "M"
            end
            if Kboard.keyboard($R_Key_N)
              @text += "N"
            end
            if Kboard.keyboard($R_Key_O)
              @text += "O"
            end
            if Kboard.keyboard($R_Key_P)
              @text += "P"
            end
            if Kboard.keyboard($R_Key_Q)
              @text += "Q"
            end
            if Kboard.keyboard($R_Key_R)
              @text += "R"
            end
            if Kboard.keyboard($R_Key_S)
              @text += "S"
            end
            if Kboard.keyboard($R_Key_T)
              @text += "T"
            end
            if Kboard.keyboard($R_Key_U)
              @text += "U"
            end
            if Kboard.keyboard($R_Key_V)
              @text += "V"
            end
            if Kboard.keyboard($R_Key_W)
              @text += "W"
            end
            if Kboard.keyboard($R_Key_X)
              @text += "X"
            end
            if Kboard.keyboard($R_Key_Y)
              @text += "Y"
            end
            if Kboard.keyboard($R_Key_Z)
              @text += "Z"
            end

          elsif Kboard.key($R_Key_CAPITAL) # if caps lock is deactivated then write in lower case

            if Kboard.keyboard($R_Key_A)
              @text += "a"
            end
            if Kboard.keyboard($R_Key_B)
              @text += "b"
            end
            if Kboard.keyboard($R_Key_C)
            @text += "c"
            end
            if Kboard.keyboard($R_Key_D)
              @text += "d"
            end         
            if Kboard.keyboard($R_Key_E)
              @text += "e"
            end
            if Kboard.keyboard($R_Key_F)
              @text += "f"
            end
            if Kboard.keyboard($R_Key_G)
              @text += "g"
            end
            if Kboard.keyboard($R_Key_H)
              @text += "h"
            end
            if Kboard.keyboard($R_Key_I)
              @text += "i"
            end
            if Kboard.keyboard($R_Key_J)
              @text += "j"
            end
            if Kboard.keyboard($R_Key_K)
              @text += "k"
            end
            if Kboard.keyboard($R_Key_L)
              @text += "l"
            end
            if Kboard.keyboard($R_Key_M)
              @text += "m"
            end
            if Kboard.keyboard($R_Key_N)
              @text += "n"
            end
            if Kboard.keyboard($R_Key_O)
              @text += "o"
            end
            if Kboard.keyboard($R_Key_P)
              @text += "p"
            end
            if Kboard.keyboard($R_Key_Q)
              @text += "q"
            end
            if Kboard.keyboard($R_Key_R)
              @text += "r"
            end
            if Kboard.keyboard($R_Key_S)
              @text += "s"
            end
            if Kboard.keyboard($R_Key_T)
              @text += "t"
            end
            if Kboard.keyboard($R_Key_U)
              @text += "u"
            end
            if Kboard.keyboard($R_Key_V)
              @text += "v"
            end
            if Kboard.keyboard($R_Key_W)
              @text += "w"
            end
            if Kboard.keyboard($R_Key_X)
              @text += "x"
            end
            if Kboard.keyboard($R_Key_Y)
              @text += "y"
            end
            if Kboard.keyboard($R_Key_Z)
              @text += "z"
            end
          end
   
# numbers

          if Kboard.keyboard($R_Key_0)
            @text += "0"
          end
          if Kboard.keyboard($R_Key_1)
            @text += "1"
          end
          if Kboard.keyboard($R_Key_2)
            @text += "2"
          end
          if Kboard.keyboard($R_Key_3)
            @text += "3"
          end
          if Kboard.keyboard($R_Key_4)
            @text += "4"
          end
          if Kboard.keyboard($R_Key_5)
            @text += "5"
          end
          if Kboard.keyboard($R_Key_6)
            @text += "6"
          end
          if Kboard.keyboard($R_Key_7)
            @text += "7"
          end
          if Kboard.keyboard($R_Key_8)
            @text += "8"
          end
          if Kboard.keyboard($R_Key_9)
            @text += "9"
          end
         
     
         
# numpad
          if Kboard.keyboard($R_Key_NUMPAD0)
            @text += "0"
          end
          if Kboard.keyboard($R_Key_NUMPAD1)
            @text += "1"
          end
          if Kboard.keyboard($R_Key_NUMPAD2)
            @text += "2"
          end
          if Kboard.keyboard($R_Key_NUMPAD3)
            @text += "3"
          end
          if Kboard.keyboard($R_Key_NUMPAD4)
            @text += "4"
          end
          if Kboard.keyboard($R_Key_NUMPAD5)
            @text += "5"
          end
          if Kboard.keyboard($R_Key_NUMPAD6)
            @text += "6"
          end
          if Kboard.keyboard($R_Key_NUMPAD7)
            @text += "7"
          end
          if Kboard.keyboard($R_Key_NUMPAD8)
            @text += "8"
          end
          if Kboard.keyboard($R_Key_NUMPAD9)
            @text += "9"
          end

          if Kboard.keyboard($R_Key_ADD) # + (numpad)
            @text += "+"
          end
          if Kboard.keyboard($R_Key_SUBTRACT) # - (numpad)
            @text += "-"
          end
          if Kboard.keyboard($R_Key_DIVIDE) # / (numpad)
            @text += "/"
          end
          if Kboard.keyboard($R_Key_MULTIPLY) # * (numpad)
            @text += "*"
          end
         
          if Kboard.key($R_Key_CAPITAL) # since i dont want to change my keyboard layout you need to test it for you'r self...
            if Kboard.keyboard($R_Key_SEP) # , (key) (tested german keyboard layout)
              @text += ","
            end
            if Kboard.keyboard($R_Key_DASH) # - (key) (tested german keyboard layout)
              @text += "-"
            end
            if Kboard.keyboard($R_Key_DOTT) # . (key) (tested german keyboard layout)
              @text += "."
            end
          elsif Kboard.key($R_Key_CAPITAL, 1)
            if Kboard.keyboard($R_Key_SEP) # , (key) (tested german keyboard layout)
              @text += ";"
            end
            if Kboard.keyboard($R_Key_DASH) # - (key) (tested german keyboard layout)
              @text += "_"
            end
            if Kboard.keyboard($R_Key_DOTT) # . (key) (tested german keyboard layout)
              @text += ":"
            end
          end

        else
        end
      refresh
    end
  end
  def text()
    self.contents.dispose
    self.dispose
    return @text
  end
end


Credit




  • Polraudio
  • RPG Advocate
  • Cybersam

Thanks


  • RPG Advocate
  • Cybersam
  • Everyone else that likes this script and posts

Support



Need help ask here or Via PM

Known Compatibility Issues

Will replace Scene_Main, Scene_File, Scene_Save, Scene_Load, Window_SaveFile.

Demo



To simple to add a demo

Author's Notes



This script was very fun to make and anyone who wishes to use this on other sites PM me.
I was inspired by not having many save spots and it being a mess.

Restrictions

This script may only be used if credit is given.
You may modify this script and post it up but credits must stay.