흠...... 이 스크립트는 포켓 하우스에서 퍼온것임니다
간단한 설명....
메뉴에 들어가면 끝내기인가 그것이 사라지고 system이라는
메뉴가 생깁니다. 그곳에서 타이틀로 돌아갈 수 있고
볼륨 조절, 자동 대쉬, 메인메뉴로 돌아갈수 있습니다.
여기부터 시작
#===============================================================================
#
# Yanfly Engine Zealous - Menu System Options
# Last Date Updated: 2010.01.09
# Level: Normal
#
# The "End Game" option is possibly the most useless function in RPG Maker VX
# games. Not only does it have little functionality but its functions can be
# reproduced by Alt+F4 and F12. This script replaces "End Game" with a new menu
# altogether and giving the player some familiar options seen in many of
# today's commercial RPG's such as changing window skins, adjust sound volume,
# turning off animations during battle, and the like.
#
#===============================================================================
# Updates
# -----------------------------------------------------------------------------
# o 2010.01.09 - Removed dashing properties from script and ported them to
# YEZ Extended Movement instead.
# o 2010.01.07 - Window Hash updated to include font settings.
# o 2009.12.11 - Commands Update. Made easier to identify command items.
# o 2009.12.07 - Started Script and Finished.
#===============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials but above ▼ Main. Remember to save.
#
# 1. Scroll down, adjust the various Switches and Variable values to something
# empty or predetermined.
# 2. Make a "Windows" folder in your project's "Graphics" folder. Insert the
# window skins you want to use there and adjust the WINDOW_HASH accordingly.
#
#===============================================================================
# Compatibility
# -----------------------------------------------------------------------------
# - Works With: YEZ Battle Engine Zealous
# - Overwrites: All of Scene_End, Game_Player: update_move
# -----------------------------------------------------------------------------
# Note: This script may not work with former Yanfly Engine ReDux scripts.
# Use Yanfly Engine Zealous scripts to work with this if available.
#===============================================================================
$imported = {} if $imported == nil
$imported["MenuSystemOptions"] = true
module YEZ
module SYSTEM
#===========================================================================
# Menu System Commands
# --------------------------------------------------------------------------
# The following adjusts the order at which you would like the menu system
# commands to appear. Here is the reference table to their command ID's.
# :blank
# :volume_bgm - Adjusts BGM volume.
# :volume_bgs - Adjusts BGS volume.
# :volume_sfx - Adjusts SFX volume.
# :animations - Turns on/off battle animations.
# :autocursor - Requires BEZ. Memorized cursor position.
# :skill_help - Requires BEZ. Display skill help.
# :next_actor - Requires BEZ. Automatic Next Actor.
# :auto_dash - Controls if need to hold down dash button to run.
# :instant_text - Whether or not text appears instantly in messages.
# :windowskin - Changes the windowskin.
# :return_title - Return back to the title screen.
# :return_menu - Return back to the menu screen.
#
#===========================================================================
COMMANDS = [
:windowskin, # Changes the windowskin.
:skill_help, # Requires BEZ. Display skill help.
:animations, # Turns on/off battle animations.
:autocursor, # Requires BEZ. Memorized cursor position.
:next_actor, # Requires BEZ. Automatic Next Actor.
:volume_bgm, # Adjusts BGM volume.
:volume_bgs, # Adjusts BGS volume.
:volume_sfx, # Adjusts SFX volume.
:auto_dash, # Controls if need to hold down dash button to run.
:instant_text, # Whether or not text appears instantly in messages.
:blank, # An empty space.
:return_title, # Return back to the title screen.
:return_menu, # Return back to the menu screen.
] # Do not remove this.
# The following hash adjust the vocabulary used for parts of the script.
# All instances of text will appear here.
VOCAB ={
# Item => Text
:title => "System",
:bgm_volume => "BGM Volume",
:bgs_volume => "BGS Volume",
:sfx_volume => "SFX Volume",
:percent => "Audio %d%%",
:mute => "Mute",
:sound_des => "Adjusts audio volume. L/R to Mute and Unmute.",
:animations => "Animations",
:ani_hide => "Hide",
:ani_show => "Show",
:ani_des => "Enables/Disables battle animations.",
:auto_dash => "Auto Dash",
:dash_on => "Auto",
:dash_off => "Manual",
:dash_des => "Enables/Disables automatic dashing.",
:instant_text => "Instant Text",
:instant_on => "Instant",
:instant_off => "Default",
:instant_des => "Messages appear instant or letter by letter.",
:window_skin => "Window Skin",
:wskin_des => "Change the current window skin.",
:return_title => "Return to Title Screen",
:rtitle_des => "Return back to the title screen.",
:return_menu => "Return to Main Menu",
:rmenu_des => "Return back to the main menu.",
} # Do not remove this.
# The following are the variable ID's used to adjust audio volume
BGM_VOLUME_VARIABLE = 21
BGS_VOLUME_VARIABLE = 22
SFX_VOLUME_VARIABLE = 23
# The following are the switch ID's used to adjust various options in
# regards to sound, animations, dashing, and instant text.
MUTE_BGM_SWITCH = 21
MUTE_BGS_SWITCH = 22
MUTE_SFX_SWITCH = 23
DISABLE_ANI_SWITCH = 24
AUTO_DASH_SWITCH = 28
INSTANT_TEXT_SWITCH = 29
# This sets the default fonts used for your windows. Note that in this
# array, if a player doesn't have the font in front, it'll use the next one
# onward until the player does have that font installed.
DEFAULT = ["UmePlus Gothic", "Verdana", "Arial", "Courier New"]
WRITING = ["Comic Sans MS", "Lucida Handwriting", "Arial"]
# The following adjusts the window skins used for your game. Match the
# Window skins with the names accordingly. Within the windowskin hash,
# the following settings are adjusted as such:
# Name - File Name
# Opac - Back Opacity
# Bold - Bold font?
# Italic - Italic font?
# Shadow - Use shadows?
# Size - Font Size
# Font - Font Set
WINDOWSKIN_VARIABLE = 25
DEFAULT_SKIN_VALUE = 7
WINDOW_HASH ={
# Window ID => [ Name, Opac, Bold, Italic, Shadow, Size, Font],
1 => [ "Red", 200, false, false, true, 20, DEFAULT],
2 => [ "Orange", 200, false, false, true, 20, DEFAULT],
3 => [ "Yellow", 200, false, false, true, 20, DEFAULT],
4 => [ "Green", 200, false, false, true, 20, DEFAULT],
5 => [ "Cyan", 200, false, false, true, 20, DEFAULT],
6 => [ "Navy", 200, false, false, true, 20, DEFAULT],
7 => [ "Blue", 200, false, false, true, 20, DEFAULT],
8 => [ "Violet", 200, false, false, true, 20, DEFAULT],
9 => [ "Purple", 200, false, false, true, 20, DEFAULT],
10 => [ "Pink", 200, false, false, true, 20, DEFAULT],
11 => [ "Grey", 200, false, false, true, 20, DEFAULT],
12 => [ "Black", 200, false, false, true, 20, DEFAULT],
} # Do not remove this.
end # SYSTEM
end # YEZ
#===============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
# Therefore, edit at your own risk.
#===============================================================================
if $imported["BattleEngineZealous"]
YEZ::SYSTEM::VOCAB[:bgm_volume] = YEZ::BATTLE::OPTIONS::VOCAB[:bgm_volume]
YEZ::SYSTEM::VOCAB[:bgs_volume] = YEZ::BATTLE::OPTIONS::VOCAB[:bgs_volume]
YEZ::SYSTEM::VOCAB[:sfx_volume] = YEZ::BATTLE::OPTIONS::VOCAB[:sfx_volume]
YEZ::SYSTEM::VOCAB[:percent] = YEZ::BATTLE::OPTIONS::VOCAB[:percent]
YEZ::SYSTEM::VOCAB[:mute] = YEZ::BATTLE::OPTIONS::VOCAB[:mute]
YEZ::SYSTEM::VOCAB[:sound_des] = YEZ::BATTLE::OPTIONS::VOCAB[:sound_des]
YEZ::SYSTEM::VOCAB[:animations] = YEZ::BATTLE::OPTIONS::VOCAB[:animations]
YEZ::SYSTEM::VOCAB[:ani_hide] = YEZ::BATTLE::OPTIONS::VOCAB[:ani_hide]
YEZ::SYSTEM::VOCAB[:ani_show] = YEZ::BATTLE::OPTIONS::VOCAB[:ani_show]
YEZ::SYSTEM::VOCAB[:ani_des] = YEZ::BATTLE::OPTIONS::VOCAB[:ani_des]
YEZ::SYSTEM::BGM_VOLUME_VARIABLE = YEZ::BATTLE::OPTIONS::BGM_VOLUME_VARIABLE
YEZ::SYSTEM::BGS_VOLUME_VARIABLE = YEZ::BATTLE::OPTIONS::BGS_VOLUME_VARIABLE
YEZ::SYSTEM::SFX_VOLUME_VARIABLE = YEZ::BATTLE::OPTIONS::SFX_VOLUME_VARIABLE
YEZ::SYSTEM::MUTE_BGM_SWITCH = YEZ::BATTLE::OPTIONS::MUTE_BGM_SWITCH
YEZ::SYSTEM::MUTE_BGS_SWITCH = YEZ::BATTLE::OPTIONS::MUTE_BGS_SWITCH
YEZ::SYSTEM::MUTE_SFX_SWITCH = YEZ::BATTLE::OPTIONS::MUTE_SFX_SWITCH
YEZ::SYSTEM::DISABLE_ANI_SWITCH = YEZ::BATTLE::OPTIONS::DISABLE_ANI_SWITCH
end
module Vocab
def self.game_end; return YEZ::SYSTEM::VOCAB[:title]; end
end # Vocab
module Cache
def self.windows(filename); load_bitmap("Graphics/Windows/", filename); end
end # Cache
#===============================================================================
# RPG
#===============================================================================
module RPG
class BGM < AudioFile
def play
if @name.empty?
Audio.bgm_stop
@@last = BGM.new
else
vol = @volume
if $game_variables != nil
vol *= 100 - $game_variables[YEZ::SYSTEM::BGM_VOLUME_VARIABLE]
vol /= 100
vol = [[vol, 0].max, 100].min
vol = 0 if $game_switches[YEZ::SYSTEM::MUTE_BGM_SWITCH]
end
Audio.bgm_play("Audio/BGM/" + @name, vol, @pitch)
@@last = self
end
end #Play
end # BGM
class ME < AudioFile
def play
if @name.empty?
Audio.me_stop
else
vol = @volume
if $game_variables != nil
vol *= 100 - $game_variables[YEZ::SYSTEM::BGM_VOLUME_VARIABLE]
vol /= 100
vol = [[vol, 0].max, 100].min
vol = 0 if $game_switches[YEZ::SYSTEM::MUTE_BGM_SWITCH]
end
Audio.me_play("Audio/ME/" + @name, vol, @pitch)
end
end
end # ME
class SE < AudioFile
def play
unless @name.empty?
vol = @volume
if $game_variables != nil
vol *= 100 - $game_variables[YEZ::SYSTEM::SFX_VOLUME_VARIABLE]
vol /= 100
vol = [[vol, 0].max, 100].min
vol = 0 if $game_switches[YEZ::SYSTEM::MUTE_SFX_SWITCH]
end
Audio.se_play("Audio/SE/" + @name, vol, @pitch)
end
end
def self.stop
Audio.se_stop
end
end # SE
class BGS < AudioFile
def play
if @name.empty?
Audio.bgs_stop
@@last = BGS.new
else
vol = @volume
if $game_variables != nil
vol *= 100 - $game_variables[YEZ::SYSTEM::BGS_VOLUME_VARIABLE]
vol /= 100
vol = [[vol, 0].max, 100].min
vol = 0 if $game_switches[YEZ::SYSTEM::MUTE_BGS_SWITCH]
end
Audio.bgs_play("Audio/BGS/" + @name, vol, @pitch)
@@last = self
end
end
end # BGS
end # RPG
#===============================================================================
# Game_Player
#===============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# alias method: dash?
#--------------------------------------------------------------------------
alias dash_em dash? unless $@
def dash?
if $game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
return false if @move_route_forcing
return false if $game_map.disable_dash?
return false if in_vehicle?
return false if Input.press?(Input::A)
return true
else
dash_em
end
end
end # Game_Player
#===============================================================================
# Scene_End
#===============================================================================
class Scene_End < Scene_Base
#--------------------------------------------------------------------------
# overwrite method: start
#--------------------------------------------------------------------------
def start
super
create_menu_background
@options_window = Window_System.new
@help_window = Window_Help.new
@options_window.help_window = @help_window
@skins_window = Window_Skins.new
@last_index = @skins_window.index
end
#--------------------------------------------------------------------------
# overwrite method: post_start
#--------------------------------------------------------------------------
def post_start
super
end
#--------------------------------------------------------------------------
# overwrite method: pre_terminate
#--------------------------------------------------------------------------
def pre_terminate
super
end
#--------------------------------------------------------------------------
# overwrite method: terminate
#--------------------------------------------------------------------------
def terminate
super
@help_window.dispose
@options_window.dispose
@skins_window.dispose
dispose_menu_background
end
#--------------------------------------------------------------------------
# new method: update_system_window
#--------------------------------------------------------------------------
def update_system_window
@options_window.update
@help_window.update
if Input.trigger?(Input::C)
options_input_c
elsif Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.repeat?(Input::LEFT)
options_input_left
elsif Input.repeat?(Input::RIGHT)
options_input_right
elsif Input.repeat?(Input::L)
options_input_l
elsif Input.repeat?(Input::R)
options_input_r
end
end
#--------------------------------------------------------------------------
# new method: options_input_c
#--------------------------------------------------------------------------
def options_input_c
case @options_window.item
when :windowskin # Windows
Sound.play_decision
@options_window.active = false
@skins_window.open
@skins_window.active = true
when :return_title
command_to_title
when :return_menu
Sound.play_decision
return_scene
end
end
#--------------------------------------------------------------------------
# new method: options_input_left
#--------------------------------------------------------------------------
def options_input_left
case @options_window.item
when :volume_bgm # BGM Volume
variable = YEZ::SYSTEM::BGM_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] >= 100
$game_variables[variable] += Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
RPG::BGM::last.play
when :volume_bgs # BGS Volume
variable = YEZ::SYSTEM::BGS_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] >= 100
$game_variables[variable] += Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
RPG::BGS::last.play
when :volume_sfx # SFX Volume
variable = YEZ::SYSTEM::SFX_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] >= 100
$game_variables[variable] += Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
when :animations # Disable Animations
if $game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :autocursor # Disable Cursor Memory
if $game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :skill_help # Skill Help
if !$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :next_actor # Next Actor
if $game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :auto_dash # Automatic Dash
if !$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :instant_text # Instant Text
if !$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
end
end
#--------------------------------------------------------------------------
# new method: options_input_right
#--------------------------------------------------------------------------
def options_input_right
case @options_window.item
when :volume_bgm # BGM Volume
variable = YEZ::SYSTEM::BGM_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] <= 0
$game_variables[variable] -= Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
RPG::BGM::last.play
when :volume_bgs # BGS Volume
variable = YEZ::SYSTEM::BGS_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] <= 0
$game_variables[variable] -= Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
RPG::BGS::last.play
when :volume_sfx # SFX Volume
variable = YEZ::SYSTEM::SFX_VOLUME_VARIABLE
Sound.play_cursor unless $game_variables[variable] <= 0
$game_variables[variable] -= Input.press?(Input::SHIFT) ? 10 : 1
$game_variables[variable] = [[$game_variables[variable], 0].max, 100].min
@options_window.draw_item(@options_window.index)
when :animations # Disable Animations
if !$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :autocursor # Disable Cursor Memory
if !$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :skill_help # Skill Help
if $game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :next_actor # Next Actor
if !$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :auto_dash # Automatic Dash
if $game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :instant_text # Instant Text
if $game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
end
end
#--------------------------------------------------------------------------
# new method: options_input_l
#--------------------------------------------------------------------------
def options_input_l
case @options_window.item
when :volume_bgm # BGM Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_BGM_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
RPG::BGM::last.play
when :volume_bgs # BGS Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_BGS_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
RPG::BGS::last.play
when :volume_sfx # SFX Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_SFX_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
when :animations # Disable Animations
if $game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :autocursor # Disable Cursor Memory
if $game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :skill_help # Skill Help
if !$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :next_actor # Next Actor
if $game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :auto_dash # Automatic Dash
if !$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :instant_text # Instant Text
if !$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
end
end
#--------------------------------------------------------------------------
# new method: options_input_r
#--------------------------------------------------------------------------
def options_input_r
case @options_window.item
when :volume_bgm # BGM Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_BGM_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
RPG::BGM::last.play
when :volume_bgs # BGS Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_BGS_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
RPG::BGS::last.play
when :volume_sfx # SFX Volume
Sound.play_decision
switch = YEZ::SYSTEM::MUTE_SFX_SWITCH
$game_switches[switch] = !$game_switches[switch]
@options_window.draw_item(@options_window.index)
when :animations # Disable Animations
if !$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :autocursor # Disable Cursor Memory
if !$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :skill_help # Skill Help
if $game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :next_actor # Next Actor
if !$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
Sound.play_decision
$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH] = true
@options_window.draw_item(@options_window.index)
end
when :auto_dash # Automatic Dash
if $game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
when :instant_text # Instant Text
if $game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
Sound.play_decision
$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH] = false
@options_window.draw_item(@options_window.index)
end
end
end
#--------------------------------------------------------------------------
# overwrite method: update
#--------------------------------------------------------------------------
def update
super
@skins_window.update
if @options_window.active
update_system_window
elsif @skins_window.active
update_skins_window
end
end
#--------------------------------------------------------------------------
# new method: update_skins_window
#--------------------------------------------------------------------------
def update_skins_window
if @last_index != @skins_window.index
@last_index = @skins_window.index
update_skins
end
if Input.trigger?(Input::B)
Sound.play_cancel
@skins_window.close
@skins_window.active = false
@options_window.active = true
elsif Input.trigger?(Input::C)
Sound.play_decision
@skins_window.close
@skins_window.active = false
@options_window.active = true
end
end
#--------------------------------------------------------------------------
# new method: update_skins
#--------------------------------------------------------------------------
def update_skins
$game_variables[YEZ::SYSTEM::WINDOWSKIN_VARIABLE] = @skins_window.index + 1
@options_window.update_windowskin
@options_window.refresh
@help_window.update_windowskin
@help_window.set_text("")
@options_window.update_help
@skins_window.update_windowskin
@skins_window.refresh
@skins_window.back_opacity = 255
@options_window.refresh
@options_window.draw_item(@options_window.index)
end
#--------------------------------------------------------------------------
# overwrite method: command_to_title
#--------------------------------------------------------------------------
def command_to_title
Sound.play_decision
RPG::BGM.fade(800)
RPG::BGS.fade(800)
RPG::ME.fade(800)
$scene = Scene_Title.new
Graphics.fadeout(60)
end
end # Scene_End
#===============================================================================
# Scene_Battle
#===============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# alias method: display_normal_animation
#--------------------------------------------------------------------------
alias display_normal_animation_mso display_normal_animation unless $@
def display_normal_animation(targets, animation_id, mirror = false)
return if $game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
display_normal_animation_mso(targets, animation_id, mirror)
end
end
#===============================================================================
# Window
#===============================================================================
class Window
#--------------------------------------------------------------------------
# update windowskin
#--------------------------------------------------------------------------
def update_windowskin
return if $game_variables == nil
variable = YEZ::SYSTEM::WINDOWSKIN_VARIABLE
if $game_variables[variable] == 0
$game_variables[variable] = YEZ::SYSTEM::DEFAULT_SKIN_VALUE
elsif !YEZ::SYSTEM::WINDOW_HASH.include?($game_variables[variable])
$game_variables[variable] = YEZ::SYSTEM::DEFAULT_SKIN_VALUE
end
skin = YEZ::SYSTEM::WINDOW_HASH[$game_variables[variable]]
change_settings(skin)
end
#--------------------------------------------------------------------------
# change_settings
#--------------------------------------------------------------------------
def change_settings(skin)
self.windowskin = Cache.windows(skin[0])
self.back_opacity = skin[1]
self.contents.font.bold = Font.default_bold = skin[2]
self.contents.font.italic = Font.default_italic = skin[3]
self.contents.font.shadow = Font.default_shadow = skin[4]
self.contents.font.size = Font.default_size = skin[5]
self.contents.font.name = Font.default_name = skin[6]
self.contents.font.color = normal_color
end
end # Window
#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# alias method: initialize
#--------------------------------------------------------------------------
alias initialize_window_mso initialize unless $@
def initialize(x, y, width, height)
initialize_window_mso(x, y, width, height)
self.update_windowskin
end
#--------------------------------------------------------------------------
# alias method: create_contents
#--------------------------------------------------------------------------
alias create_contents_base_mso create_contents unless $@
def create_contents
create_contents_base_mso
self.contents.font.color = normal_color
end
end # Window_Base
#===============================================================================
# Window_Selectable
#===============================================================================
class Window_Selectable < Window_Base
#--------------------------------------------------------------------------
# alias method: create_contents
#--------------------------------------------------------------------------
alias create_contents_selectable_mso create_contents unless $@
def create_contents
create_contents_selectable_mso
self.contents.font.color = normal_color
end
end # Window_Selectable
#===============================================================================
# Window_SaveFile
#===============================================================================
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# alias method: refresh
#--------------------------------------------------------------------------
alias refresh_savefile_mso refresh unless $@
def refresh
if @file_exist
n = @game_variables[YEZ::SYSTEM::WINDOWSKIN_VARIABLE]
if n == 0 or !YEZ::SYSTEM::WINDOW_HASH.include?(n)
n = YEZ::SYSTEM::DEFAULT_SKIN_VALUE
end
skin = YEZ::SYSTEM::WINDOW_HASH[n]
change_settings(skin)
end
refresh_savefile_mso
end
end # Window_SaveFile
#===============================================================================
# Window_Message
#===============================================================================
class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# alias update show fast
#--------------------------------------------------------------------------
alias update_show_fast_mso update_show_fast unless $@
def update_show_fast
if $game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
if self.pause or self.openness < 255
@show_fast = false
else
@show_fast = true
end
if @show_fast and @wait_count > 0
@wait_count -= 1
end
else
update_show_fast_mso
end
end
#--------------------------------------------------------------------------
# alias method: new_page
#--------------------------------------------------------------------------
alias new_page_mso new_page unless $@
def new_page
self.update_windowskin
new_page_mso
end
end
#===============================================================================
# Window_System
#===============================================================================
class Window_System < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------
def initialize
super(0, 56, 544, 360)
@column_max = 1
self.index = 0
self.active = true
refresh
end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------
def refresh
@data = []
for i in YEZ::SYSTEM::COMMANDS
next if i == :autocursor and !$imported["BattleEngineZealous"]
next if i == :skill_help and !$imported["BattleEngineZealous"]
next if i == :next_actor and !$imported["BattleEngineZealous"]
@data.push(i)
end
@item_max = @data.size
self.contents.clear
create_contents
for i in 0..@item_max
self.contents.font.color.alpha = 255
draw_item(i)
end
end
#--------------------------------------------------------------------------
# draw_item
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
item = @data[index]
sw = self.width - 32
dx = 4
dy = WLH * index
dw = sw - 8
case item
#---
when :blank # Blank
when :volume_bgm # BGM Volume
text = YEZ::SYSTEM::VOCAB[:bgm_volume]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
number = 100 - $game_variables[YEZ::SYSTEM::BGM_VOLUME_VARIABLE]
text = sprintf(YEZ::SYSTEM::VOCAB[:percent], number)
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::MUTE_BGM_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:mute]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :volume_bgs # BGS Volume
text = YEZ::SYSTEM::VOCAB[:bgs_volume]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
number = 100 - $game_variables[YEZ::SYSTEM::BGS_VOLUME_VARIABLE]
text = sprintf(YEZ::SYSTEM::VOCAB[:percent], number)
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::MUTE_BGS_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:mute]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :volume_sfx # SFX Volume
text = YEZ::SYSTEM::VOCAB[:sfx_volume]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
number = 100 - $game_variables[YEZ::SYSTEM::SFX_VOLUME_VARIABLE]
text = sprintf(YEZ::SYSTEM::VOCAB[:percent], number)
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::MUTE_SFX_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:mute]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :animations # Disable Animation
text = YEZ::SYSTEM::VOCAB[:animations]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = !$game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:ani_show]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::DISABLE_ANI_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:ani_hide]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :autocursor # Cursor Memory
text = YEZ::BATTLE::OPTIONS::VOCAB[:cursor_mem]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = !$game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:curmem_on]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::BATTLE::OPTIONS::AUTO_CURSOR_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:curmem_off]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :skill_help # Skill Help
text = YEZ::BATTLE::OPTIONS::VOCAB[:skill_help]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = $game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:skhelp_on]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = !$game_switches[YEZ::BATTLE::OPTIONS::SKILL_HELP_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:skhelp_off]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :next_actor # Next Actor
text = YEZ::BATTLE::OPTIONS::VOCAB[:auto_next]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = !$game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:next_on]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = $game_switches[YEZ::BATTLE::OPTIONS::NEXT_ACTOR_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::BATTLE::OPTIONS::VOCAB[:next_off]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :auto_dash # Automatic Dash
text = YEZ::SYSTEM::VOCAB[:auto_dash]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:dash_on]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = !$game_switches[YEZ::SYSTEM::AUTO_DASH_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:dash_off]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :instant_text # Instant Text
text = YEZ::SYSTEM::VOCAB[:instant_text]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
enabled = $game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:instant_on]
self.contents.draw_text(dw/2, dy, dw/4, WLH, text, 1)
enabled = !$game_switches[YEZ::SYSTEM::INSTANT_TEXT_SWITCH]
self.contents.font.color.alpha = enabled ? 255 : 128
text = YEZ::SYSTEM::VOCAB[:instant_off]
self.contents.draw_text(dw*3/4, dy, dw/4, WLH, text, 1)
when :windowskin # Window Skin
text = YEZ::SYSTEM::VOCAB[:window_skin]
self.contents.draw_text(dx, dy, dw/2, WLH, text, 1)
variable = YEZ::SYSTEM::WINDOWSKIN_VARIABLE
if $game_variables[variable] == 0
$game_variables[variable] = YEZ::SYSTEM::DEFAULT_SKIN_VALUE
end
text = YEZ::SYSTEM::WINDOW_HASH[$game_variables[variable]][0]
self.contents.draw_text(dw/2, dy, dw/2, WLH, text, 1)
#---
when :return_title # Return to Title
text = YEZ::SYSTEM::VOCAB[:return_title]
self.contents.draw_text(dx, dy, dw, WLH, text, 1)
when :return_menu # Return to Title
text = YEZ::SYSTEM::VOCAB[:return_menu]
self.contents.draw_text(dx, dy, dw, WLH, text, 1)
#---
end
end
#--------------------------------------------------------------------------
# item
#--------------------------------------------------------------------------
def item; return @data[@index]; end
#--------------------------------------------------------------------------
# update_help
#--------------------------------------------------------------------------
def update_help
case item
when :volume_bgm; @help_window.set_text(YEZ::SYSTEM::VOCAB[:sound_des],1)
when :volume_bgs; @help_window.set_text(YEZ::SYSTEM::VOCAB[:sound_des],1)
when :volume_sfx; @help_window.set_text(YEZ::SYSTEM::VOCAB[:sound_des],1)
when :animations; @help_window.set_text(YEZ::SYSTEM::VOCAB[:ani_des],1)
when :autocursor; @help_window.set_text(YEZ::BATTLE::OPTIONS::VOCAB[:cur_des],1)
when :skill_help; @help_window.set_text(YEZ::BATTLE::OPTIONS::VOCAB[:skhelp_des],1)
when :next_actor; @help_window.set_text(YEZ::BATTLE::OPTIONS::VOCAB[:next_des],1)
when :auto_dash; @help_window.set_text(YEZ::SYSTEM::VOCAB[:dash_des],1)
when :instant_text; @help_window.set_text(YEZ::SYSTEM::VOCAB[:instant_des],1)
when :windowskin; @help_window.set_text(YEZ::SYSTEM::VOCAB[:wskin_des],1)
when :return_title; @help_window.set_text(YEZ::SYSTEM::VOCAB[:rtitle_des],1)
when :return_menu; @help_window.set_text(YEZ::SYSTEM::VOCAB[:rmenu_des],1)
else; @help_window.set_text("")
end
end
end # Window_System
#===============================================================================
# Window_Skins
#===============================================================================
class Window_Skins < Window_Selectable
#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
super(136, 56, 272, 304)
@column_max = 1
self.index = 0
self.back_opacity = 255
self.openness = 0
self.active = false
refresh
end
#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh
@data = []
variable = YEZ::SYSTEM::WINDOWSKIN_VARIABLE
hash = YEZ::SYSTEM::WINDOW_HASH.sort{ |a,b| a[0] <=> b[0] }
for key in hash
@data.push(key[0])
self.index = key[0] - 1 if key[0] == $game_variables[variable]
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# draw_item
#--------------------------------------------------------------------------
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
rect.width -= 4
text = YEZ::SYSTEM::WINDOW_HASH[@data[index]][0]
self.contents.draw_text(rect, text, 1)
end
end # Window_Skins
#===============================================================================
#
# END OF FILE
#
#===============================================================================
여기가 끝 그리고
첨부파일을 받아서 압축을 풀어 프로젝트의 그래픽 폴더에 압축 푼 파일을 넣어주심 됩니다.
(파일 째로넣어야지, 낱개로 넣으면 안됩니다.)
예제도 올립니다.