Dinasty RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dinasty RPG

Fórum para interessados em Rpgs, Indie Games, RPG Maker e afins
 
InícioPortalProcurarÚltimas imagensRegistrarEntrar

 

 Zelda File System v1.1

Ir para baixo 
5 participantes
AutorMensagem
driko-rios
Viajante
Viajante
driko-rios


Mensagens : 9
Data de inscrição : 24/08/2011

Zelda File System v1.1 Empty
MensagemAssunto: Zelda File System v1.1   Zelda File System v1.1 I_icon_minitimeQua Ago 24, 2011 7:19 pm

Zelda File System v1.1


Screen:
Zelda File System v1.1 Zfs1

Script:
Código:
#===============================================================================
#  Zelda File System
#  v1.1 - 03/04/11
#  by SowS
#-------------------------------------------------------------------------------
#  Instructions:
#  Copy and paste above main.
#  Just make sure that your Actor database is not empty. :D
#-------------------------------------------------------------------------------
#  Note:
#  If you want to display the HPs and MPs, follow these steps:
#  1. Uncomment the commented lines (Ctrl + Q), specifically 289-290. They're the
#      ones with #~ at the start.
#  2. Cut the commented lines at the bottom part of the script and paste them
#      just below line 51. Uncomment them afterwards.
#  3. There you go. Now, the problem is that the guages and the text doesn't fit
#      the window. That's the reason why I didn't include them... yet. If you have
#      suggestions on how to fit them, post it and I'll try it.
#===============================================================================
 
$imported = {} if $imported == nil
$imported["SowSZeldaFileSystem"] = true
 
module SOWS_ZFS
#==============================================================================
# ** SETTINGS - START
#==============================================================================
  # Background image
  # Set to true if you want to use a background image. The dimension must be
  #  544 x 416.
  USE_BG = false
  BG_FILENAME = "zfs_bg"
  #----------------------------------------
  # Texts used in the script
  FILE_LABEL = "CHOOSE A FILE"
  PRESS_START = "PRESS START"
  START_LABEL = "START"
  ERASE_LABEL = "ERASE"
 
  # File Status window settings
  # Set to true to display. Otherwise, false. You can change the
  #  position of the things set to true. format is [x, y]
  #----------------------------------------
  # Sprites of the party members
  PARTY_SPRITES = true
  PARTY_SPRITES_POS = [80, 106]
  #----------------------------------------
  # Faces of the party members
  PARTY_FACES = true
  PARTY_FACES_POS = [0, 10]
  #----------------------------------------
  # Time played
  TIME_STAMP = true
  TIME_STAMP_POS = [0, 150]
  #----------------------------------------
  # Current gold
  GOLD_HELD = true
  GOLD_HELD_POS = [0, 200]
  #----------------------------------------
  # Current map
  MAP_ON = true
  MAP_ON_POS = [0, 175]
#==============================================================================
# ** SETTINGS - END
#==============================================================================
end
 
#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
# The instance of this class is referenced by $game_temp.
#==============================================================================
 
class Game_Temp
  attr_accessor :filename
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias sows_zfs_initialize initialize unless $@
  def initialize
    sows_zfs_initialize
    @filename = ""
  end
end
 
#==============================================================================
# ** Window_Command
#------------------------------------------------------------------------------
#  This window deals with general command choices.
#==============================================================================
 
class Window_Start < Window_Command
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias sows_zfs_initialize initialize unless $@
  def initialize(*args)
    sows_zfs_initialize(*args)
    self.opacity = 0
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    self.cursor_rect.empty        # Empty cursor
  end
end
 
#==============================================================================
# ** Window_SaveFile
#------------------------------------------------------------------------------
#  This window displays save files on the save and load screens.
#==============================================================================
 
