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.
[VX] Title Menu Script Request

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 57
Makin' a commercial game
I want to add a title menu option to an RMVX game called "The Lost Pages" that would choose a save file, and then warp the player to a certain area, no matter where they last saved, but would only appear after a certain switch was activated. If you need more detail on what it would do, then look in the spoiler below.

It would have mini quests that would be unlocked after beating the game that would unlock certain things in the main game. One, for example, would be an area where you could fight against a stronger version of any boss in the game. If you need more detail, saving would be disabled for the duration of the quest.

If you need an example to base it off of, then try any installment from the Pokemon Ranger series' Ranger Net Missions, if you are familiar with them.

Please and thank you!
« Last Edit: March 19, 2012, 11:52:07 AM by AuraMasterNeal »

***
Rep:
Level 60
Marc: Salaam. :)

While I likely will not be taking this request (as I'm currently writing a number of other scripts), I believe it would be important for you to give us just a little bit more information about how this menu would work. What information in each save file would determine where the player is warped? A game variable? Map ID? A switch (or number of switches)? Also, how would you like these selections shown in the menu? A list of all areas that the save file has access to? Or would you simply like for the player to select a save file and be warped automatically to the most recent area they have access to?

Essentially, I am not sure how you would want this system implemented, and while I will not be taking the request at this time, I thought it might be useful for anyone else taking the request to know this information. :)

Good luck. :)

**
Rep:
Level 57
Makin' a commercial game
Thanks for the support, and I will clarify more in the 1st post. I admit myself that it's a little lacking...

**
Rep:
Level 57
Makin' a commercial game
This is a need for my game! Please help!

**
Rep:
Level 57
Makin' a commercial game
I NEED THIS FOR MY GAME BUMPITY BUMP BUMP!!!!!!!!!!!!!!!!

****
Rep:
Level 71
Please wait 48 hours before bumping  :police:
Anyway I know ChainsawMelody has something like that in his game here. So I would ask him about that.

*
A-pow 2015
Rep:
Level 81
2014 Best RPG Maker User - GraphicsFor frequently finding and reporting spam and spam bots2013 Most Unsung MemberSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.How can I help you? :Da^2 + b^2 = c^2Secret Santa 2012 ParticipantSilver - GIAW 10Silver - GIAW 9Bronze - GIAW HalloweenGold - Game In A Week VII
Maybe you could do something like that if you used a map for a title screen? There are some different scripts that allow you to do that. Originalwij's script comes to mind.

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Most Missed Member2014 Zero to Hero2014 Best IRC Quote2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
Please wait 48 hours before bumping  :police:
Mini-modding is my job :mad:

But yes, I recommend using OriginalWij's script that Acolyte linked, it works really well. Spellbinder was an awesome game.
it's like a metaphor or something i don't know

**
Rep:
Level 57
Makin' a commercial game
No, this isn't what I'm looking for. I want to keep my title screen, just add a special warp option. I hope that map title screen isn't the only choice...

****
Rep:
Level 71
Anyway I know ChainsawMelody has something like that in his game here. So I would ask him about that.

**
Rep:
Level 57
Makin' a commercial game
I want to add a title menu option to an RMVX game

****
Rep:
Level 71
I know I said you can ask him how he did it. He may give you the script and some one can convert it for you.

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Most Missed Member2014 Zero to Hero2014 Best IRC Quote2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
No, this isn't what I'm looking for. I want to keep my title screen, just add a special warp option. I hope that map title screen isn't the only choice...
Ever heard of parallax? Or pictures?
it's like a metaphor or something i don't know

**
Rep:
Level 57
RMRK Junior
Too bad you're using VX, because my New Game + script for RMXP is exactly what you're looking for.



**
Rep:
Level 57
Makin' a commercial game
Alright, I've figured out how to add an option to the title menu, but I can't figure out how to trigger an "if" script with a switch. Help please?
« Last Edit: March 23, 2012, 09:30:07 PM by AuraMasterNeal »

