Heretic's Animated Title Scenes with Events
Authors: Heretic
Version: 1.02
Type: Customized Title Screen
Key Term: Title / Save / Load / GameOver Add-on
IntroductionThis script will allow you to fully animate your Title Screens using just Events! By using Events, you can also set up a Prologue for your Story, or show off certain elements of your game. Eventing a Demo for the style of gameplay can be very useful if you Custom Battle System that you want to show off, or some other elements that you feel should be Demonstrated.
The only limits are your imagination, and, how much caffeine you have in your blood stream!
Features
- Minimal Scripting Required
- Simplifies Customizations to the Title Screen
- Allows Custom Pre Load Screen Logos via Events - Crapcom - See Demo
- Fullscreen on Load (optional) - Its like 4 lines of code to do that...
- Sometimes, I dream about cheese, and wonder if people read the features
- Title Menu will fade out if Inactive (Customize the Time)
- Events allow Title Animations to be Skipped
ScreenshotsThe words "Game Title Goes Here" are In Game Pictures that are also Animated using just Events.
(The Image is from Heretic's Collection, but works the exact same way.)
Demohttp://downloads.chaos-project.com/heretic86/AnimatedTitleScene-TimedUserInput1.02.exe(Dont start a New Game immediately to allow it to go into "Demo Mode".)
ScriptScript available in Demo. Due to some required eventing (see the big red letters above), Events should be considered as part of the script. Thus, both the Script and Events are necessary.
Put just above Main.
InstructionsYou'll need to configure the Script a bit.
When you start up your game, you'll jump straight into a Map instead of the Default Static Title Screen. The Map ID, X and Y coordinates will need to be set up for your game. The Map you land on is where you will use Events to set up your Title Screen. Use Autorun and Parallel Events.
Next, you need to be able to bring up the Title Menu. That is the New Game / Continue / Shutdown Menu. Do this from one of your Autorun or Parallel Events by running "display_title_menu" in a Script.
Important: The Menu will NOT be displayed unless you call display_title_menu in a Script!Only certain Maps are allowed to have the Title Menu be displayed. If you are not on one of those allowed Map ID's, then you will start the entire scene over. This allows the Player to press a key and exit the Demo of your game so they can actually start playing.
You'll need to put the allowed Map ID's to match however you have your game set up. I made it an Array so you can have several different Title Screens if you want.
The default setup is to change the Player's Graphic to None, but they can still move around. To stop the Player from moving around, set a Move Route for the Player to Wait X Frames, and enable Repeat. Checking Repeat should exclude the Player from interfering with Wait for Move's Completion. Alternatively, you can set the X, Y coordinates to a place the Player wont be able to move. If you dont want to use Tile Graphics, you can use Events and set the Opacity of whatever Non Passable Graphic to 0.
Everything else is up to you to make happen with Events!
CompatibilityProbably not compatible with scripts that modify Scene_Title. Some changes were made to Scene_Load, Scene_Map, and Scene_Battle via aliases, but should be highly compatible if placed above Main.
Order will be important. Any other Scripts that fully rewrite anything in Scene_Title, Scene_Map, or Scene_Battle need to be ABOVE this script. Any scripts that Alias any of those scenes should be able to go below safely.
Credits and Thanks
- Thanks to Blizzard just for being Blizzard!
Author's NotesThe Demo is cheesy. It is supposed to be.
--- Style ---
Style Choice is completely up to you.
What this Script does is to make Easy Animation Tools available to you. You can use Fullscreen Images, then have your Game Title come flying in by using Events to move multiple Pictures around, if you want. You can use a Static Image. You can resize your Logo. You can do it how ever you want. There is no need for the Player to ever see an In Game Map as your Title Screen, as that is a Style Choice. The Map just makes Eventing available, but Players dont have to see that it is a Map.
The Demo was required because some of the Eventing can be relatively difficult to pull off. It tries to provide examples of how to allow the Player to skip any Animations and bring up the Title Menu (New Game etc.) quickly. The aim of the Demo was to provide functionality through the Events to help you achieve skippable Title Animation Sequences. The only limitations you will have are what you can do with Eventing in RMXP.
--- Simulating Input ---
Diagostimo has given me permission to include an early version of a script for Simulating User Input, which is very useful for doing Demo's of scenes that are otherwise very difficult to get to work in Demo Mode, primarily, Battle Systems.
--- UPDATE (Wed, Apr 3rd, 2013) ---
I wrote an Add On to allow you to Mute Sounds and Sound Changes. I found this to be useful while having a game go into Demo Mode and not change the music, play Battle End Music or ANY Sound Effects. Since this scripts allows you full access to RMXP's Event System during your title, it is possible to change your Battle End Music to nil, but the game will still play Sound Effects from Animations. As a result, a script was necessary. So here you go.
This addon should function just fine as a Standalone Script, and I've tested this to make sure it is 100% compatible with DEE, Dynamic Sounds, and Ambient SFX by their various authors.
NOTE: This script is also available in the Demo.
#===============================================================================
#
# HERETIC'S MUTE DEMO SOUNDS
# Version 1.0
# Tuesday, March 19th, 2013
#
#===============================================================================
#
# Author: Heretic
# Date: Tuesday, March 19th, 2013
# Version 1.0
#
# This is just a little something I whipped together to allow Muting of Sound
# Effects for Demo Play. It can be used with BGM Music if you want.
#
# You dont need to create Events to change the BGM on a Map if you intend on
# using a Gameplay Map during Demo Play
#
# Instructions:
#
# Run any of these Script from any Script Box:
#
# - $game_system.mute_sound_effect = true / false (Any SE)
# - $game_system.mute_music_effect = true / false (End of Battles)
# - $game_system.prohibit_bgm_change = true / false (Dont Change the Music)
# - $game_system.prohibit_bgs_change = true / false (Dont Change the BG Sound)
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles data surrounding the system. Backround music, etc.
# is managed here as well. Refer to "$game_system" for the instance of
# this class.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :magic_number # magic number
attr_accessor :mute_sound_effect # Mutes Sound Effects
attr_accessor :mute_music_effect # Mutes Battle Music Effects
attr_accessor :prohibit_bgm_change # Prevents BGM Autoplay on Map change
attr_accessor :prohibit_bgs_change # Prevents BGS Autoplay on Map change
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias mute_demo_sound_initialize initialize
def initialize
# Call Original
mute_demo_sound_initialize
# New Properties
@mute_sound_effect = false
@mute_music_effect = false
@prohibit_bgm_change = false
@prohibit_bgm_change = false
end
#--------------------------------------------------------------------------
# * Play Background Music
# bgm : background music to be played
#--------------------------------------------------------------------------
alias prohibit_bgm_change_bgm_play bgm_play
def bgm_play(bgm)
# If Chaging the Background Music is Prohibited
if @prohibit_bgm_change
return
end
# Call Original
prohibit_bgm_change_bgm_play(bgm)
end
#--------------------------------------------------------------------------
# * Play Background Sound
# bgs : background sound to be played
#--------------------------------------------------------------------------
alias prohibit_bgs_change_bgs_play bgs_play
def bgs_play(bgs)
# If Chaging the Background Sound is Prohibited
if @prohibit_bgs_change
return
end
# Call Original
prohibit_bgs_change_bgs_play(bgs)
end
#--------------------------------------------------------------------------
# * Play Music Effect
# me : music effect to be played
#--------------------------------------------------------------------------
alias mute_music_effect_me_play me_play
def me_play(me)
# If Music Effects are Muted
if @mute_music_effect
Graphics.frame_reset
return
end
# Call Original
mute_music_effect_me_play(me)
end
#--------------------------------------------------------------------------
# * Play Sound Effect
# se : sound effect to be played
#--------------------------------------------------------------------------
alias mute_sound_effect_se_play se_play
def se_play(se)
# If Sound Effects are Muted
return if @mute_sound_effect
# Call Original
mute_sound_effect_se_play(se)
end
end
#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
# This class handles the map. It includes scrolling and passable determining
# functions. Refer to "$game_map" for the instance of this class.
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# * Automatically Change Background Music and Backround Sound
#--------------------------------------------------------------------------
def autoplay
if @map.autoplay_bgm and not $game_system.prohibit_bgm_change
$game_system.bgm_play(@map.bgm)
end
if @map.autoplay_bgs and not $game_system.prohibit_bgs_change
$game_system.bgs_play(@map.bgs)
end
end
end
#==============================================================================
# ** Audio Module
#------------------------------------------------------------------------------
# This Module handles Sound Effects for non Map or Evented Sound Changes.
# It allows for Muting Sounds that are played by Animations during Battles.
#==============================================================================
module Audio
# Prevent F-12 Crash
unless $heretic_audio_class_defined
# Dont run Module Audio again until next time Game is started.
$heretic_audio_class_defined = true
class << Audio
alias mute_sound_effects_se_play se_play
def se_play(name = "", volume = 100, pitch = 100)
# If Sound Effects are Muted
if $game_system.mute_sound_effect
return
end
# Call Original
mute_sound_effects_se_play(name, volume, pitch)
end
end
end
end