class Window_SaveFile < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    file_index : save file index (0-3)
  #    filename  : filename
  #--------------------------------------------------------------------------
  def initialize(file_index, filename)
    super(0, 56 + file_index % 4 * 90, 544 / 3 - 32, 90)
    @file_index = file_index
    @filename = filename
    load_gamedata
    refresh
    @selected = false
  end
  #--------------------------------------------------------------------------
  # * Load Partial Game Data
  #    By default, switches and variables are not used (for expansion use,
  #    such as displaying place names)
  #--------------------------------------------------------------------------
  def load_gamedata
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
      file = File.open(@filename, "r")
      @time_stamp = file.mtime
      begin
        @characters        = Marshal.load(file)
        @frame_count        = Marshal.load(file)
        @last_bgm          = Marshal.load(file)
        @last_bgs          = Marshal.load(file)
        @game_system        = Marshal.load(file)
        @game_message      = Marshal.load(file)
        @game_switches      = Marshal.load(file)
        @game_variables    = Marshal.load(file)
        @game_self_switches = Marshal.load(file)
        @game_actors        = Marshal.load(file)
        @total_sec          = @frame_count / Graphics.frame_rate
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    filename = @file_exist ? @game_actors[1].name : ""
    name = "#{@file_index + 1} " + filename
    self.contents.draw_text(4, (self.contents.height - WLH) / 2, 200, WLH, name)
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @selected
      self.cursor_rect.set(0, (self.contents.height - WLH) / 2, self.contents.width, WLH)
    else
      self.cursor_rect.empty
    end
  end
end
 
#==============================================================================
# ** Window_FileCommand
#------------------------------------------------------------------------------
#  This window displays the commands for the current file selected.
#==============================================================================
 
class Window_FileCommand < Window_Base
  include SOWS_ZFS
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    index      : command index (0-1)
  #--------------------------------------------------------------------------
  def initialize(index)
    super(544 / 3 * index, 326, 544 / 3, 90)
    @index = index
    refresh
    @selected = false
    self.visible = false
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    case @index
    when 0; name = START_LABEL
    when 1; name = ERASE_LABEL
    end
    self.contents.draw_text(4, (self.contents.height - WLH) / 2, self.contents.width - 4, WLH, name)
  end
  #--------------------------------------------------------------------------
  # * Set Selected
  #    selected : new selected (true = selected, false = unselected)
  #--------------------------------------------------------------------------
  def selected=(selected)
    @selected = selected
    update_cursor
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @selected
      self.cursor_rect.set(0, (self.contents.height - WLH) / 2, self.contents.width, WLH)
    else
      self.cursor_rect.empty
    end
  end
end
 
#==============================================================================
# ** Window_FileStatus
#------------------------------------------------------------------------------
#  This window displays the status of the current file selected.
#==============================================================================
 
class Window_FileStatus < Window_Base
  include SOWS_ZFS
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    file_index : save file index (0-3)
  #    filename  : filename
  #--------------------------------------------------------------------------
  def initialize(filename)
    super(544 / 3 - 32, 56, 544 / 3 * 2 + 32, 270)
    @filename = filename
    load_gamedata
    refresh
    self.visible = false
  end
  #--------------------------------------------------------------------------
  # * Load Partial Game Data
  #    By default, switches and variables are not used (for expansion use,
  #    such as displaying place names)
  #--------------------------------------------------------------------------
  def load_gamedata
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(@filename)
    if @file_exist
      file = File.open(@filename, "r")
      @time_stamp = file.mtime
      begin
        @characters        = Marshal.load(file)
        @frame_count        = Marshal.load(file)
        @last_bgm          = Marshal.load(file)
        @last_bgs          = Marshal.load(file)
        @game_system        = Marshal.load(file)
        @game_message      = Marshal.load(file)
        @game_switches      = Marshal.load(file)
        @game_variables    = Marshal.load(file)
        @game_self_switches = 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)
        @total_sec          = @frame_count / Graphics.frame_rate
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    if @file_exist
      draw_party_faces(PARTY_FACES_POS[0], PARTY_FACES_POS[1]) if PARTY_FACES
      draw_party_characters(PARTY_SPRITES_POS[0], PARTY_SPRITES_POS[1]) if PARTY_SPRITES
      draw_playtime(TIME_STAMP_POS[0], TIME_STAMP_POS[1], contents.width - 4, 2) if TIME_STAMP
      draw_currency_value(@game_party.gold, GOLD_HELD_POS[0], GOLD_HELD_POS[1], contents.width - 4) if GOLD_HELD
