Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[VX] Final Fantasy Styled Savepoint

Savepoint System, styled like those seen on Final Fantasy
v1.0


Introduction
This system is basically a Savepoint System, which allows the user to choose to Save, use a Tent or cancel.  Tents recover the entire party, and are items from the database, so they're easy to manage.

Screenshot
http://www.shadowruby.co.uk/Savepoint.png[/img]

Demo
http://www.shadowruby.co.uk/savepoint.exe

Script
Code:
#===========================================
#  Final Fantasy Styled Savepoint System
#               for RMVX
#                 v1.0
#             by  Rubymatt
#===========================================

class Scene_Savepoint < Scene_Base
  def start
    super
    create_menu_background
    create_command_window
  end
  def post_start
    super
    open_command_window
  end
  def terminate
    super
    dispose_command_window
    dispose_menu_background
  end
  def update
    super
    update_menu_background
    @command_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      case @command_window.index
      when 0  
        Sound.play_decision
        $scene = Scene_File.new(true, false, true)
      when 1 
        if $game_party.item_number($data_items[@tent]) < 1         
          Sound.play_buzzer  
        else
          Sound.play_recovery
          $game_party.lose_item($data_items[@tent], 1, false)
          for actor in $game_party.members
            actor.recover_all
          end
          @command_window.dispose
          create_command_window
          @command_window.index = 1
          @command_window.update
        end
      when 2  
        Sound.play_cancel
        $scene = Scene_Map.new
      end
    end
  end
  def update_menu_background
    super
    @menuback_sprite.tone.set(0, 0, 0, 0)
  end
  def create_command_window
    #Edit Below ---------------------------------
    @tent = 21   #ID of Tent item in database
    #Stop Edit ----------------------------------
    s1 = Vocab::save
    s2 = "Tent (" + $game_party.item_number($data_items[@tent]).to_s + " left)"
    s3 = Vocab::cancel
    @command_window = Window_Command.new(172, [s1, s2, s3])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = (416 - @command_window.height) / 2
    if $game_party.item_number($data_items[@tent]) < 1         
      @command_window.draw_item(1, false)    
    end
  end
  def dispose_command_window
    @command_window.dispose
  end
  def open_command_window
    @command_window.open
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 255
  end
  def close_command_window
    @command_window.close
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 0
  end
  def dispose_command_window
    @command_window.dispose
  end
end

Instructions
Place above main, below materials, use $scene = Scene_Savepoint.new to call.

Tents are automatically figured by an item, but you need to set the ID yourself.  Go down to lines 58-60:

Code:
    #Edit Below ---------------------------------
    @tent = 21   #ID of Tent item in database
    #Stop Edit ----------------------------------

Change 21 to the ID of the Tent item in your database.

Give credit, and enjoy!
 
This can easily be made using a common event. This script might have a use, for lazier people, although it can be done quite fast and just as good with a common event call.
 
I may be wrong, but isn't it frowned upon when someone simply says, "u can do taht wiht eventing n00b!!"...?

Anyway, it looks pretty neat, useful for FF7 or similar type games. ^^
-Krobe
 
Thanks.

Like with my other script, my main aim was to get into RGSS2 so I can make some cool scripties for it.
Might make it for XP, depending on how many people actually want me to.
And at the people who want to do it with events - Sure, you do it that way.  I just think my compact central window is bigger than your huge spacy message window. ^_^
 
Exactly... anywayz... I need this for XP since my FF project is for XP... (I have to many Scripts that need to be ported to VX which is the reason I haven't switched it to VX). But I'm definitely gonna use this for my VX project as well.  :smile:
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top