[VX] Pre Title-Screen Cutscene

Started by Jackolas, December 09, 2009, 04:44:28 am

Previous topic - Next topic

Jackolas

December 09, 2009, 04:44:28 am Last Edit: December 09, 2009, 04:54:13 am by Jackolas
Pre Title-Screen Cutscene
Authors: Jackolas
Version: 1.0
Type: Title Screen Add-on
Key Term: Title / Save / Load / GameOver Add-on



Introduction

Simple script that adds the Possibility to add an in-game, event controlled
cut-scene before your title-screen pops up.


Features


  • Option to set the Map ID of the cutscene.
  • Option to set the X,Y of the cutscene.
  • Option to disable the cutscene if there is a save available.



Screenshots

How to make a screenshot of a system that skips the title screen?


Demo

Don't have [VX] to make one


Script

Place above main.
Spoiler: ShowHide
#==============================================================================
# ** Cutscene Script [VX]
#
# Script by:         Jackolas
# Thanks:            Game_Guy (for fixing bugs)
#                    Arisenhorizen (for requesting and bug testing)
#
# version number:    V1.0
#------------------------------------------------------------------------------
#  This script allows you to skip the title screen and go to an event
#  created cutscene.
#
# - Option to set the Map ID of the cutscene.
# - Option to set the X,Y of the cutscene.
# - option to disable the cutscene if there is a save available.
#------------------------------------------------------------------------------
# How to use:
#
# Place as last script above main.
# Edit the Config to your Cutscene map.
# To end the cut-scene add an event with a script
# with: $scene = Scene_Title.new
# or use a return to title screen command.
#
# 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
 def self.checksave
   return true       #Disable cut-scene when save is available
 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 if CutsceneStart.checksave   # Check if check for save
       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      # Skip to title screen
       end
     else                              # If no check for save
       command_cutscene                # Start Cutscene
     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



Instructions

Place above main (to be save, place above other custom scripts).
Replace in the "Main" script            
$scene = Scene_Title.new

For                                        
$scene = Cutscene_Title.new

Edit the Config to your cut-scene map.
To end the cut-scene add an event with a script with:
$scene = Scene_Title.new

or use a return to title screen command.


Compatibility

will cause compatibility problems with scripts that add to the
"create_game_objects" of the basic Title_Screen script.


Credits and Thanks


  • Game_Guy (for fixing bugs)
  • Arisenhorizen (for requesting and bug testing)



Author's Notes

If you find any compatibility problems post here and I will try to fix them.

Vampyr SBABS compatibility problems
Add the following script to the bottom of Vampyr SBABS script
and make sure that Cutscene Script is above main and Vampyr SBABS
Spoiler: ShowHide
#------------------------------------------------------------------------------
# Scene Title
#------------------------------------------------------------------------------
class Cutscene_Title < Scene_Base

 alias vampyr_sbabs_cutscenetitle_create_game_objects create_game_objects
 alias vampyr_sbabs_cutscenetitle_command_new_game command_new_game

 def create_game_objects
   $game_monsters = []
   $game_allies = []
   $game_range = []
   $game_drop = []
   $game_bomb = []
   vampyr_sbabs_cutscenetitle_create_game_objects
   $Vampyr_SBABS = Vampyr_SBABS.new
 end

 def command_new_game
   vampyr_sbabs_cutscenetitle_command_new_game
   for ally in $game_allies.compact
     ally.map_id = CutsceneStart.map_id
     ally.moveto(CutsceneStart.map_x, CutsceneStart.map_y)
     ally.move_random
   end
 end
end

arisenhorizen

December 10, 2009, 07:53:04 am #1 Last Edit: December 10, 2009, 07:59:50 am by arisenhorizen
Heyaa,

I was too bored, so I created a demo, LOL.

Not sure if it works, but ...
http://www.filedropper.com/skiptitledemo


The only thing you guys need to do is,

1. edit the coordinates and map number of your cutscene (done in the script).
2. set the starting position of your player as the place where you want your player to be after they start a NEW GAME.

* Tips, o.o
Spoiler: ShowHide


If you want to set up the cutscene from another person's view (simply, you do not want your player to be there; eg, you want a cutscene to be an evil guy talking about his evil plans), you can go.

TOOLS -> DATABASE -> SYSTEM, and on the top left hand, under INITIAL PARTY, you can remove everyone, so that your player would not appear in the screen.

AFTER the cutscene, you can simply make a new event and -> under PAGE1, ADD PARTY MEMBER, to add back your player.


Took me some time to figure out the above when I was a beginner, but I'm quite sure almost everyone here knows how to operate this script. Quite self explainatory actually.