#~      draw_party_hp(HP_GAUGE_POS[0], HP_GAUGE_POS[1]) if HP_GAUGE
#~      draw_party_mp(MP_GAUGE_POS[0], MP_GAUGE_POS[1]) if MP_GAUGE
      draw_map_name(MAP_ON_POS[0], MAP_ON_POS[1]) if MAP_ON
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Party Characters's Faces
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_party_faces(x, y)
    i = @game_party.members.size - 1
    while i >= 0
      name = @game_party.members[i].face_name
      index = @game_party.members[i].face_index
      draw_face(name, index, x + i * 88, y)
      i -= 1
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Party Characters Sprites
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_party_characters(x, y)
    for i in 0...@characters.size
      name = @characters[i][0]
      index = @characters[i][1]
      draw_character(name, index, x + i * 88, y)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Party Characters's HPs
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_party_hp(x, y)
    for i in 0...@game_party.members.size
      draw_actor_hp(@game_party.members[i], x + i * 76, y, 120)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Party Characters's FMPs
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_party_mp(x, y)
    for i in 0...@game_party.members.size
      draw_actor_mp(@game_party.members[i], x + i * 76, y, 120)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Map name
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_map_name(x, y)
    name = load_data("Data/MapInfos.rvdata")[@game_map.map_id].name
    self.contents.draw_text(x, y, contents.width - 4, WLH, name, 2)
  end
  #--------------------------------------------------------------------------
  # * Draw Play Time
  #    x : Draw spot X coordinate
  #    y : Draw spot Y coordinate
  #    width : Width
  #    align : Alignment
  #--------------------------------------------------------------------------
  def draw_playtime(x, y, width, align)
    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(x, y, width, WLH, time_string, 2)
  end
  #--------------------------------------------------------------------------
  # * Set Selected
  #    selected : new selected (true = selected, false = unselected)
  #--------------------------------------------------------------------------
  def selected=(selected)
    @selected = selected
    if @selected;    self.visible = true
    else;            self.visible = false
    end
  end
end
 
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs the title screen processing.
#==============================================================================
 
class Scene_Title < Scene_Base
  include SOWS_ZFS
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    @command_window.update
    if Input.trigger?(Input::C)
      Sound.play_decision
      $scene = Scene_File.new(false, true, false)
      $game_temp.filename = $game_actors[1].name
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_Start.new(172, [PRESS_START])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    @command_window.openness = 0
    @command_window.open
  end
end
 
#==============================================================================
# ** Scene_Name
#------------------------------------------------------------------------------
#  This class performs name input screen processing.
#==============================================================================
 
class Scene_Name < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(file_index = -1)
    @file_index = file_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    if @file_index != -1
      $game_actors[1].name = $game_temp.filename
      @actor = $game_actors[1]
      max_char = 10
    else
      @actor = $game_actors[$game_temp.name_actor_id]
      max_char = $game_temp.name_max_char
    end
    if !$imported["SowSNISDesign"]
      @input_window = Window_NameInput.new
      @edit_window = Window_NameEdit.new(@actor, max_char)
    end
  end
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    if @file_index == -1
      $scene = Scene_Map.new
    else
      $scene = Scene_File.new(true, false, false, @file_index)
      @actor = nil
    end
  end
end
 
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  This class performs the save and load screen processing.
#==============================================================================
 
