Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Configuration Script

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:

  • BGM Volume
  • BGS Volume
  • SE Volume
  • ME Volume
  • Skin
  • Skin Color
  • Battle Cursor
  • Font Type(New)
  • Font Size(New)
  • Game Speed
And you can enable/disable the fullscreen.
Now you can put your skin an you can rename the option.

Screenshots


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.
 
POst the script it self, so I can Read it, but for what I can see nice first script also you should translate it to english.

Good Job!
 
i saw this same sort of one back on .net

I'd probably use it if you could translate it into english.

How come all the other scripts are in japanese though?

heres the actual script
Code:
#==============================================================================
# ** Opzioni Gioco
#==============================================================================
# Squall Leonhart
# Versione 1.3
# 7.07.06
#==============================================================================
# Il seguente script necessita dell' SDK.
#==============================================================================
# Versione 1.0 (14.05.06)
#==============================================================================
# Create opzioni:
# - Volume Musica(BGM).
# - Volume Effetti Sonori(SE/BGS/ME).
# - Colore Skin.
#==============================================================================
# Versione 1.1 (15.05.06)
#==============================================================================
# Aggiunto:
# - Trama Skin.
# - Aumento rapido volume e colore skin(Tasti SU/GIU).
# - Passaggio rapido da 0 a 100/350 e viceversa.
#==============================================================================
# Versione 1.2 (17.05.06)
#==============================================================================
# Aggiunto:
# - Finestra Trama Skin corrente.
# - Barre indicative Volume (BGM/SE) e colore skin.
# - Fineste scorrevoli.
#==============================================================================
#==============================================================================
# Versione 1.3 (7.07.06)
#==============================================================================
# - Corretti alcuni Bug
# - Script reso indipendente
#==============================================================================
#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Opzioni di Gioco', 'Squall Leonhart', 1.3, '7.07.06')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Opzioni di Gioco') == true

module RPG
  module Cache
    def self.windowskin(filename, hue)
      self.load_bitmap("Graphics/Windowskins/", filename, hue)
    end
  end
end
  
