Bonus Pictures
Version: 1.5
By: Ludicus Maximus aka Ludicus aka Qwerty234
Introduction
This script will allow you to show bonus pictures (you know,like some games show concept arts & such) straight from the main menu.
Features
Screenshots
Nope,sorry.
Demo
I dunno if the link works(my lazyness stops me from trying),but here:
All-At-Once version
Progressive unlocking version
Version 1.5 <- The most recent.
Script
If you're using version 1.5 AND THE DEFAULT TITLE SCREEN, post this somewhere below Scene_Title.
Instructions
They're in the script header.
FAQ
*The instructions are tl;dr!
Try the demo.
* Your pictures FAIL!
THose are just quick mock-up examples. =/
Compatibility
It may be incompatible with other scripts that change the title menu.
Credits and Thanks
-The game "Legacy of Kain : Defiance",for giving me this script's idea
-Me,aka Ludicus (Maximus).
-Ccoa,for her window tutorial,and the default scripts,which taught me basically
all I know about RGSS.
-Also lambchop's(Amaranth's?) Scene Splash,which I also studied
and learnt a few things from it.
Author's Notes
-I wrote this script in a single sitting :cheers: <- Only the first version,lol.
-This is most likely NOT the final version.
Terms and Conditions
You have to give credit to me if you use this script,preferably as Ludicus Maximus.
Free for commercial use.
Version: 1.5
By: Ludicus Maximus aka Ludicus aka Qwerty234
Introduction
This script will allow you to show bonus pictures (you know,like some games show concept arts & such) straight from the main menu.
Features
- It works. :cheers:
- Plug & Play... of course you still have to costumize it to suit your needs.
- Background music.
- Kinda lagless.
- Some window to show text.
- It works.
- Easily(probably not for some) configurable.(unlike my V:TM chara sheet)
- Activated/disactivated by a variable.
- Background music.
- Kinda lagless...for now.
Nope,sorry.
Demo
I dunno if the link works(my lazyness stops me from trying),but here:
All-At-Once version
Progressive unlocking version
Version 1.5 <- The most recent.
Script
Code:
#============================================================================
# ** Bonus Pictures Script
#----------------------------------------------------------------------------
# by Ludicus Maximus aka Ludicus aka Qwerty234
# Version 1.0
# 29 June 2009
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# This script will allow you to show bonus pictures (you know,like some games
# show concept arts & such) straight from the main menu.
#----------------------------------------------------------------------------
# Instructions:
#
# 1.Copy all of your bonus pictures in the game's Graphics/Pictures folder
# The pictures must be EXACTLY 640x480!
# 2.Set to the variable '@pictures_number' how many pictures there are.
#
# 3.Go to line 69.Configure the first four pictures' names in the parentheses
# of the lines that look like this:
# @picture.bitmap = RPG::Cache.picture("1")
# See that you write the names exactly in the quotation marks(I suggest using
# numbers).If you want less than 4,delete the unneeded 'elsifs' and the following
# 4 lines.
#
# 4.If you need more,you can copy/paste the 'elsifs' and the following 4 lines
# and edit the numbers/picture names.
#
# 5.Go to line 80 and change it to:
#
# "Audio.bgm_play("Audio/BGM/" "THE SONG'S NAME", VOLUME, PITCH)"
#
# Of course,change the constants to what you want(the song must be imported)
#
# 6.This was just configuring the script,not when you see it :-)
# Go to Scene_Title(if you use the default one),delete line 40 and add this:
#
# unless $bonus_enabled
# $bonus_enabled = false
# end
# if $bonus_enabled
# s4 = "Bonus Pics"
# @command_window = Window_Command.new(192, [s1, s2, s3,s4])
# else
# @command_window = Window_Command.new(192, [s1, s2, s3])
# end
#
# This will allow the player to see the bonus only if the switch $bonus_enabled
# is set to true.You can set it in-game,just when you create an event
# call a script and type ' $bonus_enabled = true ' (without the quotes)
# If you want to show it from the beginning,copy and paste only these lines:
#
# s4 = "Bonus Pics"
# @command_window = Window_Command.new(192, [s1, s2, s3,s4])
#
# But still delete line 40.Now,go to line 112,move the 'end' down one line and
# write these lines:
#
# when 3
# $game_system.se_play($data_system.decision_se)
# $scene = Scene_Bonus_Pics.new
#
# That's it!
#----------------------------------------------------------------------------
#
# Credits and Thanks:
#
# -The game "Legacy of Kain : Defiance",for giving me this script's idea
# -Me,aka Ludicus Maximus/Ludicus/Qwerty234.
# -Ccoa,for her window tutorial,and the default scripts,which taught me basically
# all I know about RGSS.
# -Also lambchop's(Amaranth's?) Scene Splash,which I also studied
# and learnt a few things from it.
#----------------------------------------------------------------------------
#Please give credit to me when using this script,preferably as Ludicus Maximus
#----------------------------------------------------------------------------
class Scene_Bonus_Pics
def main
Audio.bgm_play("Audio/BGM/" "001-Battle01", 80, 100) #Plays the music
#How many pictures are there?
@pictures_number = 4
@current_picture = 1
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("1")
Graphics.transition
loop do
Input.update
Graphics.update
current_picture_by_input
if $scene != self
break
end
end
end
def current_picture_by_input
if Input.trigger?(Input::RIGHT) and @current_picture != @pictures_number
$game_system.se_play($data_system.cursor_se)
@current_picture += 1
elsif Input.trigger?(Input::RIGHT) and @current_picture == @pictures_number
$game_system.se_play($data_system.buzzer_se)
end
if Input.trigger?(Input::LEFT) and @current_picture != 1
$game_system.se_play($data_system.cursor_se)
@current_picture -= 1
elsif Input.trigger?(Input::LEFT) and @current_picture == 1
$game_system.se_play($data_system.buzzer_se)
elsif Input.trigger?(Input::B)
$game_system.se_play($data_system.buzzer_se)
@picture.dispose
$scene = Scene_Title.new
end
check_picture
end
def check_picture
# HERE
if @current_picture == 1
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("1")
elsif @current_picture == 2
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("2")
elsif @current_picture == 3
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("3")
elsif @current_picture == 4
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("4")
end
end
end
Code:
=begin
#============================================================================
# ** Bonus Pictures Script
#----------------------------------------------------------------------------
# by Ludicus Maximus aka Ludicus aka Qwerty234
# 04 July 2009
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# This script will allow you to show bonus pictures (you know,like some games
# show concept arts & such) straight from the main menu.
#----------------------------------------------------------------------------
# VERSION HISTORY
#
# Version 1.0 -> 29 June 2009
# The first release.All-at-once unlocking only.
# ---------------------------
# Version 1.1 -> 04 July 2009
# The second release.Progressive unlocking only.Rewrote some of the code.You
# don't have to do as much in Scene_Title,as I've made a 'slave' part of
# the script that does most of the work for you.
#----------------------------------------------------------------------------
# Instructions:
#
# 1.Copy all of your bonus pictures in the game's Graphics/Pictures folder
# The pictures must be EXACTLY 640x480!
#
# 2.Set to the variable '$pictures_number' how many pictures there are.
#
# 3.Go to line 160.Configure the first four pictures' names in the parentheses
# of the lines that look like this:
@picture.bitmap = RPG::Cache.picture("1")
# See that you write the names exactly in the quotation marks(I suggest using
# numbers).If you want less than 4,delete the unneeded 'elsifs' and the following
# 4 lines.
#
# 4.If you need more,you can copy/paste the 'elsifs' and the following 4 lines
# and edit the numbers/picture names.
#
# 5.Go to line 123 and change it to:
#
"Audio.bgm_play("Audio/BGM/" "THE SONG'S NAME", VOLUME, PITCH)"
#
# Of course,change the constants to what you want(the song must be imported)
#
# 7.Go to line 106 and change the message to what you want to pop when the player
# wants to enter when there is no unlocked picture.
#
# 8.This was just configuring the script,not when you see it :-)
# Although the 'slave' part does most of the work for you,you still have to do a
# few things.Go to Scene_Title.
# Go to line 59 and add below it:
#
if $unlocked_pics == nil
$unlocked_pics = 0
end
if $unlocked_pics == 0
@command_window.disable_item(3)
end
#
# Go to Scene_Title and to line 39 add:
#
s4 = "WHATEVER YOU WANT IT TO APPEAR IN THE MENU"
#
# And to the next line:
#
@command_window = Window_Command.new(192, [s1, s2, s3])
#
# Add ' ,s4 ' (without the quotes) in the square bracket after s3,like so:
#
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
#
# In-game you have to call script and type ' $unlocked_pics += 1 ' without the
# quotes to add a pic.
# That's all.Yes,I'm serious.
#----------------------------------------------------------------------------
#
# Credits and Thanks:
#
# -The game "Legacy of Kain : Defiance",for giving me this script's idea
# -Me,aka Ludicus Maximus/Ludicus/Qwerty234.
#----------------------------------------------------------------------------
#Please give credit to me when using this script,preferably as Ludicus Maximus
#----------------------------------------------------------------------------
=end
#...........................................................................
# START SLAVE PART
#...........................................................................
class Scene_Title
def update
# Update command window
@command_window.update
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Shutdown
command_shutdown
when 3
if $unlocked_pics == 0
$game_system.se_play($data_system.buzzer_se)
p 'You didn\'t unlock any bonus pics!' #message
else
$game_system.se_play($data_system.decision_se)
$scene = Scene_Bonus_Pics.new
end
end
end
end
end
#...........................................................................
# END SLAVE PART;START OF THE SCRIPT
#...........................................................................
class Scene_Bonus_Pics
def main
Audio.bgm_play("Audio/BGM/" "001-Battle01", 80, 100) #Plays the music
#How many pictures are there?
@pictures_number = 4
if @current_picture != nil
@picture.dispose
end
@current_picture = 1
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("1")
Graphics.transition
loop do
Graphics.update
Input.update
current_picture_by_input
if $scene != self
break
end
end
Graphics.freeze
@picture.dispose
end
def current_picture_by_input
if Input.trigger?(Input::RIGHT)
next_picture
elsif Input.trigger?(Input::LEFT)
previous_picture
elsif Input.trigger?(Input::B)
$game_system.se_play($data_system.decision_se)
$scene = Scene_Title.new
end
check_picture
end
def check_picture
# HERE
if @current_picture == 1
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("1")
elsif @current_picture == 2
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("2")
elsif @current_picture == 3
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("3")
elsif @current_picture == 4
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture("4")
end
end
def next_picture
if @current_picture != @pictures_number and @current_picture < $unlocked_pics
$game_system.se_play($data_system.cursor_se)
@current_picture += 1
else
$game_system.se_play($data_system.buzzer_se)
end
end
def previous_picture
if @current_picture != 1
$game_system.se_play($data_system.cursor_se)
@current_picture -= 1
else
$game_system.se_play($data_system.buzzer_se)
end
end
end
Code:
#============================================================================
# ** Bonus Pictures Script
#----------------------------------------------------------------------------
# by Ludicus Maximus aka Ludicus
#----------------------------------------------------------------------------
# This script will allow you to show bonus pictures (you know,like some games
# show concept arts & such) straight from the main menu.
#----------------------------------------------------------------------------
# VERSION HISTORY
#
# Version 1.0 -> 29 June 2009
# The first release.All-at-once unlocking only.
# ---------------------------
# Version 1.1 -> 04 July 2009
# The second release.Progressive unlocking only.Rewrote some of the code.You
# don't have to do as much in Scene_Title,as I've made a 'slave' part of
# the script that does most of the work for you.
# ---------------------------
# Version 1.5 -> 16 August 2009
# The third release. You don't have to do anything in Scene_Title if you
# use the default system. Added an explanatory window, which shows
# text depending on the current picture. Broken up the code blocks.
# Now it's nearly completely plug & play. Scene_Title slave sold separately :3
#----------------------------------------------------------------------------
# Instructions:
#
# 1. Copy all of your bonus pictures in the game's Graphics/Pictures folder
# The pictures must be EXACTLY 640x480!
#
# 2. Set the constant 'PICTURES_NUMBER' (line 83) how many pictures there are.
#
# 3. Now you don't have to set up nothing, just make sure that the pics' filenames
# is a number, starting from 1. (i.e. you import 5 pngs, name them 1.png, 2.png...)
# and number them in the order you want them to appear.
#
# 4. In-game you have to call script and type ' $unlocked_pics += 1'
# without the quotes to add a pic. Of course, you can change how many the
# player will unlock;You can change 1 how many you want.
#---------------------------------------------------------------------------
# Costumization:
# - Go to line 70 and set BPWINDOW to true if you want an explaining window to show;
# Customise the constants to suit you likings: if you want to show a text but
# not the window, you can set BPWINDOW_OPACITY to 0.
#
# - Set up the constants at line 85, 86, 87
# (the song's name, volume & pitch respectively)
#
#----------------------------------------------------------------------------
# Notes:
#
# - You can set BPWINDOW_W at more than 640, but the edges will look
# stretched.
# - The same for BPWINDOW_H, it will look stretched.
#
#----------------------------------------------------------------------------
#
# Credits and Thanks:
#
# -The game "Legacy of Kain : Defiance",for giving me this script's idea
# -Me,aka Ludicus Maximus/Ludicus/Qwerty234.
#----------------------------------------------------------------------------
#Please give credit to me when using this script,preferably as Ludicus Maximus
#----------------------------------------------------------------------------
#===============================================================================
# ** EXPLAINING WINDOW
#===============================================================================
# This window simply shows a text. Its settings are below.
#===============================================================================
BPWINDOW = true #set this to true to enable explaining window
BPWINDOW_W = 600 #the window's width. I suggest the maximum at 640.
BPWINDOW_H = 130 #the window's height.I suggest the maximum at 480.
BPWINDOW_OPACITY = 30 #the window's opacity; 0-255
#Introduce the texts here, as in the example. ALWAYS leave the first one blank.
BPWINDOW_TEXTS = [ "" ,
"Pigface Sketch" ,
"The game logo" ,
"Sketch of the bad guy" ,
"Castle of Illyuria draft"]
#===============================================================================
#How many pictures are there?
PICTURES_NUMBER = 4
#The following constants are settings for the music; line 12
BP_SONGNAME = "Audio/BGM/001-Battle01" #The song's name; must be imported
BP_SONGVOLUME = 80 #The song's volume
BP_SONGPITCH = 100 #The song's pitch
#How do you want the menu entry to look like? (if using the default title screen
#and the slave)
BPMENU = "Porn"
#When the player wants to enter and no pic is unlocked, do you want
# a message to pop? If false, he'll hear only the buzzer sound.
NOPIC = false
#If true, what is the message you want the player to see?
NOPIC_MSG = "You haven\'t unlocked any pics yet."
#===============================================================================
class BonusPics_Window < Window_Base
def initialize
super( (640 - BPWINDOW_W)/ 2, 480 - BPWINDOW_H, BPWINDOW_W, BPWINDOW_H)
self.contents = Bitmap.new(width - 32, height - 32)
end
def add_text(text)
self.contents.clear
self.contents.font.color = Color.new(0, 0, 0)
self.contents.draw_text(150, 20, 400, 60, text)
end
end
#=========================
class Scene_Bonus_Pics
#=========================
def main
#-------------------------
Audio.bgm_play(BP_SONGNAME, BP_SONGVOLUME, BP_SONGPITCH)
#-------------------------
if @current_picture != nil
@picture.dispose
end
#-------------------------
@picture = Sprite.new
@current_picture = 1
#-------------------------
if BPWINDOW
@explanatory_window = BonusPics_Window.new
@explanatory_window.opacity = BPWINDOW_OPACITY
end
#--------------------------
Graphics.transition
#--------------------------
loop do
Graphics.update
Input.update
current_picture_by_input
if $scene != self
break
end
end
#-------------------------
Graphics.freeze
@picture.dispose
#-------------------------
if BPWINDOW
@explanatory_window.dispose
end
#-------------------------
end
#=========================
def current_picture_by_input
#-------------------------
if Input.trigger?(Input::RIGHT)
next_picture
elsif Input.trigger?(Input::LEFT)
previous_picture
elsif Input.trigger?(Input::B)
$game_system.se_play($data_system.decision_se)
$scene = Scene_Title.new
end
#-------------------------
check_picture
#-------------------------
end
#=========================
def check_picture
#-------------------------
@picture.dispose
@picture = Sprite.new
@picture.bitmap = RPG::Cache.picture(@current_picture.to_s)
#-------------------------
if BPWINDOW
@explanatory_window.add_text(BPWINDOW_TEXTS[@current_picture].to_s)
end
#-------------------------
end
#=========================
def next_picture
#-------------------------
if @current_picture != PICTURES_NUMBER and @current_picture < $unlocked_pics
$game_system.se_play($data_system.cursor_se)
@current_picture += 1
else
$game_system.se_play($data_system.buzzer_se)
end
#-------------------------
end
#=========================
def previous_picture
#-------------------------
if @current_picture != 1
$game_system.se_play($data_system.cursor_se)
@current_picture -= 1
else
$game_system.se_play($data_system.buzzer_se)
end
#-------------------------
end
#=========================
end #class
# Defining Command Bonus Pics in Scene_Title, for easier Scene_Title edits
class Scene_Title
def command_bonuspics
if $unlocked_pics == 0
$game_system.se_play($data_system.buzzer_se)
if NOPIC
p NOPIC_MSG #message
end
else
$game_system.se_play($data_system.decision_se)
$scene = Scene_Bonus_Pics.new
end
end
end
If you're using version 1.5 AND THE DEFAULT TITLE SCREEN, post this somewhere below Scene_Title.
Code:
#=============================================================
# Constants
#=============================================================
#How do you want the menu entry to look like?
BPMENU = "Porn"
#When the player wants to enter and no pic is unlocked, do you want
# a message to pop? If false, he'll hear only the buzzer sound.
NOPIC = false
#If true, what is the message you want the player to see?
NOPIC_MSG = "You haven\'t unlocked any pics yet."
#...........................................................................
# START SLAVE PART
#...........................................................................
class Scene_Title
def main
# If battle test
if $BTEST
battle_test
return
end
# Load database
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# Make system object
$game_system = Game_System.new
# Make title graphic
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
# Make command window
s1 = "New Game"
s2 = "Continue"
s3 = "Shutdown"
s4 = BPMENU
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
# Continue enabled determinant
# Check if at least one save file exists
# If enabled, make @continue_enabled true; if disabled, make it false
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.rxdata")
@continue_enabled = true
end
end
# If continue is enabled, move cursor to "Continue"
# If disabled, display "Continue" text in gray
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
if $unlocked_pics == nil
$unlocked_pics = 0
end
if $unlocked_pics == 0
@command_window.disable_item(3)
end
# Play title BGM
$game_system.bgm_play($data_system.title_bgm)
# Stop playing ME and BGS
Audio.me_stop
Audio.bgs_stop
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of command window
@command_window.dispose
# Dispose of title graphic
@sprite.bitmap.dispose
@sprite.dispose
end
def update
# Update command window
@command_window.update
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 0 # New game
command_new_game
when 1 # Continue
command_continue
when 2 # Shutdown
command_shutdown
when 3
command_bonuspics
end
end
end
end
#...........................................................................
# END SLAVE PART
#...........................................................................
Instructions
They're in the script header.
FAQ
*The instructions are tl;dr!
Try the demo.
* Your pictures FAIL!
THose are just quick mock-up examples. =/
Compatibility
It may be incompatible with other scripts that change the title menu.
Credits and Thanks
-The game "Legacy of Kain : Defiance",for giving me this script's idea
-Me,aka Ludicus (Maximus).
-Ccoa,for her window tutorial,and the default scripts,which taught me basically
all I know about RGSS.
-Also lambchop's(Amaranth's?) Scene Splash,which I also studied
and learnt a few things from it.
Author's Notes
-I wrote this script in a single sitting :cheers: <- Only the first version,lol.
-This is most likely NOT the final version.
Terms and Conditions
You have to give credit to me if you use this script,preferably as Ludicus Maximus.
Free for commercial use.