class Scene_File < Scene_Base
  include SOWS_ZFS
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    saving    : save flag (if false, load screen)
  #    from_title : flag: it was called from "Continue" on the title screen
  #    from_event : flag: it was called from the "Call Save Screen" event
  #    from_nis  : flag: it was called from the name input screen
  #--------------------------------------------------------------------------
  alias sows_zfs_initialize initialize unless $@
  def initialize(saving, from_title, from_event, file_index = -1)
    sows_zfs_initialize(saving, from_title, from_event)
    @file_index = file_index
    @cmd_index = 0
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    if @file_index != -1
      Sound.play_save
      # Make file
      file = File.open("Save#{@file_index + 1}.rvdata", "wb")
      write_save_data(file)
      file.close
    end
    super
    create_menu_background
    @help_window = Window_Help.new
    create_savefile_windows
    create_filecommand_windows
    @index = self.latest_file_index
    @help_window.set_text(FILE_LABEL)
    @savefile_windows[@index].selected = true
    @filestatus_windows[@index].selected = true
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias sows_zfs_terminate terminate unless $@
  def terminate
    sows_zfs_terminate
    dispose_status_windows
    dispose_command_windows
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias sows_zfs_update update unless $@
  def update
    super
    update_menu_background
    @help_window.update
    update_status_windows
    update_savefile_windows
      update_command_windows
    if @filecommand_windows[0].visible
      update_command_selection
    else
      update_savefile_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create File Command Window
  #--------------------------------------------------------------------------
  def create_filecommand_windows
    @filecommand_windows = []
    for i in 0..1
      @filecommand_windows.push(Window_FileCommand.new(i))
    end
  end
  #--------------------------------------------------------------------------
  # * Dispose of File Status Window
  #--------------------------------------------------------------------------
  def dispose_status_windows
    for window in @filestatus_windows
      window.dispose
    end
  end
  #--------------------------------------------------------------------------
  # * Dispose File Command Window
  #--------------------------------------------------------------------------
  def dispose_command_windows
    for window in @filecommand_windows
      window.dispose
    end
  end
  #--------------------------------------------------------------------------
  # * Update File Command Window
  #--------------------------------------------------------------------------
  def update_command_windows
    for window in @filecommand_windows
      window.update
    end
  end
  #--------------------------------------------------------------------------
  # * Update Save File Window
  #--------------------------------------------------------------------------
  def update_status_windows
    for window in @filestatus_windows
      window.update
    end
  end
  #--------------------------------------------------------------------------
  # * Update Save File Selection
  #--------------------------------------------------------------------------
  def update_savefile_selection
    if Input.trigger?(Input::C)
      determine_savefile
    elsif Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    else
      last_index = @index
      if Input.repeat?(Input::DOWN)
        cursor_down(Input.trigger?(Input::DOWN))
      end
      if Input.repeat?(Input::UP)
        cursor_up(Input.trigger?(Input::UP))
      end
      if @index != last_index
        Sound.play_cursor
        @savefile_windows[last_index].selected = false
        @savefile_windows[@index].selected = true
        @filestatus_windows[last_index].selected = false
        @filestatus_windows[@index].selected = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # *Update File Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::C)
      case @cmd_index
      when 0; do_load
      when 1; do_erase
      end
    elsif Input.trigger?(Input::B)
      case @index
      when 0; @savefile_windows[1].visible = @savefile_windows[2].visible = true
      when 1; @savefile_windows[0].visible = @savefile_windows[2].visible = true
      when 2; @savefile_windows[0].visible = @savefile_windows[1].visible = true
      end
      @savefile_windows[@index].selected = true
      @filecommand_windows[@cmd_index].selected = false
      @filecommand_windows[0].visible = false
      @filecommand_windows[1].visible = false
      @item_max = 3
    else
      last_index = @cmd_index
      if Input.repeat?(Input::LEFT)
        cursor_left(Input.trigger?(Input::LEFT))
      end
      if Input.repeat?(Input::RIGHT)
        cursor_right
      end
      if @cmd_index != last_index
        Sound.play_cursor
        @filecommand_windows[last_index].selected = false
        @filecommand_windows[@cmd_index].selected = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Move cursor right
  #    wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_right
    if @cmd_index == 0; @cmd_index = 1
    elsif @cmd_index == 1; @cmd_index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Move cursor left
  #    wrap : Wraparound allowed
  #--------------------------------------------------------------------------
  def cursor_left(wrap)
    if @cmd_index > 0 or wrap
      @cmd_index = (@cmd_index - 1 + @item_max) % @item_max
    end
  end
  #--------------------------------------------------------------------------
  # * Confirm Save File
  #--------------------------------------------------------------------------
  def determine_savefile
    if @savefile_windows[@index].file_exist
      case @index
      when 0; @savefile_windows[1].visible = @savefile_windows[2].visible = false
      when 1; @savefile_windows[0].visible = @savefile_windows[2].visible = false
      when 2; @savefile_windows[0].visible = @savefile_windows[1].visible = false
      end
      @savefile_windows[@index].selected = false
      @filecommand_windows[0].visible = true
      @filecommand_windows[1].visible = true
      @filecommand_windows[0].selected = true
      @item_max = 2
    else
      do_save
    end
    $game_temp.last_file_index = @index
  end
  #--------------------------------------------------------------------------
  # * Execute Save
  #--------------------------------------------------------------------------
  def do_save
    # Set player location
    confirm_player_location
    Sound.play_decision
    $game_party.setup_starting_members            # Initial party
    $game_map.setup($data_system.start_map_id)    # Initial map position
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $file_name = "Save#{@index + 1}.rvdata"
    $scene = Scene_Name.new(@index)
  end
  #--------------------------------------------------------------------------
  # * Execute Load
  #--------------------------------------------------------------------------
  def do_load
    Sound.play_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    @last_bgm.play
    @last_bgs.play
  end
  #--------------------------------------------------------------------------
  # * Execute Load
  #--------------------------------------------------------------------------
  def do_erase
    Sound.play_decision
    File.delete(@savefile_windows[@index].filename)
    $scene = Scene_File.new(true, false, false)
  end
  #--------------------------------------------------------------------------
  # * Check Player Start Location Existence
  #--------------------------------------------------------------------------
  def confirm_player_location
    if $data_system.start_map_id == 0
      print "Player start location not set."
      exit
    end
  end
  #--------------------------------------------------------------------------
  # * Create Save File Window
  #--------------------------------------------------------------------------
  def create_savefile_windows
    @savefile_windows = []
    @filestatus_windows = []
    for i in 0..2
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
      @filestatus_windows.push(Window_FileStatus.new(make_filename(i)))
    end
    @item_max = 3
  end
  #--------------------------------------------------------------------------
  # * Write Save Data
  #    file : write file object (opened)
  #--------------------------------------------------------------------------
  alias sows_zfs_write_save_data write_save_data unless $@
  def write_save_data(file)
    sows_zfs_write_save_data(file)
    Marshal.dump($file_name, file)
  end
  #--------------------------------------------------------------------------
  # * Read Save Data
  #    file : file object for reading (opened)
  #--------------------------------------------------------------------------
  alias sows_zfs_read_save_data read_save_data unless $@
  def read_save_data(file)
    sows_zfs_read_save_data(file)
    $file_name = Marshal.load(file)
  end
  #--------------------------------------------------------------------------
  # * Create Menu Background
  #--------------------------------------------------------------------------
  alias sows_zfs_create_menu_background create_menu_background unless $@
  def create_menu_background
    if USE_BG
      @menuback_sprite = Sprite.new
      @menuback_sprite.bitmap = Cache.picture(BG_FILENAME)
      @menuback_sprite.x = @menuback_sprite.y = 0
    else
      sows_zfs_create_menu_background
    end
  end
