RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Personal Save Files

Poll

Good Script

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

Total Members Voted: 4

0 Members and 1 Guest are viewing this topic.

***
Rep:
Level 87
RMU Admin
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




Code: [Select]
#---------------------
# 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.
« Last Edit: March 10, 2009, 12:02:14 AM by Polraudio »