Sobeman459
Member
I am using pictures for my commands in the title screen and want the continue command to change pictures. This is the code below:
Then here is the whole script:
Thanks in advanced
-Sobeman459
Code:
# 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
@command.bitmap = RPG::Cache.title("continue2")
end
end
Then here is the whole script:
Code:
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs title screen processing.
#==============================================================================
class Scene_Title
def pic_move(pic, pic_x, pic_y, speed, op_speed, max_opacity)
if pic.x <= pic_x
pic.x += pic.x + speed > pic_x ? pic_x - pic.x : speed
else
pic.x -= pic.x - speed < pic_x ? pic.x - pic_x : speed
end
if pic.y <= pic_y
pic.y += pic.y + speed > pic_y ? pic_y - pic.y : speed
else
pic.y -= pic.y - speed < pic_y ? pic.y - pic_y : speed
end
if pic.opacity < max_opacity
pic.opacity += pic.opacity + op_speed < max_opacity ? op_speed : max_opacity - pic.opacity
elsif pic.opacity > max_opacity
pic.opacity -= pic.opacity - op_speed > max_opacity ? op_speed : pic.opacity - max_opacity
end
end
#--------------------------------------------------------------------------
# * 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")
# â–¼ Here is the first change - add this fowling lines â–¼
$game_system = Game_System.new # }
$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_map.setup(010) # ID of the Map you want # }
@spriteset = Spriteset_Map.new # }
# 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
@cursor = Sprite.new
@cursor.bitmap = RPG::Cache.title("TitleCommand")
@cursor.y = 80
@cursor.x = 400
@command= Sprite.new
@command.bitmap = RPG::Cache.title("continue")
@command.y = 380
@command.x = 395
@command.z = 9999
@command2 = Sprite.new
@command2.bitmap = RPG::Cache.title("newgame")
@command2.y = 347
@command2.x = 314
@command2.z = 9999
@command3 = Sprite.new
@command3.bitmap = RPG::Cache.title("quit")
@command3.y = 410
@command3.x = 455
@command3.z = 9999
s1 = ""
s2 = ""
s3 = ""
@command_window = Window_Command2.new(180, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
# 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
@command.bitmap = RPG::Cache.title("continue2")
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
@cursor.dispose
@command.dispose
@command2.dispose
@command3.dispose
@spriteset.dispose # }
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
@cursor_x = @cursor.x
if @cursor.y != 340 + (@command_window.index * 32)#350
@cursor_y = 340 + (@command_window.index * 32)
pic_move(@cursor, @cursor_x, @cursor_y, (@cursor_y - @cursor.y).abs / 3.5, 0, 255)
end
@cursor.z= 110
for i in 0..@command_window.index # for each index defined (aka three if you use the default window: 0, 1, 2), using the placeholder variable 'i'
@cursor.x = 300 + i * 64 # sets the cursor x position to command_window's position, adds 16 because of the window border (might need to adjust that because I simply can't remember the value, then adds i times 32 to it, aka 0 for the first item, 32 for the second, 64 for the third)
end
# â–¼ Add These Lines And We're Done â–¼
$game_map.update # }
@spriteset.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
Thanks in advanced
-Sobeman459