Custom Title Screen MenuVersion 1.0
by Woratana
Release Date: 04/04/2008
IntroductionThis script will help you add, arrange, and edit menu in title screen easier.
You can easily move, change its size, change skin, and change opacity.
FeaturesVersion 1.0- Easy to Edit window's appearance (size, position, skin, opacity)
- Easy to Add/Arrange commands
- Included built-in method to help you make new command easier
ScriptPlace it above main
#===============================================================
# ? [VX] ? Custom Title Screen Menu ? ?
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Version: 1.0
# ? Released on: 04/04/2008
#--------------------------------------------------------------
#-----------------------------------------
# [+ FEATURES +]
#---------------------------------------
# - Easy to Edit window's appearance (size, position, skin, opacity)
# - Easy to Add/Arrange commands
# - Included built-in method to help you make new command easier
#------------------------------------------
class Scene_Title < Scene_Base
#====================================================================
# +[START SETUP SCRIPT HERE]+
#--------------------------------------------------------------
#--------------------------------------------------------------------------
# ** Command Window Appearance Setup
#----------------------------------------------------------------------
# * Type the integer number to use that value,
# e.g. COMMAND_WINDOW_X = 200
# * or type script in '...' to use number calculate by script.
# e.g. COMMAND_WINDOW_X = '(544 - @command_window.width) / 2'
# Note: You can use script in COMMAND_WINDOW_X and COMMAND_WINDOW_Y
#--------------------------------------------------------------------------
COMMAND_WINDOW_X = '(544 - @command_window.width) / 2'
COMMAND_WINDOW_Y = 288
COMMAND_WINDOW_WIDTH = 172
COMMAND_WINDOW_HEIGHT = nil # Type integer, or 'nil' for autosize.
COMMAND_WINDOW_COLUMN_MAX = 1 # Type integer, minimum is 1
COMMAND_WINDOW_ROW_MAX = 0 # Type integer, or 0 for auto row count.
COMMAND_WINDOW_SPACING = 32
COMMAND_WINDOW_SKIN = 'Window' # Windowskin file must be in folder 'System'
COMMAND_WINDOW_BACK_OPACITY = 200 # Window Background Opacity (0 - 255)
COMMAND_WINDOW_OPACITY = 255 # Window Opacity (0 - 255)
#--------------------------------------------------------------------------
# ** Commands List Setup
#----------------------------------------------------------------------
# ** Template **
# COMMAND[Command Index] = ['Text', 'Script']
# e.g. COMMAND[1] = ['Test Command', 'scene("Scene_Test.new")]
# ** Description **
# Command Index
# << Command Index start from 0. The lower index will show above higher index
# 'Text'
# << Text you want to show for that command, type text in '...'
# 'Script'
# << Script to run when player choose that command, type script in '...'
#-------------------------------------------------------------------------
# ** Built-in Method
# * List of built-in method, you can put this in 'Script' in Template
#-------------------------------------------------------------------------
# 'command_new_game' : New Game
# 'command_continue' : Continue Game
# 'command_shutdown' : Shut down Game
# 'scene("Scene_Name.new")' : Change Scene to 'Scene_Name.new'
# e.g. 'scene("Scene_End.new")'
# e.g.2 'scene("Scene_Menu.new(2)")'
# 'new(Map ID, X, Y, Members)' : New Game in specific location and members
# e.g. 'new(1, 10, 8, [1,2,3])'
# << New Game in Map ID 1 at coordinate (10,8) with Actor ID 1,2,3 in party
# Note: You may use this method for Game Tutorial
#--------------------------------------------------------------------------
COMMAND = Array.new
#--------------------------------------------------------------------------
COMMAND[0] = ['New Game', 'command_new_game']
COMMAND[1] = ['Load Game', 'command_continue']
COMMAND[2] = ['End Game', 'command_shutdown']
LOAD_GAME_COMMAND_INDEX = 1 # COMMAND index that use to Load Game.
# (This command will unable to use if there's no save file available)
#-------------------------------------------------------------------------
# +[END SETUP SCRIPT HERE]+
#-------------------------------------------------------------------------
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
command_list = []
COMMAND.each {|i| command_list.push (i[0]) }
@command_window = Window_Command.new(COMMAND_WINDOW_WIDTH, command_list, COMMAND_WINDOW_COLUMN_MAX, COMMAND_WINDOW_ROW_MAX, COMMAND_WINDOW_SPACING)
@command_window.x = COMMAND_WINDOW_X.is_a?(String) ? eval(COMMAND_WINDOW_X) : COMMAND_WINDOW_X
@command_window.y = COMMAND_WINDOW_Y.is_a?(String) ? eval(COMMAND_WINDOW_Y) : COMMAND_WINDOW_Y
@command_window.height = COMMAND_WINDOW_HEIGHT if !COMMAND_WINDOW_HEIGHT.nil?
@command_window.windowskin = Cache.system(COMMAND_WINDOW_SKIN)
@command_window.back_opacity = COMMAND_WINDOW_BACK_OPACITY
@command_window.opacity = COMMAND_WINDOW_OPACITY
if @continue_enabled # If continue is enabled
@command_window.index = LOAD_COMMAND_INDEX # Move cursor over command
else # If disabled
@command_window.draw_item(LOAD_GAME_COMMAND_INDEX, false) # Make command semi-transparent
end
@command_window.openness = 0
@command_window.open
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
@command_window.update
if Input.trigger?(Input::C)
eval(COMMAND[@command_window.index][1])
end
end
#--------------------------------------------------------------------------
# * Call Scene
#--------------------------------------------------------------------------
def scene(scene_name)
Sound.play_decision
$scene = eval(scene_name)
end
#--------------------------------------------------------------------------
# * New Game in Other Location
#--------------------------------------------------------------------------
def new(map_id, x, y, member_ary)
Sound.play_decision
$game_party.custom_starting_members(member_ary)
$game_map.setup(map_id)
$game_player.moveto(x, 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
end
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# * Custom Party Setup
#--------------------------------------------------------------------------
def custom_starting_members(member_ary)
@actors = []
member_ary.each {|i| @actors.push(i) }
end
end
Instruction- Setup script between this line...
#====================================================================
# +[START SETUP SCRIPT HERE]+
#--------------------------------------------------------------
and this line...
#-------------------------------------------------------------------------
# +[END SETUP SCRIPT HERE]+
#-------------------------------------------------------------------------
Here are the setup guides from script:
#--------------------------------------------------------------------------
# ** Command Window Appearance Setup
#----------------------------------------------------------------------
# * Type the integer number to use that value,
# e.g. COMMAND_WINDOW_X = 200
# * or type script in '...' to use number calculate by script.
# e.g. COMMAND_WINDOW_X = '(544 - @command_window.width) / 2'
# Note: You can use script in COMMAND_WINDOW_X and COMMAND_WINDOW_Y
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ** Commands List Setup
#----------------------------------------------------------------------
# ** Template **
# COMMAND[Command Index] = ['Text', 'Script']
# e.g. COMMAND[1] = ['Test Command', 'scene("Scene_Test.new")]
# ** Description **
# Command Index
# << Command Index start from 0. The lower index will show above higher index
# 'Text'
# << Text you want to show for that command, type text in '...'
# 'Script'
# << Script to run when player choose that command, type script in '...'
#-------------------------------------------------------------------------
# ** Built-in Method
# * List of built-in method, you can put this in 'Script' in Template
#-------------------------------------------------------------------------
# 'command_new_game' : New Game
# 'command_continue' : Continue Game
# 'command_shutdown' : Shut down Game
# 'scene("Scene_Name.new")' : Change Scene to 'Scene_Name.new'
# e.g. 'scene("Scene_End.new")'
# e.g.2 'scene("Scene_Menu.new(2)")'
# 'new(Map ID, X, Y, Members)' : New Game in specific location and members
# e.g. 'new(1, 10, 8, [1,2,3])'
# << New Game in Map ID 1 at coordinate (10,8) with Actor ID 1,2,3 in party
# Note: You may use this method for Game Tutorial
CompatibilityThis script rewrite methods
update and
create_command_windowso it may not work with scripts that need to edit those methods.
Author's NotesFree for use in your non-commercial work if credit included. If your project is commercial, please contact me.
Please do not redistribute this script without permission. If you want to post it on any forum, please link to this topic.