Hi,
I need a script whereby the game skips the title screen and proceed to a video or cutscene, kind of like a small introduction video.
HOWEVER, I want this introduction to only be present if there are no saves (meaning that the player starts the game for the first time).
* I'm not sure if this can be activated by selecting "Erase Event". If it can be done using "Erase Event", then ignore this part.
I do know that Woratana has this script, but I'm unable to even register to download the script. Even if I can access, I doubt there are no errors (simply because some changes might have been made in the RMXP script).
(http://74.125.153.132/search?q=cache:YfRmt9oQ7M8J:www.rpgrevolution.com/forums/%3Fshowtopic%3D8521+RPG+Maker+event+before+title+screen&cd=6&hl=en&ct=clnk) - This is a cached version (meaning screenshot) of that page.
And besides, most of the posts are already outdated so it would be useless to post on it and expect a reply.
Besides woratana's script, I have searched for it and have gotten the same script (but it's not quite the same as woratana's), but TypeError's and certain other errors keep popping up.
Having no experience in scripting, I need someone to help me create/get a script whereby there are no errors.
(P/S. The script I'm using is the basic default RMVX script, so if the Skip Title script is working in yours, it should work in mine too).
Sorry for the bad English.
Thank You in advance.
VX not installed atm.
can you post up the scene_title script?
should be an easy edit
You mean the default RMVX one, right?
#==============================================================================
# ** 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
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
@command_window = Window_Command.new(172, [s1, s2, s3])
@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
#--------------------------------------------------------------------------
# * 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
not a pro with VX.
but try this 1:
#==============================================================================
# ** Scene_Title EDIT
#------------------------------------------------------------------------------
# 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
check_continue # check for savegames
if not @continue_enabled # if no savegames are found
load_database # Load database
create_game_objects # Create game objects
new_command_new_game # Start game without start menu
else # check normal game start
super # Usual main processing
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def new_command_new_game
confirm_player_location
$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
$game_map.autoplay
end
end
just place in a new script above main and all your custom scripts
hope it works
edit: fixed bug
NoMethod Error.
undefined method 'start_map_001' for #<RPG::System:0x1a6e1c8>.
That pop out while testing the game.
I replaced "start_map_id" to "start_map_001". That's correct, right?
no.
it will just use the start location you have in the game...
no edits needed. (edit = crash)
the only thing this script is doing is skip the start menu.
its like you insta press start new game.
Thanks~! It worked.
:D
You're a lifeegame saver! :-*
EDIT : Oh wait, the "Return to Title Screen" command isn't working. and... will the cutscene keep replaying everytime I start the game?
EDIT02 : Why is it that the "Return to Title Screen" command loops me back to my cutscene?
because you don't have a save game.
use an autosave/force save after the cutsene to fix it
if there is no save game it will skip the title screen. just they way you asked
I saved the game and restart it, but the whole screen went black. :O.o:
edited the script. try again?
posted the fix in the script above*
(I said I'm not good in VX scripts :P )
Works noww~!
Thanks a whole lot!!! Now I can go on to making my game. :evil:
Np 8) Gl with the game m8
lol, have a question. How do you make it forced save after the cutscene? And... after my cutscene video, I make it wrap to the Title Screen, but if I start a new game, the same cutscene appears again.
How can you make the starting point after I click "New Game" and the starting point in the cutscene different?
that requires a lot more and bigger script.
probably need an other way to do it.
give me some time, have an idea
Sure, take your time. thanks for offering to help.
I'll just proceed to other stuff first, just post the script here when you're finish.
Thanks. :-*
#==============================================================================
# ** First time Scene_Title Skip
#
# Script by Jackolas
# version number V0.52
#------------------------------------------------------------------------------
# This Changes the title screen processing to allow a cutscene.
#------------------------------------------------------------------------------
# Place above all custom scripts and main.
# Edit the Config to your Cutscene map
#==============================================================================
module titlescreen_edit
#--------------------------------------------------------------------------
# * Configuration Begin
#--------------------------------------------------------------------------
def map_id
return 1 # The map of the cutscene
end
def map_x
return 1 # The x of the cutscene
end
def map_y
return 1 # The y of the cutscene
end
#--------------------------------------------------------------------------
# * Configuration END
#--------------------------------------------------------------------------
end
#==============================================================================
# ** Scene_Title EDIT
#------------------------------------------------------------------------------
# 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
check_continue # check for savegames
if not @continue_enabled # if no savegames are found
command_cutscene # Start game without start menu
else # check normal game start
super # Usual main processing
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_cutscene
load_database # Load database
create_game_objects # Create game objects
$game_party.setup_starting_members # Initial party
$game_map.setup(titlescreen_edit.map_id) # Initial map position
$game_player.moveto(titlescreen_edit.map_x, titlescreen_edit.map_y)
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
end
end
lets hope, not able to test myself
still need to find a fix for the save
Line23, SyntaxError occured. :wacko:
Do I need to change anything in the script?
me is bad in English, me made spelling error. :^_^':
should be fixed now :P
also.. the only thing you need to change is the config part
Line 13, SyntaxError.
aw.
next try :P
lol.
did it work?
Same error at line 13.
#==============================================================================
# ** First time Scene_Title Skip
#
# Script by Jackolas
# version number V0.52
#------------------------------------------------------------------------------
# This Changes the title screen processing to allow a cutscene.
#------------------------------------------------------------------------------
# Place above all custom scripts and main.
# Edit the Config to your Cutscene map
#==============================================================================
module titlescenecutscene
#--------------------------------------------------------------------------
# * Configuration Begin
#--------------------------------------------------------------------------
def map_id
return 1 # The map of the cutscene
end
def map_x
return 1 # The x of the cutscene
end
def map_y
return 1 # The y of the cutscene
end
#--------------------------------------------------------------------------
# * Configuration END
#--------------------------------------------------------------------------
end
#==============================================================================
# ** Scene_Title EDIT
#------------------------------------------------------------------------------
# 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
check_continue # check for savegames
if not @continue_enabled # if no savegames are found
command_cutscene # Start game without start menu
else # check normal game start
super # Usual main processing
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_cutscene
load_database # Load database
create_game_objects # Create game objects
$game_party.setup_starting_members # Initial party
$game_map.setup(titlescenecutscene.map_id) # Initial map position
$game_player.moveto(titlescenecutscene.map_x, titlescenecutscene.map_y)
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
end
end
this should work than
Nope, same error at same line 13.
last thing i can think of
#==============================================================================
# Script by Jackolas
# version number V0.52
#------------------------------------------------------------------------------
# This Changes the title screen processing to allow a cutscene.
#------------------------------------------------------------------------------
# Place above all custom scripts and main.
# Edit the Config to your Cutscene map
#==============================================================================
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Configuration Begin
#--------------------------------------------------------------------------
def map_id
return 1 # The map of the cutscene
end
def map_x
return 1 # The x of the cutscene
end
def map_y
return 1 # The y of the cutscene
end
#--------------------------------------------------------------------------
# * Configuration END
#--------------------------------------------------------------------------
#==============================================================================
# ** Scene_Title EDIT
#------------------------------------------------------------------------------
# This class performs the title screen processing.
#==============================================================================
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
if $BTEST # If battle test
battle_test # Start battle test
else # If normal play
check_continue # check for savegames
if not @continue_enabled # if no savegames are found
command_cutscene # Start game without start menu
else # check normal game start
super # Usual main processing
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_cutscene
load_database # Load database
create_game_objects # Create game objects
$game_party.setup_starting_members # Initial party
$game_map.setup(map_id) # Initial map position
$game_player.moveto(map_x, map_y)
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
end
end
@jackolas: first letter of a module needs to be capitalized
EDIT: Fixed script, also methods in modules need to be
def self.method_name
#==============================================================================
# ** First time Scene_Title Skip
#
# Script by Jackolas
# version number V0.52
#------------------------------------------------------------------------------
# This Changes the title screen processing to allow a cutscene.
#------------------------------------------------------------------------------
# Place above all custom scripts and main.
# Edit the Config to your Cutscene map
#==============================================================================
module Titlescenecutscene
#--------------------------------------------------------------------------
# * Configuration Begin
#--------------------------------------------------------------------------
def self.map_id
return 1 # The map of the cutscene
end
def self.map_x
return 1 # The x of the cutscene
end
def self.map_y
return 1 # The y of the cutscene
end
#--------------------------------------------------------------------------
# * Configuration END
#--------------------------------------------------------------------------
end
#==============================================================================
# ** Scene_Title EDIT
#------------------------------------------------------------------------------
# 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
check_continue # check for savegames
if not @continue_enabled # if no savegames are found
command_cutscene # Start game without start menu
else # check normal game start
super # Usual main processing
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_cutscene
load_database # Load database
create_game_objects # Create game objects
$game_party.setup_starting_members # Initial party
$game_map.setup(Titlescenecutscene.map_id) # Initial map position
$game_player.moveto(Titlescenecutscene.map_x, Titlescenecutscene.map_y)
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
end
end
Yep, it works, but what I had in mind was ...
for the first-time player,
1. cutscene plays. (and this isn't part of the game actually).
2. I use the "Return to Title" command, (or you could put this in your script)
3. Player go back to the title screen and starts new game. (continue button not available since they didn't save game, anyway, I don't want to have this continue button available. It looks weird since they only watched a cutscene and didn't actually play the game).
4. I autosave the moment the player starts a new game so that the cutscene don't repeats.
but what's happening is that,
1. cutscene plays.
2. I use the "Return to Title" command,
3. The cutscene replays.
it seems to me as if this cutscene "replaces" the Title Screen and not skips it.
The others are perfect. But can you pls solve the above problem.
Thanks. :)
Quoteand this isn't part of the game actually
there is the real problem :P
anyway.. in the latest version (the 1 Game_Guy posted) you can set a start position for your cutscene and the start position of your game somewhere else.
also g_g.. .thanks for the fix. learned a new thing :P
edit:#==============================================================================
# ** Cutscene Script [VX]
#
# Script by Jackolas
# Thanks: Game_Guy (for fixing bugs)
#
# version number V0.6
#------------------------------------------------------------------------------
# This allows you to skip the title screen and go to a cutscene when there is
# no save game.
#------------------------------------------------------------------------------
# How to use:
#
# Place above all custom scripts and main.
# Edit the Config to your Cutscene map
#
# Also replace in the Main script $scene = Scene_Title.new
# For $scene = Cutscene_Title.new
#==============================================================================
module CutsceneStart
#--------------------------------------------------------------------------
# * Configuration Begin
#--------------------------------------------------------------------------
def self.map_id
return 1 # The map id of the cutscene
end
def self.map_x
return 1 # The x of the cutscene
end
def self.map_y
return 1 # The y of the cutscene
end
#--------------------------------------------------------------------------
# * Configuration END
#--------------------------------------------------------------------------
end
#==============================================================================
# ** Cutscene Script
#------------------------------------------------------------------------------
# This class performs the title screen processing.
#==============================================================================
class Cutscene_Title < Scene_Base
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
if $BTEST # If battle test
$scene = Scene_Title.new # change to Battle test
else # Check if not Battle test
check_savegame_on # check for savegames
if not @savegame_enabled # if no savegames are found
command_cutscene # Start Cutscene
else # if savegames are found
$scene = Scene_Title.new # start menu
end
end
end
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_cutscene
load_database
create_game_objects
$game_party.setup_starting_members
$game_map.setup(CutsceneStart.map_id)
$game_player.moveto(CutsceneStart.map_x, CutsceneStart.map_y)
$game_player.refresh
$scene = Scene_Map.new
$game_map.autoplay
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
#--------------------------------------------------------------------------
# * 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_savegame_on
@savegame_enabled = (Dir.glob('Save*.rvdata').size > 0)
end
end
Read the how to use in the script
o.o an idea..? YAY.
Oh and, do anyone have an idea on how to autosave after I start "New Game", or at any point of the game without having the player to actually save game? (I suppose I need a autosave script? But then again, an autosave script will be tricky, since I don't think you can determine when the autosave is going to work).
k.. try again. I suggest read the how to use in the script.
this way the cut scene will only open when you start the game and have no save games.
YAY, IT WORKKKEEED.
But lol, I have another problem. I need to autosave the moment "New Game" starts so that it doesn't repeat the cutscene everytime I start it or perharps I could manupulate when I want to autosave the game. (some people don't remember to save game before shutting down, lol).
EDIT : I gotta sleep now, but I will get back tmr.
http://rmrk.net/index.php/topic,33752.0.html
there is your auto save. (hope it works)
(should give no problems with my script)
Thanks~! It worked perfectly~!
Finally problem resolved.
Thanks for helping me for like the nth time. :shy:
NP, that's where this forum is for I think