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.

Start Menu troubles

Hey guys, a new problem popped up today when I was working on my game. The start menu (New Game, Continue, Quit) is having some problems. When I go to select "Quit" or "Continue" it just won't. The selection just stays fixed on "New Game"

Anyone have an idea why this might be happening?
Any help would be appreciated.
 
Hm. This seems odd. But I would like to ask a few questions. First are you talking about when you test play the game, you can't move to the other options? Or is it that when you move to them and press enter, nothing happens? Are any of the words faded? If they are, then something has caused it and needs to be worked on. The continue is normally always faded, when test playing, cause you have no saves to play from. If you have a save to play from, then it shouldn't be faded. Secondly are you using any scripts that would conflict with this? If you don't know, maybe list the Script name's you are useing and I could tell you. Sorry if I didn't help. Note that it maybe somehow the orginal script that is the Start Menu could be messed up. If so, I could fix it.
 
Yea, the selection will not move from 'New Game'. I suspect it has something to do with the order of my scripts, as I just moved them around to correct a completely different problem. However, Im at work right now so Ill have to post a list of the scripts Im using when I get home.
 
In the Scene_Titlescreen there is lines of code saying something like:

s1: new_game
s2: continue
s3: shutdown


These three marks how many buttons there is in the TITLE SCREEN.

command_new_game

[text]

command_continue

[text]

command_shutdown

[text]


According to me, the 'command_continue' and 'command_shutdown' have the SAME conditions and codes as the 'command_new_game'. Look if these three comands are the same. If they are you may ask someone to change the other two! If there are different codes ine ach command, try to add more s-buttons (s2, s3). Maybe you have deleted s2 (continue) and s3 (shutdown) by mistake and left only New Game (s1) there. Anyway check the Scene_Title script.

Here is the original scene_title script:
Code:
#==============================================================================

# ** Scene_Title

#------------------------------------------------------------------------------

#  This class performs title screen processing.

#==============================================================================

 

class Scene_Title

  #--------------------------------------------------------------------------

  # * Main Processing

  #--------------------------------------------------------------------------

  def main

    # If battle test

    if $BTEST

      battle_test

      return

    end

    # Load database

    $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")

    # Make system object

    $game_system = Game_System.new

    # Make title graphic

    @sprite = Sprite.new

    @sprite.bitmap = RPG::Cache.title($data_system.title_name)

    # Make command window

    s1 = "New Game"

    s2 = "Load"

    s3 = "Leave Anorien"

    @command_window = Window_Command.new(192, [s1, s2, s3])

    @command_window.back_opacity = 0

    @command_window.x = 100 - @command_window.width / 2

    @command_window.y = 340

    # Continue enabled determinant

    # Check if at least one save file exists

    # If enabled, make @continue_enabled true; if disabled, make it false

    @continue_enabled = false

    for i in 0..3

      if FileTest.exist?("Save#{i+1}.rxdata")

        @continue_enabled = true

      end

    end

    # If continue is enabled, move cursor to "Continue"

    # If disabled, display "Continue" text in gray

    if @continue_enabled

      @command_window.index = 1

    else

      @command_window.disable_item(1)

    end

    # Play title BGM

    $game_system.bgm_play($data_system.title_bgm)

    # Stop playing ME and BGS

    Audio.me_stop

    Audio.bgs_stop

    # Execute transition

    Graphics.transition

    # Main loop

    loop do

      # Update game screen

      Graphics.update

      # Update input information

      Input.update

      # Frame update

      update

      # Abort loop if screen is changed

      if $scene != self

        break

      end

    end

    # Prepare for transition

    Graphics.freeze

    # Dispose of command window

    @command_window.dispose

    # Dispose of title graphic

    @sprite.bitmap.dispose

    @sprite.dispose

  end

  #--------------------------------------------------------------------------

  # * Frame Update

  #--------------------------------------------------------------------------

  def update

    # Update command window

    @command_window.update

    # If C button was pressed

    if Input.trigger?(Input::C)

      # Branch by command window cursor position

      case @command_window.index

      when 0  # New game

        command_new_game

      when 1  # Continue

        command_continue

      when 2  # Shutdown

        command_shutdown

      end

    end

  end

  #--------------------------------------------------------------------------

  # * Command: New Game

  #--------------------------------------------------------------------------

  def command_new_game

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Stop BGM

    Audio.bgm_stop

    # Reset frame count for measuring play time

    Graphics.frame_count = 0

    # Make each type of game object

    $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

    # Set up initial party

    $game_party.setup_starting_members

    # Set up initial map position

    $game_map.setup($data_system.start_map_id)

    # Move player to initial position

    $game_player.moveto($data_system.start_x, $data_system.start_y)

    # Refresh player

    $game_player.refresh

    # Run automatic change for BGM and BGS set with map

    $game_map.autoplay

    # Update map (run parallel process event)

    $game_map.update

    # Switch to map screen

    $scene = Scene_Map.new

  end

  #--------------------------------------------------------------------------

  # * Command: Continue

  #--------------------------------------------------------------------------

  def command_continue

    # If continue is disabled

    unless @continue_enabled

      # Play buzzer SE

      $game_system.se_play($data_system.buzzer_se)

      return

    end

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Switch to load screen

    $scene = Scene_Load.new

  end

  #--------------------------------------------------------------------------

  # * Command: Shutdown

  #--------------------------------------------------------------------------

  def command_shutdown

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Fade out BGM, BGS, and ME

    Audio.bgm_fade(800)

    Audio.bgs_fade(800)

    Audio.me_fade(800)

    # Shutdown

    $scene = nil

  end

  #--------------------------------------------------------------------------

  # * Battle Test

  #--------------------------------------------------------------------------

  def battle_test

    # Load database (for 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")

    # Reset frame count for measuring play time

    Graphics.frame_count = 0

    # Make each game object

    $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

    # Set up party for battle test

    $game_party.setup_battle_test_members

    # Set troop ID, can escape flag, and battleback

    $game_temp.battle_troop_id = $data_system.test_troop_id

    $game_temp.battle_can_escape = true

    $game_map.battleback_name = $data_system.battleback_name

    # Play battle start SE

    $game_system.se_play($data_system.battle_start_se)

    # Play battle BGM

    $game_system.bgm_play($game_system.battle_bgm)

    # Switch to battle screen

    $scene = Scene_Battle.new

  end

end

 


Hope this helped!

/9robin3
 

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