****
Rep:
Level 71
I think you would use this.
Code: [Select]
if $game_switches[X] == true
X would be what number you want.

***
Rep:
Level 60
I think you would use this.
Code: [Select]
if $game_switches[X] == true
X would be what number you want.

Marc: Not from the title screen. The problem is that the title screen creates a new instance of $game_switches, setting them all to false by default, so checking the value of the switch ID in this way would always return false. How to get around this varies based on how you would like the switch (or switches) you need to function. Again, would you like the switch (or switches) to be activated by the switch values that are active throughout the player's save files (which could be more than one file)? If not, how would you go about determining which switches should retain their values in the title screen? If you could let me know that, I could quickly write something for you that might do what it is you're looking for. I just need to know how you would want this to work.

**
Rep:
Level 57
Makin' a commercial game
Alright, I have eliminated the need for the switch on the title screen (I'm doing it in the common event), but I:
Need to choose a save file from something other than continue
and
Start a common event upon the alternate loading.

Here's what I have on the title script so far (and yes, I created an entry in vocab for The Lost Pages with lostpages):
Code: [Select]
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs the title screen processing.
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    if $BTEST                         # If battle test
      battle_test                     # Start battle test
    else                              # If normal play
      super                           # Usual main processing
    end
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    load_database                     # Load database
    create_game_objects               # Create game objects
    check_continue                    # Determine if continue is enabled
    create_title_graphic              # Create title graphic
    create_command_window             # Create command window
    play_title_music                  # Play title screen music
  end
  #--------------------------------------------------------------------------
  # * Execute Transition
  #--------------------------------------------------------------------------
  def perform_transition
    Graphics.transition(20)
  end
  #--------------------------------------------------------------------------
  # * Post-Start Processing
  #--------------------------------------------------------------------------
  def post_start
    super
    open_command_window
  end
  #--------------------------------------------------------------------------
  # * Pre-termination Processing
  #--------------------------------------------------------------------------
  def pre_terminate
    super
    close_command_window
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_command_window
    snapshot_for_background
    dispose_title_graphic
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    @command_window.update
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0    #New game
        command_new_game
      when 1    # Continue
        command_continue
      when 2    # Shutdown
        command_shutdown
      when 3
        command_lostpages
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Load Database
  #--------------------------------------------------------------------------
  def load_database
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes       = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items         = load_data("Data/Items.rvdata")
    $data_weapons       = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies       = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas         = load_data("Data/Areas.rvdata")
  end
  #--------------------------------------------------------------------------
  # * Load Battle Test Database
  #--------------------------------------------------------------------------
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rvdata")
    $data_classes       = load_data("Data/BT_Classes.rvdata")
    $data_skills        = load_data("Data/BT_Skills.rvdata")
    $data_items         = load_data("Data/BT_Items.rvdata")
    $data_weapons       = load_data("Data/BT_Weapons.rvdata")
    $data_armors        = load_data("Data/BT_Armors.rvdata")
    $data_enemies       = load_data("Data/BT_Enemies.rvdata")
    $data_troops        = load_data("Data/BT_Troops.rvdata")
    $data_states        = load_data("Data/BT_States.rvdata")
    $data_animations    = load_data("Data/BT_Animations.rvdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
    $data_system        = load_data("Data/BT_System.rvdata")
  end
  #--------------------------------------------------------------------------
  # * Create Game Objects
  #--------------------------------------------------------------------------
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.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
  end
  #--------------------------------------------------------------------------
  # * Determine if Continue is Enabled
  #--------------------------------------------------------------------------
  def check_continue
    @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  end
  #--------------------------------------------------------------------------
  # * Create Title Graphic
  #--------------------------------------------------------------------------
  def create_title_graphic
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("Title")
  end
  #--------------------------------------------------------------------------
  # * Dispose of Title Graphic
  #--------------------------------------------------------------------------
  def dispose_title_graphic
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::new_game
    s2 = Vocab::continue
    s3 = Vocab::shutdown
    s4 = Vocab::lostpages
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    if @continue_enabled                    # If continue is enabled
      @command_window.index = 1             # Move cursor over command
    else                                    # If disabled
      @command_window.draw_item(1, false)   # Make command semi-transparent
    end
    @command_window.openness = 0
    @command_window.open
  end
  #--------------------------------------------------------------------------
  # * Dispose of Command Window
  #--------------------------------------------------------------------------
  def dispose_command_window
    @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Open Command Window
  #--------------------------------------------------------------------------
  def open_command_window
    @command_window.open
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 255
  end
  #--------------------------------------------------------------------------
  # * Close Command Window
  #--------------------------------------------------------------------------
  def close_command_window
    @command_window.close
    begin
      @command_window.update
      Graphics.update
    end until @command_window.openness == 0
  end
  #--------------------------------------------------------------------------
  # * Play Title Screen Music
  #--------------------------------------------------------------------------
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::ME.stop
  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
  #--------------------------------------------------------------------------
  # * Command: New Game
  #--------------------------------------------------------------------------
  def command_new_game
    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
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
  #--------------------------------------------------------------------------
  # * Command: Continue
  #--------------------------------------------------------------------------
  def command_continue
    if @continue_enabled
      Sound.play_decision
      $scene = Scene_File.new(false, true, false)
    else
      Sound.play_buzzer
    end
  end
 
  def command_lostpages
    Sound.play_decision
   def latest_file_index
    index = 0
    latest_time = Time.at(0)
    for i in 0...@savefile_windows.size
      if @savefile_windows[i].time_stamp > latest_time
        latest_time = @savefile_windows[i].time_stamp
        index = i
      end
    end
    return index
      $data_common_events[007]
  end
  end

  #--------------------------------------------------------------------------
  # * Command: Shutdown
  #--------------------------------------------------------------------------
  def command_shutdown
    Sound.play_decision
    RPG::BGM.fade(800)
    RPG::BGS.fade(800)
    RPG::ME.fade(800)
    $scene = nil
  end
 
  #--------------------------------------------------------------------------
  # * Battle Test
  #--------------------------------------------------------------------------
  def battle_test
    load_bt_database                  # Load battle test database
    create_game_objects               # Create game objects
    Graphics.frame_count = 0          # Initialize play time
    $game_party.setup_battle_test_members
    $game_troop.setup($data_system.test_troop_id)
    $game_troop.can_escape = true
    $game_system.battle_bgm.play
    snapshot_for_background
    $scene = Scene_Battle.new
  end
end
Please help with this!

***
Rep:
Level 60
Marc: Try this. It's ugly, only slightly more than a hackish effort, and I haven't tested it, but it should do what you want. :)

EDIT: Forgot to mention that you'll want to insert this as its own script beneath Materials but above Main, and that should do it. :)

Code: [Select]
module Vocab
  LostPages = "The Lost Pages"
end

class Scene_Title < Scene_Base
  def create_command_window
    s1 = Vocab::new_game; s2 = Vocab::continue; s3 = Vocab::shutdown
    s4 = Vocab::LostPages
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.draw_item(1, false)
      @command_window.draw_item(3, false)
    end
    @command_window.openness = 0
    @command_window.open
  end

  def update
    super
    @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
      when 3; command_lostpages
      end
    end
  end

  def command_lostpages
    if @continue_enabled
      Sound.play_decision
      $scene = Scene_File.new(false, true, true)
    else
      Sound.play_buzzer
    end
  end
end

class Scene_File < Scene_Base
  def do_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    if @from_title == true and @from_event == true
      $game_temp.common_event_id = 7
    end
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    @last_bgm.play
    @last_bgs.play
  end
end

**
Rep:
Level 57
Makin' a commercial game
Yay! ;D It works! The only thing is (and it probably isn't possible) I can't save and not keep location data. I've found a work-around, but I wish I could do it directly. But besides that, it's working like a charm!