The Sleeping Leonhart
Member
Advanced Configuration Script
Version: 2.2
Introduction
This is an edit of the old configuration script.
The script allow the user to change some option in the game.
Features
You can change the following items:
Now you can put your skin an you can rename the option.
Screenshots
Demo
V2.0
V2.1
Script
V 2.2
Instructions
Put the script under SDK and above main.
To call the configuration men? use $scene = Scene_ConfigurationType.new.
To change the value/state of an option use the LEFT/RIGHT arrow.
Compatibility
This script use SDK, however you can remove it.
Credits and Thanks
Thanks to Blizzard for his Blizz-Art Gradient styler.
Author's Notes
Please credit me if you use this script.
For any question, bug report or other please post in this topic.
Version: 2.2
Introduction
This is an edit of the old configuration script.
The script allow the user to change some option in the game.
Features
You can change the following items:
- BGM Volume
- BGS Volume
- SE Volume
- ME Volume
- Skin
- Skin Color
- Battle Cursor
- Font Type(New)
- Font Size(New)
- Game Speed
Now you can put your skin an you can rename the option.
Screenshots
http://img466.imageshack.us/img466/794/ac1hy8.jpg[/IMG]
http://img183.imageshack.us/img183/6193/ac2es5.jpg[/IMG]
http://img466.imageshack.us/img466/9655/ac3cl3.jpg[/IMG]
http://img72.imageshack.us/img72/3790/ac4fe2.jpg[/IMG]
http://img352.imageshack.us/img352/9425/ac5lt3.jpg[/IMG]
http://img183.imageshack.us/img183/6193/ac2es5.jpg[/IMG]
http://img466.imageshack.us/img466/9655/ac3cl3.jpg[/IMG]
http://img72.imageshack.us/img72/3790/ac4fe2.jpg[/IMG]
http://img352.imageshack.us/img352/9425/ac5lt3.jpg[/IMG]
Demo
V2.0
V2.1
Script
V 2.2
Code:
#==============================================================================
# ** Advanced Configuration
#==============================================================================
# The Sleeping Leonhart
# Version 2.2
# 4.05.07
#==============================================================================
# OPZIONI VIDEO
#------------------------------------------------------------------------------
# * Cambio colore skin
# * Cambio skin
# * Puntatore Battaglia
# * Tipo Font
# * Dimensione Font
#==============================================================================
# OPZIONI GIOCO
#------------------------------------------------------------------------------
# * Velocit? Gioco(FPS)
# * A tutto Schermo
#==============================================================================
# OPZIONI AUDIO
#------------------------------------------------------------------------------
# * BGM Volume
# * BGS Volume
# * SE Volume
# * ME Volume
#==============================================================================
#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Advanced Configuration', 'The Sleeping Leonhart', 2.2, '4.05.07')
#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.enabled?('Advanced Configuration') == true
#==============================================================================
#COSTANTI
#==============================================================================
BASIC_OPTION = ["Video","Audio","Game"]
SKIN = ["Black","Old","Red","White Ties","Blue","Comic Skin","Army","SLFFVII"]
AUDIO_OPTION = ["BGM Volume","BGS Volume","SE Volume","ME Volume"]
VIDEO_OPTION = ["Skin Color","Skin Type","Battle Cursot","Font Type","Font Size"]
GAME_OPTION = ["Game Speed","FullScreen"]
FONT_NAME = ["Arial","Tahoma","Times New Roman","Comic Sans MS"]
#==============================================================================
#Modulo Base di RPG Maker per chiamare le risorse
module RPG
module Cache
def self.windowskin(filename)
self.load_bitmap("Graphics/Windowskins/", filename, $game_system.skin_hue)
end
end
end
#modifica della classe Game_System
class Game_System
alias tsl_gamesystem_initialize initialize
attr_accessor :bgm_volume
attr_accessor :bgs_volume
attr_accessor :se_volume
attr_accessor :me_volume
attr_accessor :skin_hue
attr_accessor :skin_index
attr_accessor :cursor_name
attr_accessor :cursor_index
attr_accessor :game_speed
attr_accessor :fullscreen
attr_accessor :font_name
attr_accessor :font_index
attr_accessor :font_size
def initialize
@bgm_volume = 100
@bgs_volume = 100
@se_volume = 100
@me_volume = 100
@skin_hue = 0
@skin_index = 0
@cursor_name = $data_system.windowskin_name
@cursor_index = 0
@game_speed = 40
@fullscreen = false
@font_name = Font.default_name =FONT_NAME[0]
@font_index = 0
@font_size = Font.default_size = 24
tsl_gamesystem_initialize
end
def bgm_play(bgm)
@playing_bgm = bgm
if bgm != nil and bgm.name != ""
Audio.bgm_play("Audio/BGM/" + bgm.name , bgm.volume * bgm_volume / 100, bgm.pitch)
else
Audio.bgm_stop
end
Graphics.frame_reset
end
def bgs_play(bgs)
@playing_bgs = bgs
if bgs != nil and bgs.name != ""
Audio.bgs_play("Audio/BGS/" + bgs.name, bgs.volume * bgs_volume / 100, bgs.pitch)
else
Audio.bgs_stop
end
Graphics.frame_reset
end
def me_play(me)
if me != nil and me.name != ""
Audio.me_play("Audio/ME/" + me.name, me.volume * me_volume / 100, me.pitch)
else
Audio.me_stop
end
Graphics.frame_reset
end
def se_play(se)
if se != nil and se.name != ""
Audio.se_play("Audio/SE/" + se.name, se.volume * se_volume / 100, se.pitch)
end
end
end
class Arrow_Base < Sprite
alias ac_arrowbase_init initialize
def initialize(viewport)
super(viewport)
ac_arrowbase_init(viewport)
self.bitmap = RPG::Cache.windowskin($game_system.cursor_name)
end
end
#==============================================================================
# Blizz-Art Gradient styler with HP/SP/EXP bars by Blizzard
# Version: 4.2b
# Date v4.0: 13.11.2006
# Date v4.11: 12.1.2007
# Date v4.2b: 12.3.2007
#
#
# v2.0+
# - 2 styles, better code
# v3.0+
# - 6 styles, far better code
# v4.0+
# - 6 styles, overworked and extremely delagged, enjoy the most lagless
# gradient/slant bar code ever
# v4.11
# - added instructions and a recognition constant for plugins
# v4.2b
# - improved code
#
#
# Instructions:
#
# You can change style and opacity by using the "Call script" event command.
# Use one of of these syntaxes:
#
# $game_system.bar_style = X
# $game_system.bar_opacity = Y
#
# X is a number from 0 to 5 and is the ID number of the style. Y is a number
# from 0 to 255 and indicates the opacity. Values out of range will be
# corrected.
#==============================================================================
#==============================================================================
# Game_System
#==============================================================================
class Game_System
attr_accessor :bar_style
attr_reader :bar_opacity
alias init_blizzart initialize
def initialize
init_blizzart
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#
# Configure this part manually if you have no "Options" controller for the
# styles and the opacity. (style: 0~5, opacity: 0~256) (256 is the same as 255)
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@bar_style = 5
@bar_opacity = 256
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
end
def bar_opacity=(alpha)
if alpha > 256
alpha = 256
elsif alpha < 0
alpha = 0
end
@bar_opacity = alpha
end
end
#==============================================================================
# Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
#==============================================================================
# Bitmap
#==============================================================================
class Bitmap
def gradient_bar(x, y, w, color1, color2, color3, rate)
return if $game_system.bar_style < 0 or $game_system.bar_style > 5
styles = [1, 3, 4, 5]
offset = 5
x += offset
y += 26
if styles.include?($game_system.bar_style)
offset += 2
w = w / 8 * 8
y -= 1
if $game_system.bar_style == 5
y -= 2
else
x += 1
end
end
r = color1.red
g = color1.green
b = color1.blue
r_rate = color2.red - r
g_rate = color2.green - g
b_rate = color2.blue - b
alpha = $game_system.bar_opacity
return if alpha == 0
alpha -= 1 if alpha == 256
if $game_system.bar_style < 5
for i in 0...(offset+3)
fill_rect(x-i, y+i-2, w+3, 1, Color.new(0, 0, 0, 255))
end
for i in 0...(offset+1)
fill_rect(x-i, y+i-1, w+1, 1, Color.new(255, 255, 255, 255))
end
if $game_system.bar_style < 2
for i in 0...(w+offset)
red = color3.red * i / (w + offset)
green = color3.green * i / (w + offset)
blue = color3.blue * i / (w + offset)
oy = i < offset ? offset-i : 0
off = i < offset ? i : i > w ? w+offset-i : offset
fill_rect(x+i-offset+1, y+oy-1, 1, off, Color.new(red, green, blue, alpha))
end
if (w*rate).to_i >= offset
for i in 0...((w*rate).to_i+offset)
red = r + r_rate * i / ((w + offset)*rate)
green = g + g_rate * i / ((w + offset)*rate)
blue = b + b_rate * i / ((w + offset)*rate)
oy = i < offset ? offset-i : 0
off = i < offset ? i : i > w*rate ? (w*rate).to_i+offset-i : offset
fill_rect(x+i-offset+1, y+oy-1, 1, off, Color.new(red, green, blue, alpha))
end
else
for i in 0...(w*rate).to_i
for j in 0...offset
red = r + r_rate * i / (w * rate)
green = g + g_rate * i / (w * rate)
blue = b + b_rate * i / (w * rate)
set_pixel(x+i-j+1, y+j-1, Color.new(red, green, blue, alpha))
end
end
end
else
for i in 0...offset
red = color3.red * i / offset
green = color3.green * i / offset
blue = color3.blue * i / offset
fill_rect(x-i+1, y+i-1, w, 1, Color.new(red, green, blue, alpha))
if $game_system.bar_style == 4
if i < offset / 2
red = color2.red * (i+1) / (offset/2)
green = color2.green * (i+1) / (offset/2)
blue = color2.blue * (i+1) / (offset/2)
else
red = color2.red * (offset+1-i) / (offset/2 + 1)
green = color2.green * (offset+1-i) / (offset/2 + 1)
blue = color2.blue * (offset+1-i) / (offset/2 + 1)
end
else
red = r + r_rate * i / offset
green = g + g_rate * i / offset
blue = b + b_rate * i / offset
end
fill_rect(x-i+1, y+i-1, w*rate, 1, Color.new(red, green, blue, alpha))
end
end
if styles.include?($game_system.bar_style)
for i in 0...w
for j in 0...offset
if styles.include?($game_system.bar_style) and i % 8 < 2
set_pixel(x+i-j+1, y+j-1, Color.new(0, 0, 0, alpha))
end
end
end
end
else
fill_rect(x+1, y-3, w+2, 12, Color.new(255, 255, 255, 192))
for i in 0...10
if i < 5
red = color3.red * (i+1) / 5
green = color3.green * (i+1) / 5
blue = color3.blue * (i+1) / 5
else
red = color3.red * (11-i) / 6
green = color3.green * (11-i) / 6
blue = color3.blue * (11-i) / 6
end
fill_rect(x+2, y+i-2, w, 1, Color.new(red, green, blue, alpha))
if i < 5
red = color2.red * (i+1) / 5
green = color2.green * (i+1) / 5
blue = color2.blue * (i+1) / 5
else
red = color2.red * (11-i) / 6
green = color2.green * (11-i) / 6
blue = color2.blue * (11-i) / 6
end
fill_rect(x+2, y+i-2, w*rate, 1, Color.new(red, green, blue, alpha))
end
for i in 0...w/8
fill_rect(x+2+i*8, y-2, 1, 10, Color.new(0, 0, 0, alpha))
fill_rect(x+9+i*8, y-2, 1, 10, Color.new(0, 0, 0, alpha))
end
end
end
end
class Window_VideoConfig < Window_Base
def initialize
super(0, 0, 320, 192)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 128, 32,VIDEO_OPTION[0])
self.contents.font.color = normal_color
self.contents.draw_text(128, 0, 128, 32,$game_system.skin_hue.to_s)
self.contents.gradient_bar(180, -10, 100, Color.new(0, 0, 0, 255),Color.new(0, 0, 255, 255),Color.new(0, 255, 255, 255),$game_system.skin_hue.to_f/360)
self.contents.font.color = system_color
self.contents.draw_text(0, 32, 128, 32,VIDEO_OPTION[1])
self.contents.font.color = normal_color
self.contents.draw_text(128, 32, 128, 32,$game_system.windowskin_name)
self.contents.font.color = system_color
self.contents.draw_text(0, 64, 128, 32,VIDEO_OPTION[2])
self.contents.font.color = normal_color
self.contents.draw_text(128, 64, 128, 32,$game_system.cursor_name)
self.contents.font.color = system_color
self.contents.draw_text(0, 96, 128, 32,VIDEO_OPTION[3])
self.contents.font.color = normal_color
self.contents.draw_text(128, 96, 128, 32,$game_system.font_name)
self.contents.font.color = system_color
self.contents.draw_text(0, 128, 128, 32,VIDEO_OPTION[4])
self.contents.font.color = normal_color
self.contents.draw_text(128, 128, 128, 32,$game_system.font_size.to_s)
end
end
class Window_GameConfig < Window_Base
def initialize
super(0, 0, 320, 96)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 128, 32,GAME_OPTION[0])
self.contents.font.color = normal_color
self.contents.draw_text(128, 0, 128, 32,$game_system.game_speed.to_s)
self.contents.draw_text(160,32,128,32,"/")
self.contents.font.color = system_color
self.contents.draw_text(0,32,128,32,GAME_OPTION[1])
if $game_system.fullscreen == true
self.contents.font.color = normal_color
self.contents.draw_text(128,32,128,32,"ON")
self.contents.font.color = system_color
self.contents.draw_text(176,32,128,32,"OFF")
else
self.contents.font.color = system_color
self.contents.draw_text(128,32,128,32,"ON")
self.contents.font.color = normal_color
self.contents.draw_text(176,32,128,32,"OFF")
end
end
end
class Window_Game < Window_Base
def initialize
super(0,0,128,64)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.draw_text(0, 0, 100, 32, BASIC_OPTION[2])
end
end
class Window_Video < Window_Base
def initialize
super(0, 0, 128, 64)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.draw_text(0, 0, 100, 32, BASIC_OPTION[0])
end
end
class Window_AudioConfig < Window_Base
def initialize
super(0, 0, 320, 160)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 128, 32,AUDIO_OPTION[0])
self.contents.font.color = normal_color
self.contents.draw_text(128, 0, 128, 32,$game_system.bgm_volume.to_s + "%")
self.contents.gradient_bar(180, -10, 100, Color.new(0, 0, 0, 255),Color.new(0, 0, 255, 255),Color.new(0, 255, 255, 255),$game_system.bgm_volume.to_f/100)
self.contents.font.color = system_color
self.contents.draw_text(0, 32, 128, 32,AUDIO_OPTION[1])
self.contents.font.color = normal_color
self.contents.draw_text(128, 32, 128, 32,$game_system.bgs_volume.to_s + "%")
self.contents.gradient_bar(180, 22, 100, Color.new(0, 0, 0, 255),Color.new(0, 0, 255, 255),Color.new(0, 255, 255, 255),$game_system.bgs_volume.to_f/100)
self.contents.font.color = system_color
self.contents.draw_text(0, 64, 128, 32,AUDIO_OPTION[2])
self.contents.font.color = normal_color
self.contents.draw_text(128, 64, 128, 32,$game_system.se_volume.to_s + "%")
self.contents.gradient_bar(180, 54, 100, Color.new(0, 0, 0, 255),Color.new(0, 0, 255, 255),Color.new(0, 255, 255, 255),$game_system.se_volume.to_f/100)
self.contents.font.color = system_color
self.contents.draw_text(0, 96, 128, 32,AUDIO_OPTION[3])
self.contents.font.color = normal_color
self.contents.draw_text(128, 96, 128, 32,$game_system.me_volume.to_s + "%")
self.contents.gradient_bar(180, 86, 100, Color.new(0, 0, 0, 255),Color.new(0, 0, 255, 255),Color.new(0, 255, 255, 255),$game_system.me_volume.to_f/100)
end
end
class Window_Audio < Window_Base
def initialize
super(0, 0, 128, 64)
self.contents = Bitmap.new(width - 32, height - 32)
update
end
def update
self.contents.clear
self.contents.draw_text(0, 0, 100, 32, BASIC_OPTION[1])
end
end
class Scene_Video < SDK::Scene_Base
def initialize(video_index = 0)
@video_index = video_index
@commands = []
@commands.push(VIDEO_OPTION).flatten!
end
def main_window
@sprite = Spriteset_Map.new
main_command_window
@video = Window_Video.new
@video.y = 32
@video.z += 1
@videostat = Window_VideoConfig.new
@videostat.x = 192
@videostat.y = 120
@arrow = Sprite.new
@arrow.y = 195
@arrow.x = 460
@arrow.z = 999
end
def main_command_window
@command_window = Window_Command.new(160,@commands)
@command_window.y = 120
@command_window.x = 0
@command_window.index = @video_index
@command_window.active = true
end
def update
@arrow.bitmap = Bitmap.new("Graphics/Windowskins/"+SKIN[$game_system.cursor_index])
@arrow.src_rect.set(128,96,32,32)
@arrow.bitmap.hue_change($game_system.skin_hue)
super
if Input.repeat?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_ConfigurationType.new(0)
end
case @command_window.command
when VIDEO_OPTION[0]
command_color
@video.windowskin = @videostat.windowskin = @command_window.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
when VIDEO_OPTION[1]
command_skin
@video.windowskin = @videostat.windowskin = @command_window.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
when VIDEO_OPTION[2]
command_cursor
when VIDEO_OPTION[3]
command_font_name
when VIDEO_OPTION[4]
command_font_size
end
end
def command_color
if Input.repeat?(Input::LEFT)
if $game_system.skin_hue < 1
$game_system.se_play($data_system.decision_se)
$game_system.skin_hue = 360
else
$game_system.skin_hue -= 1
$game_system.se_play($data_system.decision_se)
end
return
end
if Input.repeat?(Input::RIGHT)
if $game_system.skin_hue > 359
$game_system.skin_hue = 0
$game_system.se_play($data_system.decision_se)
else
$game_system.skin_hue = $game_system.skin_hue + 1
$game_system.se_play($data_system.decision_se)
end
return
end
end
def command_skin
if Input.repeat?(Input::LEFT)
if $game_system.skin_index < 1
$game_system.skin_index = SKIN.size - 1
$game_system.windowskin_name = SKIN[$game_system.skin_index]
$game_system.se_play($data_system.decision_se)
else
$game_system.skin_index -= 1
$game_system.windowskin_name = SKIN[$game_system.skin_index]
$game_system.se_play($data_system.decision_se)
end
end
if Input.repeat?(Input::RIGHT)
if $game_system.skin_index > SKIN.size - 2
$game_system.skin_index = 0
$game_system.windowskin_name = SKIN[$game_system.skin_index]
$game_system.se_play($data_system.decision_se)
else
$game_system.skin_index += 1
$game_system.windowskin_name = SKIN[$game_system.skin_index]
$game_system.se_play($data_system.decision_se)
end
end
end
def command_cursor
if Input.repeat?(Input::LEFT)
if $game_system.cursor_index < 1
$game_system.cursor_index = SKIN.size - 1
$game_system.cursor_name = SKIN[$game_system.cursor_index]
$game_system.se_play($data_system.decision_se)
else
$game_system.cursor_index -= 1
$game_system.cursor_name = SKIN[$game_system.cursor_index]
$game_system.se_play($data_system.decision_se)
end
end
if Input.repeat?(Input::RIGHT)
if $game_system.cursor_index > SKIN.size - 2
$game_system.cursor_index = 0
$game_system.cursor_name = SKIN[$game_system.cursor_index] = SKIN[0]
$game_system.se_play($data_system.decision_se)
else
$game_system.cursor_index += 1
$game_system.cursor_name = SKIN[$game_system.cursor_index]
$game_system.se_play($data_system.decision_se)
end
end
end
def command_font_name
if Input.repeat?(Input::LEFT)
if $game_system.font_index < 1
$game_system.font_index = FONT_NAME.size - 1
$game_system.font_name = Font.default_name = FONT_NAME[$game_system.font_index]
$scene = Scene_Video.new(3)
$game_system.se_play($data_system.decision_se)
else
$game_system.font_index -= 1
$game_system.font_name = Font.default_name = FONT_NAME[$game_system.font_index]
$scene = Scene_Video.new(3)
$game_system.se_play($data_system.decision_se)
end
end
if Input.repeat?(Input::RIGHT)
if $game_system.font_index > FONT_NAME.size - 2
$game_system.font_index = 0
$game_system.font_name = Font.default_name = FONT_NAME[$game_system.font_index]
$scene = Scene_Video.new(3)
$game_system.se_play($data_system.decision_se)
else
$game_system.font_index += 1
$game_system.font_name = Font.default_name = FONT_NAME[$game_system.font_index]
$scene = Scene_Video.new(3)
$game_system.se_play($data_system.decision_se)
end
end
end
def command_font_size
if Input.repeat?(Input::LEFT)
if $game_system.font_size < 13
Font.default_size = $game_system.font_size = 28
$scene = Scene_Video.new(4)
$game_system.se_play($data_system.decision_se)
else
Font.default_size = $game_system.font_size -= 1
$scene = Scene_Video.new(4)
$game_system.se_play($data_system.decision_se)
end
end
if Input.repeat?(Input::RIGHT)
if $game_system.font_size > 27
Font.default_size = $game_system.font_size = 12
$scene = Scene_Video.new(4)
$game_system.se_play($data_system.decision_se)
else
Font.default_size = $game_system.font_size += 1
$scene = Scene_Video.new(4)
$game_system.se_play($data_system.decision_se)
end
end
end
end
class Scene_Audio < SDK::Scene_Base
def initialize(audio_index = 0)
@audio_index = audio_index
@commands = []
@commands.push(AUDIO_OPTION).flatten!
end
def main_window
@sprite = Spriteset_Map.new
main_command_window
@audio = Window_Audio.new
@audio.y = 32
@audio.z += 1
@audiostat = Window_AudioConfig.new
@audiostat.x = 192
@audiostat.y = 120
end
def main_command_window
@command_window = Window_Command.new(160,@commands)
@command_window.y = 120
@command_window.x = 0
@command_window.index = @audio_index
@command_window.active = true
end
def update
super
if Input.repeat?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_ConfigurationType.new(1)
end
case @command_window.command
when AUDIO_OPTION[0]
command_bgm
when AUDIO_OPTION[1]
command_bgs
when AUDIO_OPTION[2]
command_se
when AUDIO_OPTION[3]
command_me
end
end
def command_bgm
if Input.repeat?(Input::LEFT)
if $game_system.bgm_volume < 1
$game_system.se_play($data_system.decision_se)
$game_system.bgm_volume = 100
$game_system.bgm_play($game_system.bgm_memorize)
$game_system.se_play($data_system.decision_se)
else
$game_system.bgm_volume -= 1
$game_system.se_play($data_system.decision_se)
$game_system.bgm_play($game_system.bgm_memorize)
end
return
end
if Input.repeat?(Input::RIGHT)
if $game_system.bgm_volume > 99
$game_system.bgm_volume = 0
$game_system.bgm_play($game_system.bgm_memorize)
$game_system.se_play($data_system.decision_se)
else
$game_system.bgm_volume += 1
$game_system.se_play($data_system.decision_se)
$game_system.bgm_play($game_system.bgm_memorize)
end
return
end
end
def command_bgs
if Input.repeat?(Input::LEFT)
if $game_system.bgs_volume < 1
$game_system.se_play($data_system.decision_se)
$game_system.bgs_volume = 100
else
$game_system.bgs_volume -= 1
$game_system.se_play($data_system.decision_se)
end
return
end
if Input.repeat?(Input::RIGHT)
if $game_system.bgs_volume > 99
$game_system.bgs_volume = 0
$game_system.se_play($data_system.decision_se)
else
$game_system.bgs_volume += 1
$game_system.se_play($data_system.decision_se)
end
return
end
end
def command_se
if Input.repeat?(Input::LEFT)
if $game_system.se_volume < 1
$game_system.se_volume = 100
$game_system.se_play($data_system.decision_se)
else
$game_system.se_volume -= 1
$game_system.se_play($data_system.decision_se)
end
return
end
if Input.repeat?(Input::RIGHT)
if $game_system.se_volume > 99
$game_system.se_volume = 0
$game_system.se_play($data_system.decision_se)
else
$game_system.se_volume += 1
$game_system.se_play($data_system.decision_se)
end
return
end
end
def command_me
if Input.repeat?(Input::LEFT)
if $game_system.me_volume < 1
$game_system.me_volume = 100
$game_system.se_play($data_system.decision_se)
else
$game_system.me_volume -= 1
$game_system.se_play($data_system.decision_se)
end
return
end
if Input.repeat?(Input::RIGHT)
if $game_system.me_volume > 99
$game_system.me_volume = 0
$game_system.se_play($data_system.decision_se)
else
$game_system.me_volume += 1
$game_system.se_play($data_system.decision_se)
end
return
end
end
end
class Scene_Game < SDK::Scene_Base
def initialize(command_index = 0)
@command_index = command_index
@commands = []
@commands.push(GAME_OPTION).flatten!
end
def main_window
@sprite = Spriteset_Map.new
main_command_window
@audio = Window_Game.new
@audio.y = 32
@audio.z += 1
@audiostat = Window_GameConfig.new
@audiostat.x = 192
@audiostat.y = 120
end
def main_command_window
@command_window = Window_Command.new(160,@commands)
@command_window.y = 120
@command_window.x = 0
@command_window.index = @command_index
end
def update
super
if Input.repeat?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_ConfigurationType.new(2)
end
case @command_window.command
when GAME_OPTION[0]
command_speed
when GAME_OPTION[1]
command_screen
end
end
def command_speed
if Input.repeat?(Input::LEFT)
if $game_system.game_speed < 11
$game_system.se_play($data_system.decision_se)
$game_system.game_speed = 120
Graphics.frame_rate = $game_system.game_speed
else
$game_system.se_play($data_system.decision_se)
$game_system.game_speed -= 1
Graphics.frame_rate = $game_system.game_speed
end
end
if Input.repeat?(Input::RIGHT)
if $game_system.game_speed > 119
$game_system.se_play($data_system.decision_se)
$game_system.game_speed = 10
Graphics.frame_rate = $game_system.game_speed
else
$game_system.se_play($data_system.decision_se)
$game_system.game_speed += 1
Graphics.frame_rate = $game_system.game_speed
end
end
end
def command_screen
if Input.repeat?(Input::LEFT) or Input.repeat?(Input::RIGHT)
if $game_system.fullscreen
$game_system.fullscreen = false
$game_system.se_play($data_system.decision_se)
fullscreen
else
$game_system.fullscreen = true
$game_system.se_play($data_system.decision_se)
fullscreen
end
end
end
def fullscreen
$showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(18,0,0,0)
$showm.call(13,0,0,0)
$showm.call(13,0,2,0)
$showm.call(18,0,2,0)
end
end
class Scene_ConfigurationType < SDK::Scene_Base
def initialize(option_index = 0)
@option_index = option_index
@commands = []
@commands.push(BASIC_OPTION).flatten!
end
def main_window
@sprite = Spriteset_Map.new
@command_window = Window_Command.new(160,@commands)
@command_window.y = 192
@command_window.x = 240
@command_window.index = @option_index
end
def update
super
if Input.repeat?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
case @command_window.command
when BASIC_OPTION[0]
if Input.repeat?(Input::C)
$game_system.se_play($data_system.decision_se)
$scene = Scene_Video.new
end
when BASIC_OPTION[1]
if Input.repeat?(Input::C)
$game_system.se_play($data_system.decision_se)
$scene = Scene_Audio.new
end
when BASIC_OPTION[2]
if Input.repeat?(Input::C)
$game_system.se_play($data_system.decision_se)
$scene = Scene_Game.new
end
end
end
end
class Scene_Title
alias ac_scenetitle_main main
def main
ac_scenetitle_main
Graphics.frame_rate = $game_system.game_speed
end
end
class Scene_Load < Scene_File
alias ac_sceneload_ondecision on_decision
def on_decision(filename)
ac_sceneload_ondecision(filename)
if $game_system.fullscreen == false
$showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(18,0,0,0 )
$showm.call(13,0,0,0)
$showm.call(13,0,2,0)
$showm.call(18,0,2,0)
end
Graphics.frame_rate = $game_system.game_speed
end
end
#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
Instructions
Put the script under SDK and above main.
To call the configuration men? use $scene = Scene_ConfigurationType.new.
To change the value/state of an option use the LEFT/RIGHT arrow.
Compatibility
This script use SDK, however you can remove it.
Credits and Thanks
Thanks to Blizzard for his Blizz-Art Gradient styler.
Author's Notes
Please credit me if you use this script.
For any question, bug report or other please post in this topic.