end
 
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================
 
class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        do_save if !$file_name.nil?
      when 5      # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Execute Save
  #--------------------------------------------------------------------------
  def do_save
    file = File.open($file_name, "wb")
    write_save_data(file)
    file.close
    Sound.play_save
  end
  #--------------------------------------------------------------------------
  # * Write Save Data
  #    file : write file object (opened)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    characters = []
    for actor in $game_party.members
      characters.push([actor.character_name, actor.character_index])
    end
    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Marshal.dump(characters,          file)
    Marshal.dump(Graphics.frame_count, file)
    Marshal.dump(@last_bgm,            file)
    Marshal.dump(@last_bgs,            file)
    Marshal.dump($game_system,        file)
    Marshal.dump($game_message,        file)
    Marshal.dump($game_switches,      file)
    Marshal.dump($game_variables,      file)
    Marshal.dump($game_self_switches,  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)
    Marshal.dump($file_name,          file)
  end
end
#~  #----------------------------------------
#~  # Party members' HP
#~  HP_GAUGE = true
#~  HP_GAUGE_POS = [0, 108]
#~  #----------------------------------------
#~  # Party members' MP
#~  MP_GAUGE = true
#~  MP_GAUGE_POS = [0, 140]

Creditos:
SowS
Ir para o topo Ir para baixo
Zendion
Cordenador
Cordenador
Zendion


