Splash Script - rm-rf - 02-24-2010
Splash Script
Version: 1.1
Introduction
I've rewrote Lambchop's Super Simple Splash Script to make it even more simple-er ;o
You only need to edit 5 constants and you're set to go.
if you want more than 3 screens, just add more filenames to SplashFiles, you could have 490434034903 screen probably (lolwhat?)
to use this script before title screen, you need to change the Main script.
Look for $scene = Scene_Title.new and replace it with $scene = Scene_Splash.new
Demo
Requested by Villain: http://www.box.net/shared/vj5vqvvp7z (v1.0)
Script
Standard Development Kit Version
Code: #==============================================================================
# ** Splash Script
#------------------------------------------------------------------------------
# - Coded by :rm-rf
# - Original by :Lambchops
# - Version :1.1
# - 24/02/2010
#------------------------------------------------------------------------------
# * How to Use:
# - Just add more filenames to SplashFiles = ['filename', ..., ...]
# - and configure the speed of loading each images.
# - That's it ;o
#==============================================================================
#------------------------------------------------------------------------------
# * Begin SDK Log
#------------------------------------------------------------------------------
SDK.log('Splash Script', 'rm-rf', 1.0, '24/02/2010')
#------------------------------------------------------------------------------
# * Begin SDK Requirement Check
#------------------------------------------------------------------------------
SDK.check_requirements(2.4)
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.enabled?('Splash Script')
module SSConfig
#----------------------------------------------------------------------------
# * Splash Files
# :folder- :Graphics/Picture
# :config- :['filename', 'filename', ..., ...]
#----------------------------------------------------------------------------
SplashFiles = ['splash_sample01', 'splash_sample02', 'splash_sample03']
#----------------------------------------------------------------------------
# * Splash Speed / Wait
# :the speed of transition, 2-4 is ideal
# :wait is for how long the image will show for
#----------------------------------------------------------------------------
SplashSpeed = 8
SplashWait = 100
#----------------------------------------------------------------------------
# * Play Music During Splash?
# :config- :true / false
# :do you want to play music during the splash?
#----------------------------------------------------------------------------
PlayMusic = true
#----------------------------------------------------------------------------
# * Music File
# :folder- :Audio/BGM
# :use the filename for the audio. (dont need the extention i suppose)
#----------------------------------------------------------------------------
MusicFile = '014-Theme03'
end
class Scene_Splash < SDK::Scene_Base
#----------------------------------------------------------------------------
# * Main: Variable
#----------------------------------------------------------------------------
def main_variable
# Setup important variables
@index = 0
@hide = false
@show = true
@opacity = 0
@wait = 0
end
#----------------------------------------------------------------------------
# * Main: Sprite
#----------------------------------------------------------------------------
def main_sprite
# Setup array
@sprites = []
# Make sprites
SSConfig::SplashFiles.each_with_index do |filename, i|
@sprites[i] = Sprite.new
@sprites[i].bitmap = RPG::Cache.picture(filename)
@sprites[i].opacity = 0
end
end
#----------------------------------------------------------------------------
# * Main: Audio
#----------------------------------------------------------------------------
def main_audio
# Play BGM
Audio.bgm_play('Audio/BGM/' + SSConfig::MusicFile) if SSConfig::PlayMusic
end
#----------------------------------------------------------------------------
# * Frame Update
#----------------------------------------------------------------------------
def update
# If input triggered
if Input.trigger?(Input::C) || Input.trigger?(Input::B)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
# Do Hide/Show images
process_transition
end
#----------------------------------------------------------------------------
# * Process Transition
#----------------------------------------------------------------------------
def process_transition
# Fade In
if @show
# Increase Opacity
@opacity += SSConfig::SplashSpeed
# If Opacity's at maximum
if @opacity > 255
# Hide images
@show = false
@opacity = 255
@wait = SSConfig::SplashWait
end
end
# Wait for a bit
if @wait > 0
# Decrease Wait Count
@wait -= 1
# Done waiting
if @wait <= 0
# Fade out
@hide = true
# Reset wait
@wait = 0
end
end
# Fade Out
if @hide
# Decrease Opacity
@opacity -= SSConfig::SplashSpeed
# If Opacity's at minimum
if @opacity < 0
# Show images
@hide = false
@show = true
@opacity = 0
# Change Index
@index += 1
end
end
# Branch by index
case @index
when 0...SSConfig::SplashFiles.size
# Set Opacity
@sprites.each {|i| i.opacity = 0}
@sprites[@index].opacity = @opacity
when (SSConfig::SplashFiles.size)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
end
end
#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
Normal Version (Doesnt need the SDK)
Code: #==============================================================================
# ** Splash Script
#------------------------------------------------------------------------------
# - Coded by :rm-rf
# - Original by :Lambchops
# - Version :1.1
# - 24/02/2010
#------------------------------------------------------------------------------
# * How to Use:
# - Just add more filenames to SplashFiles = ['filename', ..., ...]
# - and configure the speed of loading each images.
# - That's it ;o
#==============================================================================
module SSConfig
#----------------------------------------------------------------------------
# * Splash Files
# :folder- :Graphics/Picture
# :config- :['filename', 'filename', ..., ...]
#----------------------------------------------------------------------------
SplashFiles = ['splash_sample01', 'splash_sample02', 'splash_sample03']
#----------------------------------------------------------------------------
# * Splash Speed / Wait
# :the speed of transition, 2-4 is ideal
# :wait is for how long the image will show for
#----------------------------------------------------------------------------
SplashSpeed = 3
SplashWait = 100
#----------------------------------------------------------------------------
# * Play Music During Splash?
# :config- :true / false
# :do you want to play music during the splash?
#----------------------------------------------------------------------------
PlayMusic = true
#----------------------------------------------------------------------------
# * Music File
# :folder- :Audio/BGM
# :use the filename for the audio. (dont need the extention i suppose)
#----------------------------------------------------------------------------
MusicFile = '015-Theme04'
end
class Scene_Splash
#----------------------------------------------------------------------------
# * Main
#----------------------------------------------------------------------------
def main
# Setup Variables
main_variable
# Setup Sprites
main_sprite
# Setup Audio
main_audio
# Execute transition
Graphics.transition
# Run main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
break if $scene != self
end
# Prepare for transition
Graphics.freeze
# Dispose sprites
@sprites.each {|i| i.dispose}
end
#----------------------------------------------------------------------------
# * Main: Variable
#----------------------------------------------------------------------------
def main_variable
# Setup important variables
@index = 0
@hide = false
@show = true
@opacity = 0
@wait = 0
end
#----------------------------------------------------------------------------
# * Main: Sprite
#----------------------------------------------------------------------------
def main_sprite
# Setup array
@sprites = []
# Make sprites
SSConfig::SplashFiles.each_with_index do |filename, i|
@sprites[i] = Sprite.new
@sprites[i].bitmap = RPG::Cache.picture(filename)
@sprites[i].opacity = 0
end
end
#----------------------------------------------------------------------------
# * Main: Audio
#----------------------------------------------------------------------------
def main_audio
# Play BGM
Audio.bgm_play('Audio/BGM/' + SSConfig::MusicFile) if SSConfig::PlayMusic
end
#----------------------------------------------------------------------------
# * Frame Update
#----------------------------------------------------------------------------
def update
# If input triggered
if Input.trigger?(Input::C) || Input.trigger?(Input::B)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
# Do Hide/Show images
process_transition
end
#----------------------------------------------------------------------------
# * Process Transition
#----------------------------------------------------------------------------
def process_transition
# Fade In
if @show
# Increase Opacity
@opacity += SSConfig::SplashSpeed
# If Opacity's at maximum
if @opacity > 255
# Hide images
@show = false
@opacity = 255
@wait = SSConfig::SplashWait
end
end
# Wait for a bit
if @wait > 0
# Decrease Wait Count
@wait -= 1
# Done waiting
if @wait <= 0
# Fade out
@hide = true
# Reset wait
@wait = 0
end
end
# Fade Out
if @hide
# Decrease Opacity
@opacity -= SSConfig::SplashSpeed
# If Opacity's at minimum
if @opacity < 0
# Show images
@hide = false
@show = true
@opacity = 0
# Change Index
@index += 1
end
end
# Branch by index
case @index
when 0...SSConfig::SplashFiles.size
# Set Opacity
@sprites[@index].opacity = @opacity
when (SSConfig::SplashFiles.size)
# Switch to Title
Audio.bgm_fade(1000) if SSConfig::PlayMusic
$scene = Scene_Title.new
end
end
end
Instructions
Just edit 4 constants and you're set to go
FAQ
"hay!!!!11 i got 9484393893 images, will this script wurrrk wiv it????"
- probably
"this script suxxxxxx!!!11"
- boohoo
"where can I find the original splash script by lambchops?????
- PM me and ill send you it. I dont know if i should post it here on Lambchops's behalf.
Compatibility
Requires SDK, latest version
Credits and Thanks
Lambchops
shadowseer (not bothered if i dont get credited)
Ryu-ka for requesting Wait feature
Author's Notes
Original script was by Lambchops, I just rewrote it and made it even more simple-er.
Only took me 20 minutes :x
Please report any bugs you find >:|
Splash Script - deValdr - 02-24-2010
I don't get what this script actually does.
Splash Script - rm-rf - 02-24-2010
All it does is make logos/splashscreen appears before the title.
the script enables you to have many logos as you want without adding stuff to the script (you only need to add 'filename' to SplashFiles array ;o
Splash Script - deValdr - 02-24-2010
Awesome, I will probably use it ;)
Splash Script - Villain - 02-25-2010
there is an error with SDK at line 18
Splash Script - rm-rf - 02-25-2010
Villian: I've checked the script in a blank project with the SDK 2.4, it works fine so Im not sure how you got the error,
but on line 18 is to log the script in the SDK.
is it possible that you dont have the SDK? (This script needs the SDK 2.4)
Splash Script - Villain - 02-25-2010
so where i can get a SDK? :)
Splash Script - rm-rf - 02-26-2010
SDK
^ the link to SDK. (at HBGames, i dont have permission to repost the script here (well, i never asked (there might be sdk hidden away in this forum)))
Splash Script - deValdr - 02-26-2010
It seems to be incompitable with blizz-abs
Splash Script - Ace - 02-26-2010
yeah Blizz doesn't like the SDK (the SDK can screw many scripts up because it rewrites many classes)
|