class Game_System
  attr_reader   :map_interpreter          
  attr_reader   :battle_interpreter       
  attr_accessor :timer                    
  attr_accessor :timer_working            
  attr_accessor :save_disabled            
  attr_accessor :menu_disabled            
  attr_accessor :encounter_disabled       
  attr_accessor :message_position         
  attr_accessor :message_frame            
  attr_accessor :save_count               
  attr_accessor :magic_number             
  attr_accessor :bgm_volume
  attr_accessor :se_volume
  attr_accessor :skin_hue
  attr_accessor :skin_index
  def initialize
    @map_interpreter = Interpreter.new(0, true)
    @battle_interpreter = Interpreter.new(0, false)
    @timer = 0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @encounter_disabled = false
    @message_position = 2
    @message_frame = 0
    @save_count = 0
    @magic_number = 0
    @bgm_volume = 100
    @se_volume = 100
    @skin_hue = 0
    @skin_index = 7
  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 * se_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 * se_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 Window_Base < Window
  def initialize(x, y, width, height)
    super()
    @windowskin_name = $windowskin_name
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end
  def update
    super
    if $windowskin_name != @windowskin_name
      @windowskin_name = $windowskin_name
      self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    end
  end
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
    bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
    for i in 1..( (min / max) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end

class Arrow_Base < Sprite
  attr_reader   :index          
  attr_reader   :help_window           
  def initialize(viewport)
    super(viewport)
    self.bitmap = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.ox = 16
    self.oy = 64
    self.z = 2500
    @blink_count = 0
    @index = 0
    @help_window = nil
    update
  end
end

class Window_Command < Window_Selectable
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    for i in 0...@item_max
      draw_item(i, normal_color)
    end
  end
end

class Window_VolumeBGMCorrente < Window_Base
  def initialize
    super(160, 0, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Volume Musica")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.bgm_volume.to_s + "%", 2.9)
    draw_slant_bar(160, 45, $game_system.bgm_volume.to_f, 100, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_VolumeSECorrente < Window_Base
  def initialize
    super(160, 96, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Volume Effetti Sonori")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.se_volume.to_s + "%", 2.9)
    draw_slant_bar(160, 45, $game_system.se_volume.to_f, 100, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_ColoreSkinCorrente < Window_Base
  def initialize
    super(160, 192, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Colore Skin")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.skin_hue.to_s, 2.9)
    draw_slant_bar(160, 45, $game_system.skin_hue.to_f, 350, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_TramaSkinCorrente < Window_Base
  def initialize
    super(160, 288, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Skin Corrente")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.windowskin_name, 2.9)
  end  
end

class Scene_Opzioni
  def initialize(option_index = 0, skin_index = $game_system.skin_index)
    @option_index = option_index
    @skin_index = skin_index
  end
  def main
    s1 = "Volume BGM"
    s2 = "Volume SE"
    s3 = "Colore Skin"
    s4 = "Trama Skin"
    
    r1 = "Black"
    r2 = "Old"
    r3 = "Red"
    r4 = "White Ties"
    r5 = "Blue"
    r6 = "Comic Skin"
    r7 = "Army"
    r8 = "SLFFVII"
    
    @windowskin_window = Window_Command.new(160, [r1, r2, r3, r4, r5, r6, r7, r8])    
    @windowskin_window.index = @skin_index
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @command_window.index = @option_index    
    @currentsfx_window = Window_VolumeSECorrente.new
    @currentbgm_window = Window_VolumeBGMCorrente.new
    @currentskin_window = Window_ColoreSkinCorrente.new
    @currwindskin_window = Window_TramaSkinCorrente.new
    @currentsfx_window.active = false
    @currentbgm_window.active = false
    @currentskin_window.active = false
    @windowskin_window.active = false
    @currwindskin_window.active = false
    @command_window.x = 640
    @windowskin_window.y = 480
    @windowskin_window.x = 0
    @currentbgm_window.y = 480
    @currentsfx_window.y = 576
    @currentskin_window.y = 672
    @currwindskin_window.y = 600
    @currentsfx_window.refresh
    @currentbgm_window.refresh 
    @currentskin_window.refresh
    @currwindskin_window.refresh
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @currentbgm_window.dispose
    @currentsfx_window.dispose
    @currentskin_window.dispose
    @windowskin_window.dispose
    @currwindskin_window.dispose        
  end
  def update
    @windowskin_window.update    
    @command_window.update
    @currentsfx_window.update
    @currentbgm_window.update 
    @currentskin_window.update
    @currwindskin_window.update
    if @command_window.x > 0
      @command_window.x -= 64
    end
    if @windowskin_window.y > 160
      @windowskin_window.y -= 40
    end
    if @currentbgm_window.y > 0
      @currentbgm_window.y -= 96
    end    
    if @currentsfx_window.y > 96
      @currentsfx_window.y -= 60
    end    
    if @currentskin_window.y > 192
      @currentskin_window.y -= 48
    end    
    if @currwindskin_window.y > 288
      @currwindskin_window.y -= 24
    end  
    if @command_window.active
      update_command
      return
    end 
    if @currentbgm_window.active              
      update_bgm
      return
    end
    if @currentsfx_window.active              
      update_sfx
      return
    end
    if @currentskin_window.active
      update_skin
      return
    end    
    if @windowskin_window.active
      update_windowskin
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(4)
      return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @currentbgm_window.active = true
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @currentsfx_window.active = true        
      when 2
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @currentskin_window.active = true 
      when 3
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @windowskin_window.active = true
      end
      return
    end
  end
def update_sfx
    if Input.repeat?(Input::LEFT)        
      if $game_system.se_volume < 1       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 100
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume - 1
        $game_system.se_play($data_system.decision_se)        
        @currentsfx_window.refresh      
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.se_volume < 10       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 100
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume - 10
        $game_system.se_play($data_system.decision_se)        
        @currentsfx_window.refresh      
      end
      return
    end
    if Input.repeat?(Input::RIGHT)
      if $game_system.se_volume > 99       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 0
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume + 1
        $game_system.se_play($data_system.decision_se)
        @currentsfx_window.refresh      
      end
      return
    end  
    if Input.repeat?(Input::UP)
      if $game_system.se_volume > 90       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 0
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume + 10
        $game_system.se_play($data_system.decision_se)
        @currentsfx_window.refresh      
      end
      return
    end      
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentsfx_window.active = false
      return
    end
  end
  def update_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)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume - 1
        $game_system.se_play($data_system.decision_se)        
        @currentbgm_window.refresh 
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.bgm_volume < 10       
          $game_system.bgm_volume = 100
          $game_system.bgm_play($game_system.bgm_memorize)
          $game_system.se_play($data_system.decision_se)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume - 10
        $game_system.se_play($data_system.decision_se)        
        @currentbgm_window.refresh 
        $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)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume + 1
        $game_system.se_play($data_system.decision_se)
        @currentbgm_window.refresh  
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end
    if Input.repeat?(Input::UP)
      if $game_system.bgm_volume > 90       
          $game_system.bgm_volume = 0
          $game_system.bgm_play($game_system.bgm_memorize)
          $game_system.se_play($data_system.decision_se)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume + 10
        $game_system.se_play($data_system.decision_se)
        @currentbgm_window.refresh  
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end    
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentbgm_window.active = false
      return
    end
  end
    def update_skin
    if Input.repeat?(Input::LEFT)        
      if $game_system.skin_hue < 1       
          $game_system.se_play($data_system.decision_se)
           @currentskin_window.refresh 
          $game_system.skin_hue = 350
          recolour
      else
        $game_system.skin_hue = $game_system.skin_hue - 1
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.skin_hue < 10       
        $game_system.skin_hue = 350
        $game_system.se_play($data_system.decision_se)
         @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue - 10
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
      end
      return
    end    
    if Input.repeat?(Input::RIGHT)
      if $game_system.skin_hue > 349       
        $game_system.skin_hue = 0
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue + 1
        $game_system.se_play($data_system.decision_se)      
        @currentskin_window.refresh
        recolour
      end
      return
    end
    if Input.repeat?(Input::UP)
      if $game_system.skin_hue > 340       
        $game_system.skin_hue = 0
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue + 10
        $game_system.se_play($data_system.decision_se)      
        @currentskin_window.refresh
        recolour
      end
      return
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentskin_window.active = false
      return
    end
  end
  def update_windowskin
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @windowskin_window.active = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      case @windowskin_window.index
      when 0 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Black"
        $game_system.skin_index = 0
        recolour
      when 1 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Old"
        $game_system.skin_index = 1
        recolour
      when 2 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Red"
        $game_system.skin_index = 2
        recolour
      when 3 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "White Ties"
        $game_system.skin_index = 3
        recolour
      when 4 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Blue"
        $game_system.skin_index = 4
        recolour
      when 5 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Comic Skin"
        $game_system.skin_index = 5
        recolour
      when 6 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Army"
        $game_system.skin_index = 6
        recolour
      when 7 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "SLFFVII"
        $game_system.skin_index = 7
        @windowskin_window.active = true
        recolour
      end
      return
    end
  end
  def recolour
    @command_window.refresh
    @currentbgm_window.refresh
    @currentsfx_window.refresh
    @currentskin_window.refresh
    @windowskin_window.refresh  
    @currwindskin_window.refresh
  end
end

class Scene_Menu
  alias squall_opzioni_scenemenu_init initialize
  alias squall_opzioni_scenemenu_update_command_check update_command_check
    def initialize(menu_index = 0)
      squall_opzioni_scenemenu_init(menu_index)
      @commands.insert(@commands.index('Status') + 1, 'Opzioni')
    end
    def update_command_check
      squall_opzioni_scenemenu_update_command_check
      command = @commands[@command_window.index]
      if command == 'Opzioni'
        command_config
      end
    end
    def command_config
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Opzioni.new
    end
end

module PARA_LEFT_CURSOR
  FILE_NAME = "cursor"
  TYPE = 0
end

class Window_Base
  alias cursor_rect_para_lcr cursor_rect
  def cursor_rect=(rect)
    if PARA_LEFT_CURSOR::TYPE == 1
      super(rect)
    end
    empty = Rect.new(0,0,0,0)
    if rect != empty and self.visible != false and @index != -1
      if @cursor == nil or @cursor.disposed?
        @cursor = Sprite.new
        @cursor.bitmap = RPG::Cache.windowskin(PARA_LEFT_CURSOR::FILE_NAME, 255)
      end  
      @cursor.x = self.x + rect.x
      cy = (rect.height-32) / 2
      @cursor.y = self.y + cy + rect.y + 24
      @cursor.z = self.z + 100
      elsif @cursor != nil
        @cursor.dispose
      end
    end 
    alias dispose_para_cur dispose
    def dispose
      super
      if @cursor != nil
        @cursor.dispose
      end     
    end    
    def visible=(bool)
      super
      if @cursor != nil and bool == false
        @cursor.dispose
      end
    end
  end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
 
This is the translated script

Code:
#==============================================================================
# ** Configuration Translated
#==============================================================================
# The Sleeping Leonhart
# Version 1.3
# 7.07.06
#==============================================================================
# This script function only whit the SDK
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Configuration', 'The Sleeping Leonhart', 1.3, '7.07.06')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Configuration') == true

module RPG
  module Cache
    def self.windowskin(filename, hue)
      self.load_bitmap("Graphics/Windowskins/", filename, hue)
    end
  end
end
  
class Game_System
  attr_reader   :map_interpreter          
  attr_reader   :battle_interpreter       
  attr_accessor :timer                    
  attr_accessor :timer_working            
  attr_accessor :save_disabled            
  attr_accessor :menu_disabled            
  attr_accessor :encounter_disabled       
  attr_accessor :message_position         
  attr_accessor :message_frame            
  attr_accessor :save_count               
  attr_accessor :magic_number             
  attr_accessor :bgm_volume
  attr_accessor :se_volume
  attr_accessor :skin_hue
  attr_accessor :skin_index
  def initialize
    @map_interpreter = Interpreter.new(0, true)
    @battle_interpreter = Interpreter.new(0, false)
    @timer = 0
    @timer_working = false
    @save_disabled = false
    @menu_disabled = false
    @encounter_disabled = false
    @message_position = 2
    @message_frame = 0
    @save_count = 0
    @magic_number = 0
    @bgm_volume = 100
    @se_volume = 100
    @skin_hue = 0
    @skin_index = 7
  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 * se_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 * se_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 Window_Base < Window
  def initialize(x, y, width, height)
    super()
    @windowskin_name = $windowskin_name
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end
  def update
    super
    if $windowskin_name != @windowskin_name
      @windowskin_name = $windowskin_name
      self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    end
  end
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
    bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
    for i in 1..( (min / max) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end

class Arrow_Base < Sprite
  attr_reader   :index          
  attr_reader   :help_window           
  def initialize(viewport)
    super(viewport)
    self.bitmap = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.ox = 16
    self.oy = 64
    self.z = 2500
    @blink_count = 0
    @index = 0
    @help_window = nil
    update
  end
end

class Window_Command < Window_Selectable
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    for i in 0...@item_max
      draw_item(i, normal_color)
    end
  end
end

class Window_VolumeBGMCorrente < Window_Base
  def initialize
    super(160, 0, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Music Volume")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.bgm_volume.to_s + "%", 2.9)
    draw_slant_bar(160, 45, $game_system.bgm_volume.to_f, 100, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_VolumeSECorrente < Window_Base
  def initialize
    super(160, 96, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Sound Effect Volume")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.se_volume.to_s + "%", 2.9)
    draw_slant_bar(160, 45, $game_system.se_volume.to_f, 100, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_ColoreSkinCorrente < Window_Base
  def initialize
    super(160, 192, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Skin Color")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.skin_hue.to_s, 2.9)
    draw_slant_bar(160, 45, $game_system.skin_hue.to_f, 350, 100, 6,
    Color.new(200, 200, 200), Color.new(100, 100, 100))
  end  
end

class Window_TramaSkinCorrente < Window_Base
  def initialize
    super(160, 288, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
  end  
  def refresh
    self.contents.clear
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 160, 32, "Current Skin")
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 32, 120, 32, $game_system.windowskin_name, 2.9)
  end  
end

class Scene_Opzioni
  def initialize(option_index = 0, skin_index = $game_system.skin_index)
    @option_index = option_index
    @skin_index = skin_index
  end
  def main
    s1 = "Music Volume"
    s2 = "SE Volume"
    s3 = "Skin Color"
    s4 = "Skin Type"
    
    r1 = "Black"
    r2 = "Old"
    r3 = "Red"
    r4 = "White Ties"
    r5 = "Blue"
    r6 = "Comic Skin"
    r7 = "Army"
    r8 = "SLFFVII"
    
    @windowskin_window = Window_Command.new(160, [r1, r2, r3, r4, r5, r6, r7, r8])    
    @windowskin_window.index = @skin_index
    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
    @command_window.index = @option_index    
    @currentsfx_window = Window_VolumeSECorrente.new
    @currentbgm_window = Window_VolumeBGMCorrente.new
    @currentskin_window = Window_ColoreSkinCorrente.new
    @currwindskin_window = Window_TramaSkinCorrente.new
    @currentsfx_window.active = false
    @currentbgm_window.active = false
    @currentskin_window.active = false
    @windowskin_window.active = false
    @currwindskin_window.active = false
    @command_window.x = 640
    @windowskin_window.y = 480
    @windowskin_window.x = 0
    @currentbgm_window.y = 480
    @currentsfx_window.y = 576
    @currentskin_window.y = 672
    @currwindskin_window.y = 600
    @currentsfx_window.refresh
    @currentbgm_window.refresh 
    @currentskin_window.refresh
    @currwindskin_window.refresh
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @currentbgm_window.dispose
    @currentsfx_window.dispose
    @currentskin_window.dispose
    @windowskin_window.dispose
    @currwindskin_window.dispose        
  end
  def update
    @windowskin_window.update    
    @command_window.update
    @currentsfx_window.update
    @currentbgm_window.update 
    @currentskin_window.update
    @currwindskin_window.update
    if @command_window.x > 0
      @command_window.x -= 64
    end
    if @windowskin_window.y > 160
      @windowskin_window.y -= 40
    end
    if @currentbgm_window.y > 0
      @currentbgm_window.y -= 96
    end    
    if @currentsfx_window.y > 96
      @currentsfx_window.y -= 60
    end    
    if @currentskin_window.y > 192
      @currentskin_window.y -= 48
    end    
    if @currwindskin_window.y > 288
      @currwindskin_window.y -= 24
    end  
    if @command_window.active
      update_command
      return
    end 
    if @currentbgm_window.active              
      update_bgm
      return
    end
    if @currentsfx_window.active              
      update_sfx
      return
    end
    if @currentskin_window.active
      update_skin
      return
    end    
    if @windowskin_window.active
      update_windowskin
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(4)
      return
    end
    if Input.trigger?(Input::C)
    case @command_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @currentbgm_window.active = true
      when 1
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @currentsfx_window.active = true        
      when 2
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @currentskin_window.active = true 
      when 3
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @windowskin_window.active = true
      end
      return
    end
  end
def update_sfx
    if Input.repeat?(Input::LEFT)        
      if $game_system.se_volume < 1       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 100
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume - 1
        $game_system.se_play($data_system.decision_se)        
        @currentsfx_window.refresh      
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.se_volume < 10       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 100
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume - 10
        $game_system.se_play($data_system.decision_se)        
        @currentsfx_window.refresh      
      end
      return
    end
    if Input.repeat?(Input::RIGHT)
      if $game_system.se_volume > 99       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 0
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume + 1
        $game_system.se_play($data_system.decision_se)
        @currentsfx_window.refresh      
      end
      return
    end  
    if Input.repeat?(Input::UP)
      if $game_system.se_volume > 90       
          $game_system.se_play($data_system.decision_se)
          $game_system.se_volume = 0
          @currentsfx_window.refresh
        else
        $game_system.se_volume = $game_system.se_volume + 10
        $game_system.se_play($data_system.decision_se)
        @currentsfx_window.refresh      
      end
      return
    end      
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentsfx_window.active = false
      return
    end
  end
  def update_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)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume - 1
        $game_system.se_play($data_system.decision_se)        
        @currentbgm_window.refresh 
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.bgm_volume < 10       
          $game_system.bgm_volume = 100
          $game_system.bgm_play($game_system.bgm_memorize)
          $game_system.se_play($data_system.decision_se)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume - 10
        $game_system.se_play($data_system.decision_se)        
        @currentbgm_window.refresh 
        $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)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume + 1
        $game_system.se_play($data_system.decision_se)
        @currentbgm_window.refresh  
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end
    if Input.repeat?(Input::UP)
      if $game_system.bgm_volume > 90       
          $game_system.bgm_volume = 0
          $game_system.bgm_play($game_system.bgm_memorize)
          $game_system.se_play($data_system.decision_se)
          @currentbgm_window.refresh
        else
        $game_system.bgm_volume = $game_system.bgm_volume + 10
        $game_system.se_play($data_system.decision_se)
        @currentbgm_window.refresh  
        $game_system.bgm_play($game_system.bgm_memorize)
      end
      return
    end    
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentbgm_window.active = false
      return
    end
  end
    def update_skin
    if Input.repeat?(Input::LEFT)        
      if $game_system.skin_hue < 1       
          $game_system.se_play($data_system.decision_se)
           @currentskin_window.refresh 
          $game_system.skin_hue = 350
          recolour
      else
        $game_system.skin_hue = $game_system.skin_hue - 1
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
      end
      return
    end
    if Input.repeat?(Input::DOWN)        
      if $game_system.skin_hue < 10       
        $game_system.skin_hue = 350
        $game_system.se_play($data_system.decision_se)
         @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue - 10
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
      end
      return
    end    
    if Input.repeat?(Input::RIGHT)
      if $game_system.skin_hue > 349       
        $game_system.skin_hue = 0
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue + 1
        $game_system.se_play($data_system.decision_se)      
        @currentskin_window.refresh
        recolour
      end
      return
    end
    if Input.repeat?(Input::UP)
      if $game_system.skin_hue > 340       
        $game_system.skin_hue = 0
        $game_system.se_play($data_system.decision_se)
        @currentskin_window.refresh 
        recolour
        else
        $game_system.skin_hue = $game_system.skin_hue + 10
        $game_system.se_play($data_system.decision_se)      
        @currentskin_window.refresh
        recolour
      end
      return
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @currentskin_window.active = false
      return
    end
  end
  def update_windowskin
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @windowskin_window.active = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      case @windowskin_window.index
      when 0 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Black"
        $game_system.skin_index = 0
        recolour
      when 1 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Old"
        $game_system.skin_index = 1
        recolour
      when 2 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Red"
        $game_system.skin_index = 2
        recolour
      when 3 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "White Ties"
        $game_system.skin_index = 3
        recolour
      when 4 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Blue"
        $game_system.skin_index = 4
        recolour
      when 5 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Comic Skin"
        $game_system.skin_index = 5
        recolour
      when 6 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "Army"
        $game_system.skin_index = 6
        recolour
      when 7 
        $game_system.se_play($data_system.decision_se)
        $game_system.windowskin_name = "SLFFVII"
        $game_system.skin_index = 7
        @windowskin_window.active = true
        recolour
      end
      return
    end
  end
  def recolour
    @command_window.refresh
    @currentbgm_window.refresh
    @currentsfx_window.refresh
    @currentskin_window.refresh
    @windowskin_window.refresh  
    @currwindskin_window.refresh
  end
end

class Scene_Menu
  alias squall_opzioni_scenemenu_init initialize
  alias squall_opzioni_scenemenu_update_command_check update_command_check
    def initialize(menu_index = 0)
      squall_opzioni_scenemenu_init(menu_index)
      @commands.insert(@commands.index('Status') + 1, 'Configuration')
    end
    def update_command_check
      squall_opzioni_scenemenu_update_command_check
      command = @commands[@command_window.index]
      if command == 'Configuration'
        command_config
      end
    end
    def command_config
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Opzioni.new
    end
end

module PARA_LEFT_CURSOR
  FILE_NAME = "cursor"
  TYPE = 0
end

class Window_Base
  alias cursor_rect_para_lcr cursor_rect
  def cursor_rect=(rect)
    if PARA_LEFT_CURSOR::TYPE == 1
      super(rect)
    end
    empty = Rect.new(0,0,0,0)
    if rect != empty and self.visible != false and @index != -1
      if @cursor == nil or @cursor.disposed?
        @cursor = Sprite.new
        @cursor.bitmap = RPG::Cache.windowskin(PARA_LEFT_CURSOR::FILE_NAME, 255)
      end  
      @cursor.x = self.x + rect.x
      cy = (rect.height-32) / 2
      @cursor.y = self.y + cy + rect.y + 24
      @cursor.z = self.z + 100
      elsif @cursor != nil
        @cursor.dispose
      end
    end 
    alias dispose_para_cur dispose
    def dispose
      super
      if @cursor != nil
        @cursor.dispose
      end     
    end    
    def visible=(bool)
      super
      if @cursor != nil and bool == false
        @cursor.dispose
      end
    end
  end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end

In the other script you must change this script:
RPG::Cache.windowskin($game_system.windowskin_name)
With this:
RPG::Cache.windowskin($game_system.windowskin_name, $game_system.skin_hue)

Instruction

To change Music Volume, SE Volume and Skin color select the relative option and press Left or Right to raise/diminish of one.
Press Up or Down to raise/diminish of ten.
 

Taylor

Sponsor

I've been looking throughout your script trying to find out how $game_system.skin_hue works... and I can't find anything.
What tones the windowskins according to the skin_hue variable? I've been stressing out here trying to use $game_system.skin_hue on bitmaps and Planes (as used in Mog's CMSs... which is what I'm editing) to tone them as well as the window skins, but all I can seem do is shift one color or change the brigtness of the image(set r/b/g all with skin_hue)

D:

Are you or anyone able to help?
 
Im working on new version of this script.
However the hue is a single value and tone have 4 value so the r/b/g it cant be setted with the hue.
You can use the hue_change method on picture and associate the value of $game_system.skin_hue to have the same color variation.
Example:
@bg.bitmap = RPG::Cache.picture("Background")
@bg.hue_change = $game_system.skin_hue
 

Taylor

Sponsor

No matter how many ways I try, I can't get skin_hue to work on something other than the skin.

@mst_back1 = Plane.new
@mst_back1.bitmap = RPG::Cache.picture("MN_BK")
@mst_back1.z = 10
@mst_back1.hue_change = $game_system.skin_hue

I've tried blending this with another picture (making this one greys) but I always recieve an error saying hue_change is undefined. hue_change is Bitmap I know, but I still recieve the error.

WHERE is skin_hue defined? Surely just adding "$game_system.skin_hue" to the windowskin array(?) doesn't give the windowskins changeable hues...

This'll be trouble for whoever fills my CBS request possibly too...
 
How about add font change? I'm currently trying but it works a bit weird.

Code:
VIDEO_OPTION = ["Skin Color","Skin Type","Battle Cursor",'Font']
FONT = [['font1'],['font2'],['font3]]
#Why array within array?  Sometimes you have to use two or more fonts as default.

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 :font_name #Font
  attr_accessor :font_index #Font
  attr_accessor :game_speed
  attr_accessor :fullscreen
  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
    @font_name = Font.default_name #Font
    @font_index = 0
    @game_speed = 40
    @fullscreen = false
    tsl_gamesystem_initialize
  end

class Window_VideoConfig < Window_Base
  def update
  ......
    #Add - Font
    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.to_s)
    #Add End
  end
end


class Scene_Video < SDK::Scene_Base
  def update
  ......
    when VIDEO_OPTION[3]
      command_font
    end
  end
  ......
  def command_font
    if Input.repeat?(Input::LEFT) 
      if $game_system.font_index < 1
        $game_system.font_index = FONT.size - 1
        $game_system.font_name = FONT[$game_system.font_index]
        Font.default_name = $game_system.font_name
        $game_system.se_play($data_system.decision_se)
      else
        $game_system.font_index -= 1
        $game_system.font_name = FONT[$game_system.font_index]
        Font.default_name = $game_system.font_name
        $game_system.se_play($data_system.decision_se)
      end  
    end
    if Input.repeat?(Input::RIGHT)
      if $game_system.font_index > FONT.size - 2
        $game_system.font_index = 0
        $game_system.font_name = FONT[$game_system.font_index]
        Font.default_name = $game_system.font_name
        $game_system.se_play($data_system.decision_se)
      else
        $game_system.font_index += 1
        $game_system.font_name = SKIN[$game_system.font_index]
        Font.default_name = $game_system.font_name
        $game_system.se_play($data_system.decision_se)
      end
    end
  end
end

When you press 'right', it works normally, but when you keep pressing 'left', it may show empty space.
 
By the way, I think
Code:
class Window_VideoConfig < Window_Base
  def update
  ......
    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)
  ......
should be
Code:
class Window_VideoConfig < Window_Base
  def update
  ......
    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.to_s)
  ......
to prevent error 'cannot convert Array into Sting' using it with MACL(I don't know it shows same error message without MACL) when you set font name as array like:
Code:
FONT_NAME    = [['Arial','Dotum'],['Tahoma','Gulim'],['Times New Roman','Batang']]
 
Um...

This is possible to use without SDK, right? I thought the author said it was possible...
What would I have to edit?

Thanks,
Moriarty
 

prepe

Member

Sorry to bring up a old topic, but I got a error with the old script
it says,
script' Real time active battle (RTAB)' line 3874: ArgumentError Occurred.
wrong number of arguments(1 for 2)
witch is this line,
self.bitmap = RPG::Cache.windowskin($game_system.windowskin_name)
but if I delete that line it works fine, and so dose the other script. What I want to know is, is it going to mess up later on down the road, or can some one help me fix it?
Here is the script it is conflicting with,
Well the name of it is
Real time active battle (RTAB) v1.16
I can't post the script its self because it is to long. Sorry, I can link if needed.
and the other script is on the first page, like four post down I think?
please help! I have tried everything I can think of to fix it.
 
wrong number of arguments(1 for 2)
it means there is just a single argument and it looks like it just include the link to display the windowskin you pick up, but you still need to add another one. Press Ctrl+Shift+F and look for RPG::Cache.windowskin. There should be a line with another example of how to call the windowskin per script and may include the second argument that's missing here.
 
hi sorry fo bumping but i trying to get the options script to be acessed from a menu i make it it goes but when i leave it does not change anything any help im using this cause aleworks options dosent work with my CMS. like i put a diffrent winskin but i reverts to the orignal settings how do i make it save the options im a noob to scripting...
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top