Mensagens : 372
Data de inscrição : 31/07/2011
Idade : 27
Localização : Leme

Zelda File System v1.1 Empty
MensagemAssunto: q manero   Zelda File System v1.1 I_icon_minitimeQua Ago 24, 2011 7:24 pm

Cara esse menu de save é manero
Mais to usano um melhor(KKK)
Vlw por dispor
FUI
Ir para o topo Ir para baixo
https://www.youtube.com/user/Zendionx
XDJonasXD
Administrador
Administrador
XDJonasXD


Mensagens : 179
Data de inscrição : 26/07/2011
Idade : 27
Localização : São Paulo

Zelda File System v1.1 Empty
MensagemAssunto: Re: Zelda File System v1.1   Zelda File System v1.1 I_icon_minitimeQui Ago 25, 2011 12:27 pm

Combina com o menu, que você postou legal
Ir para o topo Ir para baixo
https://dynastyrpg.forumeiros.com
Thiago_Lief
Expert
Expert
Thiago_Lief


Mensagens : 148
Data de inscrição : 03/08/2011
Idade : 29
Localização : Presidente Prudente - SP

Zelda File System v1.1 Empty
MensagemAssunto: Re: Zelda File System v1.1   Zelda File System v1.1 I_icon_minitimeQui Ago 25, 2011 1:11 pm

Legal mesmo, e concordo com o Jonas, combina mesmo com o menu que vc postou
Ir para o topo Ir para baixo
http://www.wix.com/diegoxbm/new_dreams
Ryugo
Administrador
Administrador
Ryugo


Mensagens : 285
Data de inscrição : 30/07/2011
Idade : 26
Localização : São José dos Campos

Zelda File System v1.1 Empty
MensagemAssunto: Re: Zelda File System v1.1   Zelda File System v1.1 I_icon_minitimeQui Ago 25, 2011 6:58 pm

Achei feio,mas alguém pode gostar!! +1 Crédito
Ir para o topo Ir para baixo
https://dynastyrpg.forumeiros.com
Conteúdo patrocinado





Zelda File System v1.1 Empty
MensagemAssunto: Re: Zelda File System v1.1   Zelda File System v1.1 I_icon_minitime

Ir para o topo Ir para baixo
 
Zelda File System v1.1
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Scene File V1.0 MogHunter
» First System Factory [VX,XP e RM2K3]
» RubySoft - Action System
» Custom Menu System 3 Characters
» GTBS ! Tactical Battle System

Permissões neste sub-fórumNão podes responder a tópicos
Dinasty RPG  :: Scripts (RGSS/RGSS2) :: Scripts (RGSS2)-
Ir para: