I happened across this script the other day (though I cannot remember where it's from) and fell in love with it. I was hoping to get it on RMXP as well, but it doesn't work. If anyone knows if there is an XP version already out there, or can make it work for XP, I would be greatly appreciative.
Script:
Demo link:
http://www.mediafire.com/?jo2gwmy5y5w
I take no credit for this script. I just want to see if I can't use it on XP.
Script:
Code:
#==============================================================================
# Hanzo Kimura's Animated Title Screen
# Scripted Date: 02/24/09
# PLEASE CREDIT: Hanzo Kimura
# if Your going to use this script for your title
#
# IMAGES USED(All in Graphics/System) Folder:
# "TitleBGLoop.jpg" - For Scrolling Upward Effect
# "TitleBGSprite.jpg" - For Horizantally Endless Scrolling
# "TitleCursor.png" - For the title cursor
# "TitleMenu01.png" - For the title Menu (First Menu Active)
# "TitleMenu02.png" - For the title Menu (Second Menu Active)
# "TitleMenu03.png" - For the title Menu (Third Menu Active)
# "TitleLogo.png" - For the Title Logo
# "TitleSpark01.png" - For the Title Spark
# "TitleSpark02.png" - For the Title Spark
# "TitleSymbol.png" - For the Title Symbol
# "TitleCursorStrike01.png" - For Title Cursor Strike Effect(Left)
# "TitleCursorStrike02.png" - For Title Cursor Strike Effect(Right)
#
#
$TITLE_MENU_X = 200 # Your Title Menu X Position
$TITLE_MENU_Y = 260 # Your Title Menu Y Position
$LOGO_X = 0 # Your Logo X Position
$LOGO_Y = 0 # Your Logo Y Position
$SPARK_COUNT = 350 # SPARK COUNT: Frames Before the Spark Appears again
$SPARK_SPEED = 10 # The Speed of the Sparks
$MENU_NEW = 260 # THE Y Position of the Cursor if NEW GAME
$MENU_CONTINUE = 305 # THE Y Position of the Cursor if CONTINUE
$MENU_EXIT = 345 # THE Y Position of the Cursor if EXIT
$SYMBOL_SPEED = 1
#DONT EDIT BELOW
$titleloop = 1
$SYMBOL_RESET = false
#------------------------------------------------------------------------------
# This class performs the title screen processing.
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
def initialize
end
#--------------------------------------------------------------------------
# * 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
#=======Wave Animation=========
@wave.update
#=======Symbol Animation=========
@symbol.ox -= $SYMBOL_SPEED
if $SYMBOL_RESET == true && @symbol.opacity == 0
$SYMBOL_RESET = false
elsif @symbol.opacity != 255
@symbol.opacity += 3
end
#=======Spark Animation========
@spark01.x += $SPARK_SPEED
@spark02.x -= $SPARK_SPEED
if $SPARK_COUNT != 0
$SPARK_COUNT -= 1
else
$SPARK_COUNT = 350
@spark01.x = -172
@spark02.x = 544
end
if @spark01.opacity != 255
@spark01.opacity += 20
@spark02.opacity += 20
end
#=======Background Animation=========
if @sprite.oy != 0
@sprite.oy -= 1
elsif @sprite.oy == 0
@sprite.ox += 1
end
if @wave.oy != 0
@wave.oy -= 1
elsif @wave.oy == 0
if $TITLE_LOOP == 1 && @wave.ox != 1289
@wave.ox += 1
else
$TITLE_LOOP == 2
end
if $TITLE_LOOP == 2 && @wave.ox != -1189
@wave.ox -= 1
else
$TITLE_LOOP == 1
end
end
#=======Menu Animation=========
case @command_window.index
when 0
@spark01.y = $MENU_NEW - 20
@spark02.y = $MENU_NEW
@symbol.oy = $MENU_NEW + 183
@strike1.y = $MENU_NEW
@strike2.y = $MENU_NEW
if @menu01.opacity != 255
@menu01.opacity += 20
@menu02.opacity -= 20
@menu03.opacity -= 20
end
if @cursor.y != $TITLE_MENU_Y
@cursor.y -= 5
end
when 1
@spark01.y = $MENU_CONTINUE - 20
@spark02.y = $MENU_CONTINUE
@symbol.oy = $MENU_CONTINUE + 93
@strike1.y = $MENU_CONTINUE
@strike2.y = $MENU_CONTINUE
if @menu02.opacity != 255
@menu02.opacity += 20
@menu01.opacity -= 20
@menu03.opacity -= 20
end
if @cursor.y != $MENU_CONTINUE && @cursor.y < $MENU_CONTINUE
@cursor.y += 5
elsif @cursor.y != $MENU_CONTINUE && @cursor.y > $MENU_CONTINUE
@cursor.y -= 5
end
when 2
@spark01.y = $MENU_EXIT - 20
@spark02.y = $MENU_EXIT
@symbol.oy = $MENU_EXIT + 13
@strike1.y = $MENU_EXIT
@strike2.y = $MENU_EXIT
if @menu03.opacity != 255
@menu03.opacity += 20
@menu02.opacity -= 20
@menu01.opacity -= 20
end
if @cursor.y != $MENU_EXIT
@cursor.y += 5
end
end
@command_window.update
#=======Cursor Animation=========
if @strike1.x != 0
@strike1.x += 11
end
if @strike2.x != 308
@strike2.x -= 12
end
check_menu
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
end
end
end
#--------------------------------------------------------------------------
# * Checking Current Menu
#--------------------------------------------------------------------------
def check_menu
if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
$SPARK_COUNT = 350
@spark01.x = -172
@spark02.x = 640
@spark01.opacity -= 255
@spark02.opacity -= 255
@symbol.opacity -= 255
$SYMBOL_RESET = true
case @command_window.index
when 0
@spark01.y = 280
@spark02.y = 300
@symbol.oy = 403
@strike1.y = 300
@strike2.y = 300
@strike1.x = -330
@strike2.x = 680
when 1
@spark01.y = 325
@spark02.y = 345
@symbol.oy = 358
@strike1.y = 345
@strike2.y = 345
@strike1.x = -330
@strike2.x = 680
when 2
@spark01.y = 365
@spark02.y = 385
@symbol.oy = 317
@strike1.y = 385
@strike2.y = 385
@strike1.x = -330
@strike2.x = 680
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
@viewport1 = Viewport.new(0, 0, 1288, 891)
@viewport2 = Viewport.new(0, 0, 824, 480)
@viewport2.z = 10
@sprite = Plane.new(@viewport1)
@sprite.bitmap = Cache.system("TitleBGLoop")
@sprite.oy = 371
@sprite.ox = 100
@sprite.z = -100
@wave = Sprite.new(@viewport1)
@wave.bitmap = Cache.system("TitleBGSprite")
@wave.oy = 371
@wave.ox = 100
@wave.wave_amp = 50
@wave.wave_length = 440
@wave.wave_speed = 1250
@wave.opacity = 125
@wave.z = 5
@logo = Sprite.new
@logo.bitmap = Cache.system("TitleLogo")
@logo.x = $LOGO_X
@logo.y = $LOGO_Y
@logo.z = 10
@menu01 = Sprite.new
@menu01.bitmap = Cache.system("TitleMenu01")
@menu01.x = $TITLE_MENU_X
@menu01.y = $TITLE_MENU_Y
@menu02 = Sprite.new
@menu02.bitmap = Cache.system("TitleMenu02")
@menu02.x = $TITLE_MENU_X
@menu02.y = $TITLE_MENU_Y
@menu02.opacity = 0
@menu03 = Sprite.new
@menu03.bitmap = Cache.system("TitleMenu03")
@menu03.x = $TITLE_MENU_X
@menu03.y = $TITLE_MENU_Y
@menu03.opacity = 0
@cursor = Sprite.new
@cursor.bitmap = Cache.system("TitleCursor")
@cursor.x = $TITLE_MENU_X
@cursor.y = $TITLE_MENU_Y
@cursor.z = 12
@strike1 = Sprite.new
@strike1.bitmap = Cache.system("TitleCursorStrike01")
@strike1.x = 0
@strike1.y = 300
@strike1.z = 9
@strike2 = Sprite.new
@strike2.bitmap = Cache.system("TitleCursorStrike02")
@strike2.x = 308
@strike2.y = 300
@strike2.z = 9
@symbol = Plane.new(@viewport2)
@symbol.bitmap = Cache.system("TitleSymbol")
@symbol.oy = 403
@symbol.ox = 100
@spark01 = Sprite.new
@spark01.bitmap = Cache.system("TitleSpark01")
@spark01.y = 280
@spark01.x = -172
@spark01.z = 12
@spark02 = Sprite.new
@spark02.bitmap = Cache.system("TitleSpark02")
@spark02.y = 300
@spark02.x = 640
@spark02.z = 12
@menu01.z = @menu02.z = @menu03.z = 13
if @continue_enabled
@menu01.opacity = 0
@menu02.opacity = 255
@cursor.y = 345
@strike1.y = 345
@strike2.y = 345
@symbol.oy = 358
end
end
#--------------------------------------------------------------------------
# * Dispose of Title Graphic
#--------------------------------------------------------------------------
def dispose_title_graphic
@sprite.dispose
@wave.dispose
@logo.dispose
@menu01.dispose
@menu02.dispose
@menu03.dispose
@cursor.dispose
@strike1.dispose
@strike2.dispose
@symbol.dispose
@spark01.dispose
@spark02.dispose
@wave.bitmap.dispose
@logo.bitmap.dispose
@menu01.bitmap.dispose
@menu02.bitmap.dispose
@menu03.bitmap.dispose
@cursor.bitmap.dispose
@strike1.bitmap.dispose
@strike2.bitmap.dispose
@spark01.bitmap.dispose
@spark02.bitmap.dispose
end
#--------------------------------------------------------------------------
# * Create Command Window
#--------------------------------------------------------------------------
def create_command_window
s1 = Vocab::new_game
s2 = Vocab::continue
s3 = Vocab::shutdown
@command_window = Window_Command.new(172, [s1, s2, s3])
@command_window.x = (640 - @command_window.width) / 2
@command_window.y = 998
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
#--------------------------------------------------------------------------
# * 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
Demo link:
http://www.mediafire.com/?jo2gwmy5y5w
I take no credit for this script. I just want to see if I can't use it on XP.