Chaos Project

RPG Maker => RPG Maker Scripts => Script Requests => Topic started by: Sepharin on November 23, 2015, 04:13:20 pm

Title: [RMXP][RGSS] Three Scripts Modifications Help
Post by: Sepharin on November 23, 2015, 04:13:20 pm
Hello, :)

I don't know too much about RGSS, but I'm customizing scripts to use on my new project and I'm having problems with 3 of them.

1 - I could not modify my Ring Menu to have more options. I'd like to have a "Quests" icon, a "Bestiary", and a "Configure" for example to acess others scripts. And I want to remove the windows (Steps, gold, time. place, status, etc)
Script link: http://forum.chaos-project.com/index.php?topic=2612.0
Config:
Spoiler: ShowHide

#==============================================================================
# â-  Ring Menu Config Module
# by Reno-s--Joker
#------------------------------------------------------------------------------
# I'm still just getting the hang of modules, but this may make your icon
# changing much easier.
#==============================================================================
module RM_CFG
 #--------------------------------------------------------------------------
 # â-- Icons for the addon windows
 #--------------------------------------------------------------------------
 
 #--------------------------------------------------------------------------
 # â-- Icons for the main ring
 #--------------------------------------------------------------------------
 Item_Icon = '021-Potion01'
 Skill_Icon = '044-Skill01'
 Equip_Icon = '020-Accessory05'
 Status_Icon = '049-Skill06'
 Save_Icon = '047-Skill04'
 Exit_Icon = '048-Skill05'
 Disabled_Icon = '046-Skill03'
 Openmenu_Se = ''
 #--------------------------------------------------------------------------
 # â-- Fix for near screen edge hiding, thanks to Landith and Aqua
 #--------------------------------------------------------------------------
 Edge_Hide_Fix = true
end  
#==============================================================================
# â-  End Ring Menu Config Module
#==============================================================================

Window Gold:
Spoiler: ShowHide

#==============================================================================
# â-  Window_Gold
# by Reno-s--Joker
#------------------------------------------------------------------------------
#  Shows the amount of gold in the menu.
#  Minor aesthetic modifications made for new menu.
#==============================================================================
class Window_Gold < Window_Base
 #--------------------------------------------------------------------------
 # â-- Initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 148, 64)
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
 end
 #--------------------------------------------------------------------------
 # â-- Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   cx = contents.text_size($data_system.words.gold).width
   self.contents.font.color = normal_color
   self.contents.blt(4, 4, RPG::Cache.icon(RM_CFG::Gold_Icon), Rect.new(0, 0, 24, 24), 255)
   self.contents.draw_text(4, 0, 100-cx-2, 32, $game_party.gold.to_s, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(104-cx, 0, cx, 32, $data_system.words.gold, 2)
 end
end
#==============================================================================
# â-  End Window_Gold
#==============================================================================

Window Playtime
Spoiler: ShowHide

#==============================================================================
# â-  Window_PlayTime
# by Reno-s--Joker
#------------------------------------------------------------------------------
#  Shows the amount of time spent playing.
#  Minor aesthetic modifications made for new menu.
#==============================================================================
class Window_PlayTime < Window_Base
 #--------------------------------------------------------------------------
 # â-- Initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 148, 64)
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
 end
 #--------------------------------------------------------------------------
 # â-- Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.font.color = system_color
   @total_sec = Graphics.frame_count / Graphics.frame_rate
   hour = @total_sec / 60 / 60
   min = @total_sec / 60 % 60
   sec = @total_sec % 60
   text = sprintf("%02d:%02d:%02d", hour, min, sec)
   self.contents.draw_text(4, 0, 100, 32, text, 2)
 end
 #--------------------------------------------------------------------------
 # â-- Update
 #--------------------------------------------------------------------------
 def update
   super
   if Graphics.frame_count / Graphics.frame_rate != @total_sec
     refresh
   end
 end
end
#==============================================================================
# â-  End Window_PlayTime
#==============================================================================

Window Location and Steps
Spoiler: ShowHide

#==============================================================================
# â-  Window_Steps
# by Reno-s--Joker
#------------------------------------------------------------------------------
# Also includes map name (location)
# Replaces the one which comes with the Ring Menu entirely.
# New addition - encounter steps in v 1.1
#==============================================================================
class Window_Steps < Window_Base
 #--------------------------------------------------------------------------
 # â-- Initialize
 #--------------------------------------------------------------------------
 def initialize
   super(0, 0, 148, 128)
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
 end
 #--------------------------------------------------------------------------
 # â-- Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.draw_text(4, 0, 124, 32, "Steps: " + $game_party.steps.to_s, 0)
   self.contents.draw_text(4, 32, 124, 32, "Enc. Stps: " + $game_map.encounter_step.to_s, 0)
   # Another thing can be added at y=32 e.g. No. of Kills
   # (from Blizzard's Tons of Addons)
   self.contents.font.color = normal_color
   self.contents.blt(4, 70, RPG::Cache.icon(RM_CFG::Map_Icon), Rect.new(0, 0, 24, 24), 160)
   map_name = $game_map.name.tr("/*","")
   # Just ignore that thing I said before in the other demo... ^^;
   self.contents.draw_text(8, 64, 124, 32, map_name.to_s)
 end
end
#==============================================================================
# â-  End Window_Steps
#==============================================================================

Window Status:
Spoiler: ShowHide

#==============================================================================
# â-  Window_Status
# by Reno-s--Joker
#==============================================================================
#  This window displays full status specs on the status screen.
#==============================================================================
class Window_Status < Window_Base
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     actor : actor
 #--------------------------------------------------------------------------
 def initialize(actor)
   super(0, 0, 480, 320)
   self.contents = Bitmap.new(width - 32, height - 32)
   @actor = actor
   refresh
 end
 #--------------------------------------------------------------------------
 # â-- Refresh
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   # Draws the actor's battler behind the info
   draw_actor_picture(@actor, 360, 300)
   # Actor's name
   self.contents.font.size = 32
   draw_actor_name(@actor, 0, 0)
   self.contents.font.size = 20
   # Main stats section
   draw_actor_class(@actor, 0, 24)
   draw_actor_level(@actor, 0, 56)
   draw_actor_state(@actor, 68, 56)
   draw_actor_hp(@actor, 0, 82, 172)
   draw_actor_sp(@actor, 0, 106, 172)
   # Actor parameter section
   draw_actor_parameter(@actor, 0, 132, 0)
   draw_actor_parameter(@actor, 0, 150, 1)
   draw_actor_parameter(@actor, 0, 168, 2)
   draw_actor_parameter(@actor, 0, 186, 3)
   draw_actor_parameter(@actor, 0, 204, 4)
   draw_actor_parameter(@actor, 0, 222, 5)
   draw_actor_parameter(@actor, 0, 240, 6)
   # EXP section
   self.contents.font.color = system_color
   self.contents.draw_text(240, 56, 150, 32, "Total Exp: ")
   tx = contents.text_size("Total Exp: ").width
   draw_actor_exp(@actor, 240, 80)
   self.contents.font.color = normal_color
   self.contents.draw_text(tx + 244, 56, 76, 32, @actor.exp_s, 2)
   # Equipment Section
   self.contents.font.color = system_color
   self.contents.draw_text(240, 120, 88, 32, "Equipment: ")
   draw_item_name($data_weapons[@actor.weapon_id], 240, 148)
   draw_item_name($data_armors[@actor.armor1_id], 240, 172)
   draw_item_name($data_armors[@actor.armor2_id], 240, 196)
   draw_item_name($data_armors[@actor.armor3_id], 240, 220)
   draw_item_name($data_armors[@actor.armor4_id], 240, 246)
 end
 #--------------------------------------------------------------------------
 # â-- Defines the drawing processes
 #--------------------------------------------------------------------------
 def draw_actor_picture(actor, x, y)
   bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
   x2 = bitmap.width
   y2 = bitmap.height
   x3 = x2 / 2
   src_rect = Rect.new(0, 0, x2, y2)
   self.contents.blt(x - x3, y - y2, bitmap, src_rect)
 end
 def draw_actor_name(actor, x, y)
   self.contents.font.color = system_color
   self.contents.draw_text(x, y, 448, 32, actor.name, 1)
 end
 def draw_actor_class(actor, x, y)
   self.contents.font.color = system_color
   self.contents.draw_text(x, y, 448, 32, actor.class_name, 1)
 end
 #--------------------------------------------------------------------------
 # â-- Other stuff which needs to be there although I dunno why... XD
 #--------------------------------------------------------------------------
 def update_actor(actor)
   @actor = actor
   refresh
 end
 def dummy
   self.contents.font.color = system_color
   self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
   self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
   self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
   self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
   self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
   draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
   draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
   draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
   draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
   draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
 end
end
#==============================================================================
# â-  End Window_Status
#==============================================================================

Ring Menu:
Spoiler: ShowHide

#===============================================================================
# â-  Ring Menu Modification by Reno-s--Joker v 1.2
#===============================================================================
# This is a simple aesthetic modification to this awesome Ring Menu I found.
# It makes a small change to the actor selection window, making it available
# at all times instead of popping up on the side of the screen when it's needed.
# It also integrates the location window into the player select window, and I
# have added an animated status window.
# Note that this mod reduces the area of the screen where the ring menu looks
# good/is visible. You can remove the show player location function to counter
# this.
#
# This updated version features a suggestion by Starrodkirby86 for the addon
# windows to be moved to the top or bottom of the screen according to the
# player's position.
# It also includes a request by Kagutsuchi for the encounter chance to appear
# in the menu and some other minor script modifications.
#
# I've also included an experimental version of the ring menu for the title
# screen.
#
# In v 1.2, I have included a feature which moves the ring menu when the player
# is at the edges of the screen, the credits for which go to Landith and Aqua.
#
# If you have any issues with my modification, please report them at
# chaos-project.org
# Original script authors see below.
#===============================================================================
# â-  Ring Menu - Show Player Location - Release #1 (Edited By Dubealex)
#===============================================================================
# For more infos and update, visit:
# rmxp.dubealex.com [OR] X-RPG V2 Forum
#
# Original Ring Menu by: å'Œå¸Œ (From XRXS)
# Original Edit and Fix by: Maki
# Show Player Location Version by: Dubealex
#
# You can customize this script at line #35 - Have fun !!
# If you want to show more stuff, its easy to do, just ask, and I will release
# new version of this edited script !
#
# alex@dubealex.com
#===============================================================================

#===============================================================================
# â-¼ CLASS Scene_Menu Begins
#===============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# Å" Æ'IÆ'uÆ'WÆ'FÆ'NÆ'g‰Šú‰»
#     menu_index : Æ'RÆ'}Æ'“Æ'h‚ÌÆ'J[Æ'\Æ'‹‰ŠúˆÊ’u
#     I modified it to get rid of unnecessary config variables
#--------------------------------------------------------------------------
def initialize(menu_index = 0, actor_index = 0)
  @menu_index = menu_index
  @actor_index = actor_index # New addition for new window
  $ring_menu_text=[]
  $chara_select=[]
  @window_opacity=[]
 
#-------------------------------------------------------------------------------
# â-  Ring Menu Customization Section: (By Dubealex)
#-------------------------------------------------------------------------------
# Those variables defines how the script will act.
# Simply change the value by those you want.
# Remember that changing the font size has its limitation due to text space
# allocation.
#
# This section has been modified to remove some unused variables
   
# â-¼ SHOW LOCATION WINDOW SETTINS:
   @window_opacity[0]=200                             # Border Opacity
   @window_opacity[1]=32                             # Background Opacity
   
# â-¼  TEXT SETTINGS FOR INSIDE THE RING MENU:
   $ring_menu_text[0]="Tahoma"      # Font Type
   $ring_menu_text[1]="Items"         # Items Menu Text
   $ring_menu_text[2]="Skills"          # Skills Menu Text
   $ring_menu_text[3]="Equip"         # Equip Menu Text
   $ring_menu_text[4]="Stats"          # Stats Menu Text
   $ring_menu_text[5]="Save"          # Save Menu Text
   $ring_menu_text[6]="Quit"           # Quit Menu Text
   $ring_menu_text[7]=0                  # Font Color
   $ring_menu_text[8]=22                # Font Size
   
# â-¼  CHARACTER SELECTION WINDOW SETTINGS :
   $chara_select[0]="Tahoma"       # Font Type
   $chara_select[1]=0                   # Font Color
   $chara_select[5]=22                  # Font Size
   $chara_select[2]=255               # Window Border Opacity
   $chara_select[3]=130               # Window Background Opacity
   $chara_select[4]="001-Blue01"  # Window Skin to use
#-------------------------------------------------------------------------------
end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------
def main
  @actor = $game_party.actors[@actor_index]
  # Setup for all the new windows
  @playtime_window = Window_PlayTime.new
     @playtime_window.x = 492
     @playtime_window.opacity = @window_opacity[0]
     @playtime_window.back_opacity = @window_opacity[1]
   @steps_window = Window_Steps.new
     @steps_window.x = 0
     @steps_window.opacity = @window_opacity[0]
     @steps_window.back_opacity = @window_opacity[1]
   @gold_window = Window_Gold.new
     @gold_window.x = 492
     @gold_window.opacity = @window_opacity[0]
     @gold_window.back_opacity = @window_opacity[1]
   @status_window = Window_Status.new(@actor)
     @status_window.active = false
     @status_window.x = 80
     @status_window.z = 1999
     @status_window.opacity = @window_opacity[0]
     @status_window.back_opacity = 200
 
  # Æ'XÆ'vÆ'‰Æ'CÆ'gÆ'ZÆ'bÆ'g‚ðì¬
  @spriteset = Spriteset_Map.new
  # Æ'RÆ'}Æ'“Æ'hÆ'EÆ'BÆ'“Æ'hÆ'E‚ðì¬
 
  # This section by Dubealex makes the menu appear centred around the actor.
  # In version 1.2 it incorporates the option for an edge screen hiding fix
  # (where parts of the menu can't be seen near the edges of the screen) by
  # Landith and Aqua.
  # Set it to true or false in the config.
  unless RM_CFG::Edge_Hide_Fix == true
    px = $game_player.screen_x - 15
    py = $game_player.screen_y - 24
  else
    if $game_player.screen_x >= 576
      px = $game_player.screen_x - 15 - 64
    elsif $game_player.screen_x <= 64
      px = $game_player.screen_x - 15 + 64
    else
      px = $game_player.screen_x - 15
    end
   if $game_player.screen_y >= 416
    py = $game_player.screen_y - 24 - 64
   elsif $game_player.screen_y <= 64
    py = $game_player.screen_y - 24 + 64
   else
    py = $game_player.screen_y - 24
   end
 end
  @command_window = Window_RingMenu.new(px,py)
 
  @command_window.index = @menu_index
  # Æ'p[Æ'eÆ'Bl”‚ª 0 l‚̏ꍇ
   # If number of party members is 0
     if $game_party.actors.size == 0
       # Disable items, skills, equipment, status and save
       @command_window.disable_item(0)
       @command_window.disable_item(1)
       @command_window.disable_item(2)
       @command_window.disable_item(3)
       @command_window.disable_item(4)
     end
  @command_window.z = 100
   # If save is forbidden
     if $game_system.save_disabled
       # Disable save
       @command_window.disable_item(4)
     end
  # Æ'XÆ'e[Æ'^Æ'XÆ'EÆ'BÆ'“Æ'hÆ'E‚ðì¬
  @party_window = Window_RingMenuParty.new
  @party_window.x = 148
  @party_window.z = 200
  @party_window.height = 128
  @party_window.opacity=255
  @party_window.back_opacity=255
  @party_window.visible = true
  @party_window.active = false
 
#--------------------------------------------------------------------------
# This new section was suggested by Starrodkirby86 - Thanks! ;)
# It determines where to move the addon menu windows according to the player's
# position - to the top or to the bottom of the screen.
#--------------------------------------------------------------------------  
   if $game_player.screen_y < 352
    @playtime_window.y = 352
    @steps_window.y = 352
    @gold_window.y = 416
    @status_window.y = -320
    @party_window.y = 352
   elsif $game_player.screen_y >= 352
    @playtime_window.y = 0
    @steps_window.y = 0
    @gold_window.y = 64
    @status_window.y = 800
    @party_window.y = 0
   end
 
  # Æ'gÆ'‰Æ'“Æ'WÆ'VÆ'‡Æ'“ŽÀs
  Graphics.transition
  # Æ'Æ'CÆ'“Æ'‹[Æ'v
  loop do
    # Æ'Q[Æ'â,¬â€°Ã¦â€"Ê‚ðXV
    Graphics.update
    # “üâ€"͏î•ñ‚ðXV
    Input.update
    # Æ'tÆ'Å'[Æ'â,¬ÂXV
    update
    # ‰æâ€"Ê‚ªØ‚è‘Ã-‚í‚Á‚½‚çÆ'‹[Æ'v‚ð’†’f
    if $scene != self
      break
    end
  end
  # Æ'gÆ'‰Æ'“Æ'WÆ'VÆ'‡Æ'“â,¬â€Ãµ
  Graphics.freeze
  # Æ'XÆ'vÆ'‰Æ'CÆ'gÆ'ZÆ'bÆ'g‚ð‰ð•ú
  @spriteset.dispose
  # Æ'EÆ'BÆ'“Æ'hÆ'E‚ð‰ð•ú
  @playtime_window.dispose
  @steps_window.dispose
  @gold_window.dispose
  @status_window.dispose
  @command_window.dispose
  @party_window.dispose
end
#--------------------------------------------------------------------------
# Å" Æ'tÆ'Å'[Æ'â,¬ÂXV
#--------------------------------------------------------------------------
def update
  # Æ'EÆ'BÆ'“Æ'hÆ'E‚ðXV
  @playtime_window.update
  @steps_window.update
  @gold_window.update
  @status_window.update
  @command_window.update
  # Æ'RÆ'}Æ'“Æ'hÆ'EÆ'BÆ'“Æ'hÆ'E‚ªÆ'AÆ'NÆ'eÆ'BÆ'u‚̏ꍇ: update_command ‚ðÅ'Ã,,‚Ã"
  if @command_window.active
    update_command
    return
  end
  # Æ'XÆ'e[Æ'^Æ'XÆ'EÆ'BÆ'“Æ'hÆ'E‚ªÆ'AÆ'NÆ'eÆ'BÆ'u‚̏ꍇ: update_party ‚ðÅ'Ã,,‚Ã"
  if @party_window.active
    @party_window.update
    update_party
    return
  end
  if @status_window.active
    if $game_player.screen_y < 352
      if @status_window.y < 16
        @status_window.y += 16 # This animates the window
      end
    elsif $game_player.screen_y >= 352
      if @status_window.y > 144
        @status_window.y -= 16 # This animates the window
      end
    end
      update_playerstatus
     return
   end
 end
 def update_playerstatus
   if Input.trigger?(Input::B)
     $game_system.se_play($data_system.cancel_se)
     if $game_player.screen_y < 352
       @status_window.y = -320
     else
       @status_window.y = 800
     end
     @status_window.active = false
     @party_window.active = true
   end
 end
#--------------------------------------------------------------------------
 # * Frame Update (when command window is active)
 #--------------------------------------------------------------------------
 def update_command
  # B Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
  if Input.trigger?(Input::B)
    # Æ'LÆ'Æ'Æ'“Æ'ZÆ'‹ SE ‚ð‰‰‘t
    $game_system.se_play($data_system.cancel_se)
    # Æ'}Æ'bÆ'v‰æâ€"ʂɐ؂è‘Ã-‚¦
    $scene = Scene_Map.new
    return
  end
  # C Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
  if Input.trigger?(Input::C)
    # Æ'p[Æ'eÆ'Bl”‚ª 0 l‚Ã...AÆ'Z[Æ'uAÆ'Q[Æ'â,¬ÂIâ€"¹ˆÈŠO‚ÌÆ'RÆ'}Æ'“Æ'h‚̏ꍇ
    if $game_party.actors.size == 0 and @command_window.index < 4
      # Æ'uÆ'U[ SE ‚ð‰‰‘t
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # Æ'RÆ'}Æ'“Æ'hÆ'EÆ'BÆ'“Æ'hÆ'E‚ÌÆ'J[Æ'\Æ'‹ˆÊ’u‚Ã...•ªŠò
    case @command_window.index
   when 0  # item
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to item screen
       $scene = Scene_Item.new
   when 1  # skill
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Make status window active
       @command_window.active = false
       @party_window.active = true
       @party_window.visible = true
       @party_window.index = 0
   when 2  # equipment
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Make status window active
       @command_window.active = false
       @party_window.active = true
       @party_window.visible = true
       @party_window.index = 0
   when 3 # Status selected
       $game_system.se_play($data_system.decision_se)
       @command_window.active = false
       @party_window.active = true
       @party_window.visible = true
       @party_window.index = 0
   when 4  # save
       # If saving is forbidden
       if $game_system.save_disabled
         # Play buzzer SE
         $game_system.se_play($data_system.buzzer_se)
         return
       end
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to save screen
       $scene = Scene_Save.new
   when 5  # end game
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to end game screen
       $scene = Scene_End.new
   end
   return
 end
  # Æ'AÆ'jÆ'[Æ'VÆ'‡Æ'“’†‚È‚çÆ'J[Æ'\Æ'‹‚̏ˆâ€"‚ðs‚í‚È‚¢
  return if @command_window.animation?
  # ªor© Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
  if Input.press?(Input::UP) or  Input.press?(Input::LEFT)
    $game_system.se_play($data_system.cursor_se)
    @command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
    return
  end
  # «or¨ Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
  if Input.press?(Input::DOWN) or  Input.press?(Input::RIGHT)
    $game_system.se_play($data_system.cursor_se)
    @command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
    return
  end
end
#--------------------------------------------------------------------------
# Å" Æ'tÆ'Å'[Æ'â,¬ÂXV (Æ'XÆ'e[Æ'^Æ'XÆ'EÆ'BÆ'“Æ'hÆ'E‚ªÆ'AÆ'NÆ'eÆ'BÆ'u‚̏ꍇ)
#--------------------------------------------------------------------------
def update_party
  # B Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
  if Input.trigger?(Input::B)
    # Æ'LÆ'Æ'Æ'“Æ'ZÆ'‹ SE ‚ð‰‰‘t
    $game_system.se_play($data_system.cancel_se)
    # Æ'RÆ'}Æ'“Æ'hÆ'EÆ'BÆ'“Æ'hÆ'E‚ðÆ'AÆ'NÆ'eÆ'BÆ'u‚É‚·‚é
    @command_window.active = true
    @party_window.active = false
    @party_window.index = -1
    return
  end
  # C Æ'{Æ'^Æ'“‚ª‰Ÿ‚³‚ꂽê‡
 if Input.trigger?(Input::C)
     # Branch by command window cursor position
     case @command_window.index
     when 1  # skill
       # If this actor's action limit is 2 or more
       if $game_party.actors[@party_window.index].restriction >= 2
         # Play buzzer SE
         $game_system.se_play($data_system.buzzer_se)
         return
       end
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to skill screen
       $scene = Scene_Skill.new(@party_window.index)
     when 2  # equipment
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to equipment screen
       $scene = Scene_Equip.new(@party_window.index)
     when 3  # status
       # Play decision SE
       $game_system.se_play($data_system.decision_se)
       # Switch to status screen
       @actor = $game_party.actors[@party_window.index]
       @status_window.update_actor(@actor)
       @status_window.active = true
       @party_window.active = false
     end
     return
   end
end
end
#===============================================================================
# â-² CLASS Scene_Menu Ends
#===============================================================================

#===============================================================================
# â-¼ CLASS Window_RingMenu Begins
# This is mostly the original ring menu script and was not created by me.
# Therefore I have left the (unreadble) comments untouched.
# Some minor modifcations have been made to accomodate extra menu entries.
#===============================================================================
class Window_RingMenu < Window_Base
#--------------------------------------------------------------------------
# › Æ'NÆ'‰Æ'X’萔
#--------------------------------------------------------------------------
STARTUP_FRAMES = 20
MOVING_FRAMES = 5  
RING_R = 64      
ICON_ITEM    = RPG::Cache.icon(RM_CFG::Item_Icon)
ICON_SKILL   = RPG::Cache.icon(RM_CFG::Skill_Icon)
ICON_EQUIP   = RPG::Cache.icon(RM_CFG::Equip_Icon)
ICON_STATUS  = RPG::Cache.icon(RM_CFG::Status_Icon)
ICON_SAVE    = RPG::Cache.icon(RM_CFG::Save_Icon)
ICON_EXIT    = RPG::Cache.icon(RM_CFG::Exit_Icon)
ICON_DISABLE = RPG::Cache.icon(RM_CFG::Disabled_Icon)
SE_STARTUP = RM_CFG::Openmenu_Se
MODE_START = 1
MODE_WAIT  = 2
MODE_MOVEL = 3
MODE_MOVER = 4
#--------------------------------------------------------------------------
# › Æ'AÆ'NÆ'ZÆ'T
#--------------------------------------------------------------------------
attr_accessor :index
#--------------------------------------------------------------------------
# The stuff in the section below can be accomodated for new menu entries
#--------------------------------------------------------------------------
def initialize( center_x, center_y )
  super(0, 0, 640, 480)
  self.contents = Bitmap.new(width-32, height-32)
  self.contents.font.name = $ring_menu_text[0]
  self.contents.font.color = text_color($ring_menu_text[7])
  self.contents.font.size = $ring_menu_text[8]
  self.opacity = 0
  self.back_opacity = 0
  s1 = $ring_menu_text[1]
  s2 = $ring_menu_text[2]
  s3 = $ring_menu_text[3]
  s4 = $ring_menu_text[4]
  s5 = $ring_menu_text[5]
  s6 = $ring_menu_text[6]
  @commands = [s1, s2, s3, s4, s5, s6]
  # I changed this to prevent glitches when modifying the number of menu items
  @item_max = @commands.size
  @index = 0
  @items = [ICON_ITEM, ICON_SKILL, ICON_EQUIP, ICON_STATUS, ICON_SAVE, ICON_EXIT]
  @disabled = [false, false, false, false, false, false]
  @cx = center_x - 16
  @cy = center_y - 16
  setup_move_start
  refresh
end
#--------------------------------------------------------------------------
# Å" Æ'tÆ'Å'[Æ'â,¬ÂXV
#--------------------------------------------------------------------------
def update
  super
  refresh
end
#--------------------------------------------------------------------------
# Å" ‰æâ€"ʍÃ,,•`‰æ
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  # Æ'AÆ'CÆ'RÆ'“‚ð•`‰æ
  case @mode
  when MODE_START
    refresh_start
  when MODE_WAIT
    refresh_wait
  when MODE_MOVER
    refresh_move(1)
  when MODE_MOVEL
    refresh_move(0)
  end
  # Æ'AÆ'NÆ'eÆ'BÆ'u‚ÈÆ'RÆ'}Æ'“Æ'hâ€"¼•\ަ
  rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
  self.contents.draw_text(rect, @commands[@index],1)
end
#--------------------------------------------------------------------------
# › ‰æâ€"ʍÃ,,•`‰æ(‰Šú‰»Žž)
#--------------------------------------------------------------------------
def refresh_start
  d1 = 2.0 * Math::PI / @item_max
  d2 = 1.0 * Math::PI / STARTUP_FRAMES
  r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
  for i in 0...@item_max
    j = i - @index
    d = d1 * j + d2 * @steps
    x = @cx + ( r * Math.sin( d ) ).to_i
    y = @cy - ( r * Math.cos( d ) ).to_i
    draw_menu_item(x, y, i)
  end
  @steps -= 1
  if @steps < 1
    @mode = MODE_WAIT
  end
end
#--------------------------------------------------------------------------
# › ‰æâ€"ʍÃ,,•`‰æ(‘Ã'‹@Žž)
#--------------------------------------------------------------------------
def refresh_wait
  d = 2.0 * Math::PI / @item_max
  for i in 0...@item_max
    j = i - @index
    x = @cx + ( RING_R * Math.sin( d * j ) ).to_i
    y = @cy - ( RING_R * Math.cos( d * j ) ).to_i
    draw_menu_item(x, y, i)
  end
end
#--------------------------------------------------------------------------
# › ‰æâ€"ʍÃ,,•`‰æ(‰ñ“]Žž)
#  mode : 0=”½ŽžÅ'v‰ñ‚è 1=ŽžÅ'v‰ñ‚è
#--------------------------------------------------------------------------
def refresh_move( mode )
  d1 = 2.0 * Math::PI / @item_max
  d2 = d1 / MOVING_FRAMES
  d2 *= -1 if mode != 0
  for i in 0...@item_max
    j = i - @index
    d = d1 * j + d2 * @steps
    x = @cx + ( RING_R * Math.sin( d ) ).to_i
    y = @cy - ( RING_R * Math.cos( d ) ).to_i
    draw_menu_item(x, y, i)
  end
  @steps -= 1
  if @steps < 1
    @mode = MODE_WAIT
  end
end
#--------------------------------------------------------------------------
# Å" â,¬â€"Ú‚Ì•`‰æ
#     x :
#     y :
#     i : â,¬â€"Ú”Ã"†
#--------------------------------------------------------------------------
def draw_menu_item(x, y, i)
  #p "x=" + x.to_s + " y=" + y.to_s + " i=" + @items[i].to_s
  rect = Rect.new(0, 0, @items[i].width, @items[i].height)
  if @index == i
    self.contents.blt( x, y, @items[i], rect )
    if @disabled[@index]
      self.contents.blt( x, y, ICON_DISABLE, rect )
    end
  else
    self.contents.blt( x, y, @items[i], rect, 128 )
    if @disabled[@index]
      self.contents.blt( x, y, ICON_DISABLE, rect, 128 )
    end
  end
end
#--------------------------------------------------------------------------
# Å" â,¬â€"Ú‚ðâ€"³Å'ø‚É‚·‚é
#     index : â,¬â€"Ú”Ã"†
#--------------------------------------------------------------------------
def disable_item(index)
  @disabled[index] = true
end
#--------------------------------------------------------------------------
# › ‰Šú‰»Æ'AÆ'jÆ'[Æ'VÆ'‡Æ'“‚̏â,¬â€Ãµ
#--------------------------------------------------------------------------
def setup_move_start
  @mode = MODE_START
  @steps = STARTUP_FRAMES
  if  SE_STARTUP != nil and SE_STARTUP != ""
    Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
  end
end
#--------------------------------------------------------------------------
# › ‰ñ“]Æ'AÆ'jÆ'[Æ'VÆ'‡Æ'“‚̏â,¬â€Ãµ
#--------------------------------------------------------------------------
def setup_move_move(mode)
  if mode == MODE_MOVER
    @index -= 1
    @index = @items.size - 1 if @index < 0
  elsif mode == MODE_MOVEL
    @index += 1
    @index = 0 if @index >= @items.size
  else
    return
  end
  @mode = mode
  @steps = MOVING_FRAMES
end
#--------------------------------------------------------------------------
# › Æ'AÆ'jÆ'[Æ'VÆ'‡Æ'“’†‚©‚Ç‚¤‚©
#--------------------------------------------------------------------------
def animation?
  return @mode != MODE_WAIT
end
end
#===============================================================================
# â-² CLASS Window_RingMenu Ends
#===============================================================================

#===============================================================================
# â-¼ CLASS Window_RingMenuParty Begins
#===============================================================================

class Window_RingMenuParty < Window_Selectable
#--------------------------------------------------------------------------
# Sets up the new actor selection window
#--------------------------------------------------------------------------
def initialize
  super(0, 0, 344, 128)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.size = 20
  refresh
  self.active = false
  self.index = -1
end
#--------------------------------------------------------------------------
# Draws the party's actors and their info into the window
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  self.windowskin = RPG::Cache.windowskin($chara_select[4])
  self.contents.font.name = $chara_select[0]
  self.contents.font.color = text_color($chara_select[1])
  @item_max = $game_party.actors.size
  for i in 0...$game_party.actors.size
    x = 86 * i
    y = 0
    actor = $game_party.actors[i]
    draw_actor_graphic(actor, x+24, y+48)
    draw_actor_name(actor, x-8, y+32+14)
    draw_actor_level(actor, x, y + 48+14)
  end
end
#--------------------------------------------------------------------------
# Defines the drawing processes
#--------------------------------------------------------------------------
 def draw_actor_name(actor, x, y)
   self.contents.font.color = system_color
   self.contents.draw_text(x, y, 64, 32, actor.name, 1)
 end
 def draw_actor_level(actor, x, y)
   self.contents.font.color = system_color
   self.contents.draw_text(x, y, 32, 32, "Lvl")
   self.contents.font.color = normal_color
   self.contents.draw_text(x + 24, y, 24, 32, actor.level.to_s, 2)
 end
#--------------------------------------------------------------------------
# Updates the selection rectangle
#--------------------------------------------------------------------------
def update_cursor_rect
  if @index < 0 or @index > $game_party.actors.size - 1
    self.cursor_rect.empty
    return
  elsif @index >= 0 and @index <= $game_party.actors.size - 1
    self.cursor_rect.set((@index * 86)-7, 0, 64, 96)
  end
end
#--------------------------------------------------------------------------
# Moves the cursor rectangle and prevents it from going off the screen
#--------------------------------------------------------------------------
def update
  if @index >= 0 and @index <= $game_party.actors.size - 1
    if Input.repeat?(Input::RIGHT)
         $game_system.se_play($data_system.cursor_se)
         @index += 1
    end
    if Input.repeat?(Input::LEFT)
         $game_system.se_play($data_system.cursor_se)
         @index -= 1
    end
    update_cursor_rect
  elsif @index < 0
    @index = $game_party.actors.size - 1
  elsif @index > $game_party.actors.size - 1
    @index = 0
  else
    self.cursor_rect.empty
    return
  end
end
end
#===============================================================================
# â-² CLASS Window_RingMenuParty Ends
#===============================================================================

#===============================================================================
# â-¼ CLASS Game_Map Additional Code Begins
#===============================================================================
class Game_Map
#Dubealex Addition (from XRXS) to show Map Name on screen
# This is also necessary for the new Window_Steps
def name
  $map_infos[@map_id]
end
end
#===============================================================================
# â-² CLASS Game_Map Additional Code Ends
#===============================================================================

#===============================================================================
# â-¼ CLASS Scene_Title Additional Code Begins
#===============================================================================
class Scene_Title
# Dubealex Addition (from XRXS) to show Map Name on screen
# This is also necessary for the new Window_Steps
  $map_infos = load_data("Data/MapInfos.rxdata")
  for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
  end
end
#===============================================================================
# â-² CLASS Scene_Title Additional Code Ends
#===============================================================================

#===============================================================================
# â-² Ring Menu Script Ends
#===============================================================================


2 - I'm using a Walk/Run with animation script. My problem is: When the character is not runing, if the player press Z (The run button) the characters animations turns on.
Walk/Run Speed and Animation Script:
Spoiler: ShowHide

#################################################################
#######################  Autor PARA #############################
#################################################################
# O script permite que o personagem corra e mostre a animação da corrida
#para mosntrar a animação de corrida é nescessario que personagem
#tenha a o arquivo especifico para a animação da corrida
#Exemplo
#Se meu personagem se chama Pedro, o nome do arquivo deve ser
#Pedro_dash.png
#################################################################
class Game_Player < Game_Character

 SPEED_DASH = 4 #Velocidade da corrida  
 SPEED_NORMAL = 3 # Velocidade normal
 KEY_DASH = Input::LETTERS['Z'] #Definição do botão de corrida
 NO_FILE_DASH = true #Ativar a animação de corrida
 NO_DASH_SWITCH = 999

end

#==============================================================================
# â-  Game_Player
#==============================================================================

class Game_Player < Game_Character
 alias dash_update update
 def update
   unless moving? or $game_system.map_interpreter.running? or
          @move_route_forcing or $game_temp.message_window_showing
     if !($game_switches[NO_DASH_SWITCH])
       if Input.press?(KEY_DASH)
          if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH)
            if @move_speed != SPEED_DASH
              @move_speed = SPEED_DASH
              @dash_on = true
              $game_player.refresh
            end
          end
        elsif
          @dash_on == nil or @dash_on
          @move_speed = SPEED_NORMAL
          @dash_on = nil
          $game_player.refresh
         end
       end
   end
   dash_update
 end
 def dash_graphic_exist?(actor)    
   begin
     RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue)
   rescue
     return false
   end
   return true
 end
 alias dash_refresh refresh
 def refresh
   dash_refresh
   if $game_party.actors.size != 0
     actor = $game_party.actors[0]
     if @dash_on and dash_graphic_exist?(actor)
       fileplus = "_dash"
     else
       fileplus = ""
     end
     @character_name = actor.character_name + fileplus
     @character_hue = actor.character_hue
   end
 end
end


3 - After searching a lot I found a "Options System" script. In "Start Menu" the player can ajust "BGM" "BGS" "SFX" volumes, change the resolution, the windowskin... But the script is in conflict with a "Universal Message System". I think it's because both can change the Font type, but I don't know fix this, or make a similar script (Maybe can be easier).
Script link: https://bigaceworld.wordpress.com/rgss/custom-menu-scripts/ace-option-system-rmxp/
UMS link: http://save-point.org/thread-2394.html
System Options
Spoiler: ShowHide

#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
# â-  System Options [RMXP]                                        
# â-  Author: Bigace360  
# â-  Version: 1.41
# â-  Date: Aug 16, 2012
# â-  Blog: http://bigaceworld.wordpress.com/
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                               VERSION HISTORY                                #
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
# 08.16.2012 (v1.00) - Original script completed
# 08.17.2012 (v1.01) - Fixed line break issue in help window.
# 02.04.2013 (v1.32) - Improved Coding
#                    - Fixed the issue with the full_screen settings
#                    - Added a comfirmation when trying to click on default.
#                    - Added an layout image
#                    - Added an option to allow the player to save & load their
#                      games
# 03.14.2013 (v1.34) - Improved Coding
#                    - Removed Bars, download Warrior Core Engine for Bars
# 05.13.2013 (v1.40) - You can now set your own custom switches and variables to
#                      be a part of this list.
# 05.25.2013 (v1.41) - Compatibility with Scene_MenuBase to reduce lines and
#                      increase compatibility with other ACMS scripts
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                                INTRODUCTION                                  #
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
# The "End Game" option is possibly the most useless function in RPG Maker XP
# 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.
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                                  FEATURES                                    #
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
# ** Makes Scene_End not useless
# ** Allows the player to adjust the setting in the game.
# ** Has a Default feature to restore everything.
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                                INSTRUCTIONS                                  #
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
# To install this script, open up your script editor and copy/paste this script
# to an open slot below Scene_Debug, and ACE Menu System but above Main.
# Remember to save.
#
# -----------------------------------------------------------------------------
# Script Calls - These commands are used with script calls.
# -----------------------------------------------------------------------------
# $game_system.volume_change(:bgm, x)
# $game_system.volume_change(:bgs, x)
# $game_system.volume_change(:sfx, x)
# ~ Use the script call to change the bgm, bgs, or sfx sound rate by
# x increment. Use a negative value to lower the volume.
#
# $game_system.set_autodash(true)
# $game_system.set_autodash(false)
# ~Turns autodash on (true) or off (false).
#
# $game_system.set_full_screen(true)
# $game_system.set_full_screen(false)
# ~Turns Full Screen on (true) or off (false).
#
#-------------------------------------------------------------------------------
#
# 1. Scroll down, adjust the various  Variable values to something empty or
#    predetermined.
# 2. Go to the Windowskin folder in your project's "Graphics" folder to insert
#    the window skins you want to use there and adjust the WINDOW_HASH
#    accordingly. Do the same with the Battle Music by going to your BGM folder
#    in your project's Audio folder and then adjust the MUSIC_HASH in the module.
# 3. To Restore all back to default press [CTRL + ALT]
#
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                                  SECTIONS                                    #
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#  â-  Modules
# ** ACE Module
#
#  â-  Game_Objects
# ** Game_Temp
# ** Game_System
#
#  â-  Windows
# ** Window
# ** Window_Base
# ** Window_OptionHelp
# ** Window_OptionTypes
# ** Window_Font
# ** Window_Skins
# ** Window_BattleMusic
# ** Window_SaveFile
# ** Window_CommandBase
# ** Window_SystemOptions
# ** Ask_for_Default
#
#  â-  Scenes
# ** Scene_End
# ** Scene_Save
# ** Scene_Load
#
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#
# Credits/Thanks:
#   - Bigace360, for the script.
#   - ForeverZer0, for fixing the line break issue.
#   - KK20, for fixing the issue with the fullscreen
#
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#                     Script Conflicts and Compatability                       #
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
# â-- Compatibility
#   Requires the script 'Scene_Base' v1.5 or higher
#   Requires the script 'Scene_MenuBase' v1.00 or higher
#
# â-- Alias methods
#   class Game_System
#     def initialize
#     def item_number(item)
#
#   class Window_SaveFile < Window_Base
#     def refresh
#
#   class Scene_Save
#     def on_decision(filename)
#     def on_cancel
#    
#   class Scene_Load
#     def on_cancel
#
# â-- Overwrite methods
#   class Game_System
#     def bgm_play(bgm)
#     def bgs_play(bgs)
#     def me_play(me)
#     def se_play(se)
#    
#   class Window_Base < Window
#     def initialize(*args)
#
#   class Scene_End
#     All of Scene_End. Expect no functionality with any scripts that
#     will also replace Scene_End.
#
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Module ACE::CORE
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
module ACE
module CORE
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - General Setting -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# These are the general settings that govern the System settings.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  
OPTION_CONFIG ={
# :option_win => [Opacity, Window Border?]. (Opacity Limit: 0~255)
:option_win => [200, false],
# :menu_index - If :menu_access is true, then this value determines where
# in the menu command window it is inserted.
:menu_index => 5,
# :background - Background images
:background => 'back04',
# :layout - Image filename for window layout, must be in the Menu folder
:layout => '',
}    

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Command Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# These settings adjust the commands shown in the command list. Add, remove
# or rearrange the commands as you see fit. Here's a list of which commands
# do what:
#
# -------------------------------------------------------------------------
# :command         Description
# -------------------------------------------------------------------------
#      :blank,        - Blank Item.
#      :default       - Returns the option menu to its default settings
#
#      :volume_bgm,   - Adjusts BGM volume.
#      :volume_bgs,   - Adjusts BGS volume.
#      :volume_sfx,   - Adjusts SFX volume.
#      :battle_bgm,   - Change battle bgm name
#      :windowskin,   - Changes the windowskin.  
#      :font_name,    - Change the font name            
#
#      :auto_dash,    - Controls if need to hold down dash button to run.
#                      (Requires Warrior Engine)
#      :bar_style,    - Choose from a variety of new gradient styles. (1~7)
#                      (Requires Warrior Engine)
#      :bar_opacity,  - Change the bar opacity. (0~255)
#                      (Requires Warrior Engine)
#
#      :full_screen,  - Do you want the game in full screen?
#      :save_game,    - Do you wish to save the game?
#      :load_game,    - Do you wish to load an old game file?
#      :return_menu,  - Return back to the menu screen.
#      :return_title, - Return back to the title screen.
#      :shutdown,     - Shuts down the game.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPTIONS_COMMANDS =[# Do not remove this line.
:default, # Do you wish to restore settings?
:windowskin,   # Changes the windowskin.
:font_name,    # Change the font name
:battle_bgm,   # Changes battle bgm name
:blank,
:volume_bgm,   # Changes the BGM volume used.
:volume_bgs,   # Changes the BGS volume used.
:volume_sfx,   # Changes the SFX volume used.
:bar_style,    # Choose from a variety of new gradient styles. (1~7)
:bar_opacity,  # Change the bar opacity. (0~255)
:blank,
:auto_dash,    # Controls if need to hold down dash button to run.
:full_screen,  # Do you want the game in full screen?
:blank,
     :save_game,    # Do you wish to save the game?
:load_game,    # Do you wish to load an old game file?
:return_menu,  # Return back to the menu screen.
:return_title, # Return back to the title screen.
:shutdown,     # Shuts down the game.
] # Do not remove this.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# - Custom Switches -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# If you want your game to have system options other than just the ones
# listed above, you can insert custom switches here to produce such an
# effect. Adjust the settings here as you see fit.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
CUSTOM_SWITCHES ={
# ------------------------------------------------------------------------
# :switch    => [Switch, Name, Off Text, On Text,
#                Help Window Description
#               ], # Do not remove this.
# ------------------------------------------------------------------------
:switch_1  => [ 1, "Custom Switch 1", "OFF", "ON",
"Help description used for custom switch 1."
],
# ------------------------------------------------------------------------
:switch_2  => [ 2, "Custom Switch 2", "OFF", "ON",
"Help description used for custom switch 2."
],
# ------------------------------------------------------------------------
} # Do not remove this.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# - Custom Variables -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# If you want your game to have system options other than just the ones
# listed above, you can insert custom variables here to produce such an
# effect. Adjust the settings here as you see fit.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
CUSTOM_VARIABLES ={
# ------------------------------------------------------------------------
# :variable   => [Switch, Name,
#                 Colour1, Colour2, Min, Max,
#                 Help Window Description
#                ], # Do not remove this.
# ------------------------------------------------------------------------
:variable_1 => [ 1, "Custom Variable 1",
Color.new(32,128,204), Color.new(32,160,214), -100, 100,
"Help description used for custom variable 1."
],
# ------------------------------------------------------------------------
:variable_2 => [ 2, "Custom Variable 2",
Color.new(255,56,16), Color.new(255,120,76), -10, 10,
"Help description used for custom variable 2."
],
# ------------------------------------------------------------------------
} # Do not remove this.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Vocab Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This hash adjusts the vocab used for both the commands and the help
# description that appears above the command window. Note that for the
# command help descriptions, you may use text codes. Use \n to linebreak.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPTION_DESCRIPTION ={
# -------------------------------------------------------------------------
# :command    => [Command Name, Option1, Option2
#                 Help Window Description,
#                ], # Do not remove this.
# -------------------------------------------------------------------------
:blank      => ["", "None", "None",
""
], # Do not remove this.
# ------------------------------------------------------------------------
:windowskin => ["Windowskin", 21, "None", # Options 1 is a Variable.
"Changes the windowskin used for the game."
], # Do not remove this.
# ------------------------------------------------------------------------
:battle_bgm => ["Battle Music", 22, "None", # Options 1 is a Variable.
"Change the music played during battle"
], # Do not remove this.
# ------------------------------------------------------------------------
:volume_bgm => ["BGM Volume", Color.new(62,154,222), Color.new(153,204,255),
"Change the volume used for background music. \n" +
"Hold SHIFT to change increment by 10."
], # Do not remove this.
# ------------------------------------------------------------------------
:volume_bgs => ["BGS Volume", Color.new(160,152,255), Color.new(204,192,255),
"Change the volume used for background sound. \n" +
"Hold SHIFT to change increment by 10."
], # Do not remove this.
# ------------------------------------------------------------------------
:volume_sfx => ["SFX Volume", Color.new(255,204,32), Color.new(255,255,160),
"Change the volume used for sound effects. \n" +
"Hold SHIFT to change increment by 10."
], # Do not remove this.
# ------------------------------------------------------------------------
:font_name => ["Font Name", 23, "None", # Options 1 is a Variable.
"Change the font type name used in the game."
], # Do not remove this.      
# ------------------------------------------------------------------------
:bar_style => ["Bar Style", "None", "None",
"Choose from seven bar styles for a unique look."
], # Do not remove this.
# ------------------------------------------------------------------------
:bar_opacity => ["Bar Opacity", Color.new(0,0,0), Color.new(255,255,255),
"Change the opacity of the bars in the game.\n" +
"Hold SHIFT to change increment by 10."
], # Do not remove this.
# ------------------------------------------------------------------------
:auto_dash   => ["Auto-Dash", "Walk", "Dash",
"Automatically dash without holding the run button."
], # Do not remove this.
# ------------------------------------------------------------------------
:full_screen => ["Full Screen", "640x480", "Full",
"Switchs to full screen"
], # Do not remove this.
# ------------------------------------------------------------------------
:return_menu => ["Return to Main Menu", "None", "None",
"Return back to the main menu."
], # Do not remove this.
# ------------------------------------------------------------------------
:return_title   => ["Return to Title Screen", "None", "None",
"Go back to the title screen."
], # Do not remove this.
# ------------------------------------------------------------------------
:shutdown   => ["Shutdown Game", "None", "None",
"Turns off the game."
], # Do not remove this.
# ------------------------------------------------------------------------
:default => ["Default", "None", "None",
"Do you wish to restore the settings to default?"
], # Do not remove this.
# ------------------------------------------------------------------------  
:save_game => ["Save", "None", "None",
"Do you wish to save the game?"
], # Do not remove this.
# ------------------------------------------------------------------------  
:load_game => ["Load", "None", "None",
"Do you wish to load an old game file?"
], # Do not remove this.
# ------------------------------------------------------------------------
} # Do not remove this.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Default Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This hash changes the default settings for some of the options above.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFAULT ={
# Enable automatic dashing by default?
:autodash => false,
# Enable Full-Screen mode by default?
# Note: this feature is overwritten by 'ACE Title Screen'
:full_screen => false,
# Default style value for bars
:bar_style => 4,
# Default windowskin value
:skin_value => 1,
# Default skin value
:music_value => 1,
# Default font value
:font_value => 10,
}

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Window Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# 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:
#     File   - File Name
#     Name   - As it appears in the game
#     Back   - Back Opacity   (0-255)
#     Border - Border Opacity (0-255)
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WINDOW_HASH ={    
# Window ID => [        File,   Name, Back,  Border],
1 => ['001-Blue01', 'Blue', 200,      255],
} # Do not remove this.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Battle Music Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# The following changes the battle music used in your game. Match the Song
# with the names accordingly. Within the battle music hash, the following
# settings are adjusted as such:
#     File  - File Name
#     Name  - As it appears in the game
#     Pitch - Sets the pitch for sound playback
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BATTLE_HASH ={
# Music ID => [         File ,             Name,  Pitch],
1 => ['001-Battle01', 'Battle Music 1',     80],
2 => ['002-Battle02', 'Battle Music 2',     80],
3 => ['003-Battle03', 'Battle Music 3',     80],
4 => ['004-Battle04', 'Battle Music 4',     80],
5 => ['005-Boss01',   'Boss Music 1',       80],
6 => ['006-Boss02',   'Boss Music 2',       80],
7 => ['007-Boss03',   'Boss Music 3',       80],
8 => ['008-Boss04',   'Boss Music 4',       80],
} # Do not remove this.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Font Names -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FONT_HASH = {
1 => 'Courier New',
2 => 'Times New Roman',
3 => 'Verdana',
4 => 'Arial',
5 => 'Myriad Pro',
6 => 'Mistral',
7 => 'Arial Black',
8 => 'Georgia',
9 => 'Comic Sans MS',
10 => 'Tahoma',
11 => 'Bookman Old Style',
12 => 'Papyrus',
13 => 'UmePlus Gothic',
} # Do not remove this.
end

#â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--
# * BEGIN [ DON'T TOUCH THIS SECTION ]
#â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--
#
# â-¼ Warning
# Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death,
# and/or halitosis so edit at your own risk.
#
#â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--â--

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# â-   MESSAGE
# ---------------------------------------------------------------------------
#   Setting module for the ACE::MESSAGE
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
module MESSAGE
#--------------------------------------------------------------------------
# * required
#   This method checks for the existance of the basic module and other
#   ACMS scripts required for this script to work, don't edit this
#--------------------------------------------------------------------------
def self.required(name, req, version, type = nil)
if !$ace_script[:scene_menu_base]
msg = "The script '%s' requires the script\n"
msg += "'scene_MenuBase' v%s or higher above it to work properly\n"
msg += "Go to http://bigaceworld.wordpress.com/ to download this script."
print(sprintf(msg, self.script_name(name), version))
exit
else
self.required_script(name, req, version, type)
end
end
#--------------------------------------------------------------------------
# * script_name
#   Get the script name base on the imported value, don't edit this
#--------------------------------------------------------------------------
def self.script_name(name, ext = "ACMS")
name = name.to_s.gsub("_", " ").upcase.split
name.collect! {|char| char == ext ? "#{char} -" : char.capitalize }
name.join(" ")
end
end
end
#
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#                         â-¼ Import to Global Hash â-¼                            #
($ace_script ||= {})[:ace_system_menu] = 1.41
ACE::MESSAGE.required_script(:ace_system_menu, :scene_base, 1.5, :above)
ACE::MESSAGE.required_script(:ace_system_menu, :scene_menu_base, 1.00, :above)
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

ACE::CORE::WINDOWSKIN_VARIABLE = ACE::CORE::OPTION_DESCRIPTION[:windowskin][1]
ACE::CORE::MUSIC_VARIABLE = ACE::CORE::OPTION_DESCRIPTION[:battle_bgm][1]
ACE::CORE::FONT_VARIABLE = ACE::CORE::OPTION_DESCRIPTION[:font_name][1]

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Game_Temp
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Game_Temp
attr_accessor :option_index
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Game_System
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Game_System
include ACE::CORE
attr_accessor(:bar_style, :fullscreen, :autodash)
attr_reader(:bar_opacity, :message)
GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'l' , 'l')
alias :ace_initialize :initialize unless $@
def initialize(*args, &block)
ace_initialize(*args, &block) # Call Original Method
init_volume_control
init_gradient_style
init_bar_opacity
init_full_screen
init_autodash
end
def init_volume_control
(@volume ||= {})[:bgm] = 100
(@volume ||= {})[:bgs] = 100
(@volume ||= {})[:sfx] = 100
end
def volume(type)
init_volume_control if @volume.nil?
return [[@volume[type], 0].max, 100].min
end
def volume_change(type, increment)
init_volume_control if @volume.nil?
@volume[type] += increment
@volume[type] = [[@volume[type], 0].max, 100].min
end
def init_gradient_style
@bar_style = DEFAULT[:bar_style]
end
def bar_style?
init_gradient_style if @bar_style.nil?
return [[@bar_style, 1].max, 8].min
end
def set_bar_style(value)
init_gradient_style if @bar_style.nil?
@bar_style += value
@bar_style = [[@bar_style, 1].max, 8].min
end
def init_bar_opacity
@bar_opacity = 255
end
def opacity
init_bar_opacity if @bar_opacity.nil?
return [[@bar_opacity, 0].max, 255].min
end
def opacity_change(increment)
init_bar_opacity if @bar_opacity.nil?
@bar_opacity += increment
@bar_opacity = [[@bar_opacity, 0].max, 255].min
end
def init_full_screen
ace_title = $ace_script[:ace_title_screen]
@fullscreen = ace_title ? TITLE_CONFIG[:full_screen] : DEFAULT[:full_screen]
end
def full_screen?
if @called_set.nil?
w = GetSystemMetrics.call(0); h = GetSystemMetrics.call(1)
@fullscreen = (w == 640 && h == 480)
end
@called_set = nil
return @fullscreen
end
def set_full_screen(value)
@fullscreen = value
@called_set = 1
end
def init_autodash
@autodash = DEFAULT[:autodash]
end
def autodash?
init_autodash if @autodash.nil?
return @autodash
end
def set_autodash(value)
@autodash = value
end
def bgm_play(bgm)
@playing_bgm = bgm
if !bgm.nil? && bgm.name != ""
volume = bgm.volume * $game_system.volume(:bgm) / 100
Audio.bgm_play("Audio/BGM/" + bgm.name, volume, bgm.pitch)
else
Audio.bgm_stop
end
Graphics.frame_reset
end
def bgs_play(bgs)
@playing_bgs = bgs
if !bgs.nil? && bgs.name != ""
volume = bgs.volume * $game_system.volume(:bgs) / 100
Audio.bgs_play("Audio/BGS/" + bgs.name, volume, bgs.pitch)
else
Audio.bgs_stop
end
Graphics.frame_reset
end
def me_play(me)
if !me.nil? && me.name != ""
volume = me.volume * $game_system.volume(:bgm) / 100
Audio.me_play("Audio/ME/" + me.name, volume, me.pitch)
else
Audio.me_stop
end
Graphics.frame_reset
end
def se_play(se)
if !se.nil? && se.name != ""
volume = se.volume * $game_system.volume(:sfx) / 100
Audio.se_play("Audio/SE/" + se.name, volume, se.pitch)
end
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window
def update_windowskin
return if $game_variables.nil?
variable1 = ACE::CORE::WINDOWSKIN_VARIABLE
if $game_variables[variable1] == 0
$game_variables[variable1] = ACE::CORE::DEFAULT[:skin_value]
elsif !ACE::CORE::WINDOW_HASH.include?($game_variables[variable1])
$game_variables[variable1] = ACE::CORE::DEFAULT[:skin_value]
end
window = ACE::CORE::WINDOW_HASH[$game_variables[variable1]]
change_window_settings(window)
end
def change_window_settings(window)
self.windowskin = RPG::Cache.windowskin(window[0])
self.back_opacity = window[2]
self.opacity = window[3]
end
def update_font
self.contents = Bitmap.new(width - 32, height - 32)
return if $game_variables.nil?
variable2 = ACE::CORE::FONT_VARIABLE
if $game_variables[variable2] == 0
$game_variables[variable2] = ACE::CORE::DEFAULT[:font_value]
elsif !ACE::CORE::FONT_HASH.include?($game_variables[variable2])
$game_variables[variable2] = ACE::CORE::DEFAULT[:font_value]
end
font = ACE::CORE::FONT_HASH[$game_variables[variable2]]
change_font_settings(font)
end
def change_font_settings(new_font)
contents.font.bold = Font.default_bold
contents.font.italic = Font.default_italic  
contents.font.size = Font.default_size
contents.font.name = Font.default_name = new_font
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_Base
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_Base < Window
alias :ace_systembase_initi :initialize unless $@
def initialize(*args, &block)
ace_systembase_initi(*args, &block)
self.update_windowskin
self.update_font
stat_opacity? if $scene.is_a?(Scene_End)
end
def stat_opacity?
option_opacity = ACE::CORE::OPTION_CONFIG[:option_win]
self.back_opacity = option_opacity[0]
self.opacity = option_opacity[0] if option_opacity[1]
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_OptionHelp
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_OptionHelp < Window_Help
def initialize
super
self.height = fitting_height(2)
end
alias :multiline_set_text :set_text unless $@
def set_text(text, align = 0)
return unless text != nil
lines = text.split("\n")
if lines.size <= 1
multiline_set_text(text, align)
elsif @text != text || @align != align
self.contents.dispose
self.contents = Bitmap.new(self.width - 32, lines.size * 32)
lines.each_index do |i|
contents.draw_text(4, i*32, contents.width, 32, lines[i], align)
end
@text = text; @align = align; @actor = nil
end
show
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_OptionTypes
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_OptionTypes < Window_Selectable
include ACE::CORE
def initialize
super(160, 64, 320, fitting_height(10))
@column_max = 1
select(0)
self.z = 999
self.back_opacity = 255
hide
deactivate
refresh
end  
def item_max
@item_max = @data ? @data.size : 1
end
def create_contents
self.contents = Bitmap.new(width - 32, row_max * 32)
end
def refresh; end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_BattleMusic
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_BattleMusic < Window_OptionTypes
def variable
$game_variables[MUSIC_VARIABLE]
end
def refresh
self.contents.dispose if self.contents != nil
self.contents = nil if self.contents != nil
@data = []
hash = BATTLE_HASH.sort {|a,b| a[0] <=> b[0]}
hash.each do |key|
@data << key[0]
select(key[0] - 1) if key[0] == $game_variables[variable]
end
create_contents if item_max > 0
draw_all_items if item_max > 0
end
def draw_item(index)
clear_item(index)
contents.draw_text(item_rect(index), BATTLE_HASH[@data[index]][1], 1)
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_Font
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_Font < Window_OptionTypes
def variable
$game_variables[FONT_VARIABLE]
end
def refresh
self.contents.dispose if self.contents != nil
self.contents = nil if self.contents != nil
@data = []
hash = FONT_HASH.sort {|a,b| a[0] <=> b[0]}
hash.each do |key|
@data << key[0]
select(key[0] - 1) if key[0] == $game_variables[variable]
end
create_contents if item_max > 0
draw_all_items if item_max > 0
end
def draw_item(index)
clear_item(index)
contents.draw_text(item_rect(index), FONT_HASH[@data[index]], 1)
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_Skins
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_Skins < Window_OptionTypes
def variable
$game_variables[WINDOWSKIN_VARIABLE]
end
def refresh
self.contents.dispose if self.contents != nil
self.contents = nil if self.contents != nil
@data = []
hash = WINDOW_HASH.sort {|a,b| a[0] <=> b[0]}
hash.each do |key|
@data << key[0]
select(key[0] - 1) if key[0] == $game_variables[variable]
end
create_contents if item_max > 0
draw_all_items if item_max > 0
end
def draw_item(index)
clear_item(index)
contents.draw_text(item_rect(index), WINDOW_HASH[@data[index]][1], 1)
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_SaveFile
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_SaveFile < Window_Base
alias :refresh_savefile_ace :refresh unless $@
def refresh
ace = ACE::CORE
if @file_exist
w = @game_variables[ace::WINDOWSKIN_VARIABLE]
w = ace::DEFAULT_SKIN_VALUE if w == 0 || !ace::WINDOW_HASH.include?(w)
f = @game_variables[ace::FONT_VARIABLE]
f = ace::DEFAULT_FONT_VAULE if f == 0 || !ace::FONT_HASH.include?(f)
window = ace::WINDOW_HASH[w]
font = ace::FONT_HASH[f]
change_window_settings(window)
change_font_settings(font)
end
refresh_savefile_ace
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Window_SystemOptions
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Window_SystemOptions < Window_CommandBase
attr_reader :full_screen_index  
def initialize(help_window)
@help_window = help_window
super(make_item_list, 0, @help_window.height)
refresh
end
def warriors?
return $ace_script[:ace_warrior_module]
end
def window_width;  640; end
def window_height; 480 - @help_window.height; end
def make_item_list
vocab = []; data = []; @help_descriptions = {}
OPTIONS_COMMANDS.each do |command|
case command
when :blank, :volume_bgm, :volume_bgs, :volume_sfx, :windowskin, :default,
:return_title, :return_menu, :shutdown, :save_game, :load_game,
:battle_bgm, :font_name
data << command; vocab << OPTION_DESCRIPTION[command][0]
@help_descriptions[command] = OPTION_DESCRIPTION[command][3]
when :full_screen
data << command; vocab << OPTION_DESCRIPTION[command][0]
@help_descriptions[command] = OPTION_DESCRIPTION[command][3]
@full_screen_index = data.size
when :bar_style, :bar_opacity, :auto_dash
next unless warriors?
data << command; vocab << OPTION_DESCRIPTION[command][0]
@help_descriptions[command] = OPTION_DESCRIPTION[command][3]
else
process_custom_switch(command, vocab, data)
process_custom_variable(command, vocab, data)
end
end
return vocab, data
end
def process_custom_switch(command, vocab, data)
return unless CUSTOM_SWITCHES.include?(command)
data << command; vocab << CUSTOM_SWITCHES[command][1]
@help_descriptions[command] = CUSTOM_SWITCHES[command][4]
end
def process_custom_variable(command, vocab, data)
return unless CUSTOM_VARIABLES.include?(command)
data << command; vocab << CUSTOM_VARIABLES[command][1]
@help_descriptions[command] = CUSTOM_VARIABLES[command][6]
end
def draw_item(index)
item = @data[index]
rect = item_rect_for_text(index)
contents.clear_rect(rect)
contents.font.color = normal_color
case item
when :blank
when :volume_bgm, :volume_bgs, :volume_sfx then draw_volume(item, rect, index)
when :windowskin, :battle_bgm, :font_name then draw_window(item, rect, index)
when :bar_style then draw_bar(item, rect, index)
when :bar_opacity then draw_bar_opacity(item, rect, index)
when :full_screen, :auto_dash then draw_toggle(item, rect, index)
when :return_title, :return_menu, :shutdown, :default
draw_return(item, rect, index)
when :save_game, :load_game then draw_save(item, rect, index)
else
draw_custom_switch(item, rect, index) if CUSTOM_SWITCHES.include?(item)
draw_custom_variable(item, rect, index) if CUSTOM_VARIABLES.include?(item)
end
end
def draw_volume(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
rate = case item
when :volume_bgm then $game_system.volume(:bgm)
when :volume_bgs then $game_system.volume(:bgs)
when :volume_sfx then $game_system.volume(:sfx)
end
colour1 = OPTION_DESCRIPTION[item][1]
colour2 = OPTION_DESCRIPTION[item][2]
value = sprintf("%d%%", rate)
rate *= 0.01
if warriors?
draw_gauge(dw, rect.y-14, contents.width-dw-48, rate, colour1, colour2)
rect.y -= 4; da = 2
else
da = 1
end
contents.draw_text(dw, rect.y, contents.width-dw-48, line_height, value, da)
end
def draw_window(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
case item
when :windowskin
variable = WINDOWSKIN_VARIABLE
if $game_variables[variable] == 0
$game_variables[variable] = DEFAULT[:skin_value]
end
text = WINDOW_HASH[$game_variables[variable]][1]
when :battle_bgm
variable = MUSIC_VARIABLE
if $game_variables[variable] == 0
$game_variables[variable] = DEFAULT[:music_value]
end
text = BATTLE_HASH[$game_variables[variable]][1]
when :font_name
variable = FONT_VARIABLE
if $game_variables[variable] == 0
$game_variables[variable] = DEFAULT[:font_value]
end
text = FONT_HASH[$game_variables[variable]]
end
rect.x = dw
contents.draw_text(rect, text, 1)
end
def draw_bar(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
value = $game_system.bar_style? - 1
8.times do |i|
contents.font.color = normal_color
contents.font.color.alpha = (value == i) ? 255 : 128
dx = rect.x + dw * (8 + i)/8
text = (i + 1).to_s
contents.draw_text(dx, rect.y, dw/4-60, line_height, text, 1)
end
end
def draw_bar_opacity(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
rate = $game_system.opacity * 100.0 / 255
colour1 = OPTION_DESCRIPTION[item][1]
colour2 = OPTION_DESCRIPTION[item][2]
value = sprintf("%d%%", rate)
rate *= 0.01
draw_gauge(dw, rect.y-14, contents.width-dw-48, rate, colour1, colour2)
rect.y -= 4
contents.draw_text(dw, rect.y, contents.width-dw-48, line_height, value, 2)
end
def draw_toggle(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
enabled = case item
when :auto_dash   then $game_system.autodash?
when :full_screen then $game_system.full_screen?
end
contents.font.color = normal_color
contents.font.color.alpha = enabled ? 128 : 255
option1 = OPTION_DESCRIPTION[item][1]
contents.draw_text(dw, rect.y, contents.width/4, line_height, option1, 1)
dw += contents.width/4
contents.font.color.alpha = enabled ? 255 : 128
option2 = OPTION_DESCRIPTION[item][2]
contents.draw_text(dw, rect.y, contents.width/4, line_height, option2, 1)
end
def draw_return(item, rect, index)
contents.draw_text(rect, @commands[index], 1)
end
def draw_save(item, rect, index)
enabled = case item
when :save_game then !$game_system.save_disabled
when :load_game then continue_enabled
end
contents.font.color.alpha = enabled ? 255 : 128
contents.draw_text(rect, @commands[index], 1)
end
def draw_custom_switch(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
enabled = $game_switches[CUSTOM_SWITCHES[item][0]]
contents.font.color = normal_color
contents.font.color.alpha = enabled ? 128 : 255
option1 = CUSTOM_SWITCHES[item][2]
contents.draw_text(dw, rect.y, contents.width/4, line_height, option1, 1)
dw += contents.width/4
contents.font.color.alpha = enabled ? 255 : 128
option2 = CUSTOM_SWITCHES[item][3]
contents.draw_text(dw, rect.y, contents.width/4, line_height, option2, 1)
end
def draw_custom_variable(item, rect, index)
dw = rect.width = contents.width/2
contents.draw_text(rect, @commands[index], 1)
value = $game_variables[CUSTOM_VARIABLES[item][0]]
colour1 = CUSTOM_VARIABLES[item][2]
colour2 = CUSTOM_VARIABLES[item][3]
minimum = CUSTOM_VARIABLES[item][4]
maximum = CUSTOM_VARIABLES[item][5]
rate = (value - minimum).to_f / [(maximum - minimum).to_f, 0.01].max
if warriors?
draw_gauge(dw, rect.y-14, contents.width-dw-48, rate, colour1, colour2)
rect.y -= 4; da = 2
else
da = 1
end
contents.draw_text(dw, rect.y, contents.width-dw-48, line_height, value.to_s, da)
end
def continue_enabled
ACE::DataManager.save_file_exists?
end
def description
@help_descriptions[method]
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Ask_Battle_Command
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Ask_for_Default < Window_Selectable
attr_reader :commands
def initialize
@commands = ['Yes', 'No']
super(0, 0, @dw = 332, @commands.size * 32 + 80)
self.contents = Bitmap.new(width - 32, spacing(item_max) - 6)
refresh
select(0)
self.z = 9999
end
def refresh
contents.clear
draw_question
item_max.times {|i| draw_item(i)}
end
def draw_question
text = "Would You Like Restore Settings?"
contents.draw_text(0, 0, @dw-32, 32, text, 1)
end
def spacing(i); i * line_height + 48; end
def item_max;  @commands.size;        end
def draw_item(index)
clear_item(index)
contents.draw_text(item_rect(index), @commands[index], 1)
end
def item_rect(index)
return rect = Rect.new(0, spacing(index), self.width - 32, 32)
end
end

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Scene_End
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Scene_End < Scene_MenuBase
include ACE::CORE
def start
super
@fullscreen = $game_system.full_screen?
$game_temp.option_index = true
create_help_window
create_option_window
create_windows
create_question_window
create_wait_window
end
def create_menu_layout
super
return if OPTION_CONFIG[:layout].empty?
@menulay.bitmap = RPG::Cache.menu("Background/#{OPTION_CONFIG[:layout]}")
end
def create_help_window
@help_window = Window_OptionHelp.new
end
def create_option_window
@options_window = Window_SystemOptions.new(@help_window)
end
def create_windows
@skins_window = Window_Skins.new
@font_window = Window_Font.new
@music_window = Window_BattleMusic.new
end
def create_question_window
@window_question = Ask_for_Default.new
@window_question.y = 98
@window_question.x = 320 - @window_question.width / 2
@window_question.z = 9999
@window_question.deactivate.hide
end
def create_wait_window
@a = 0
@wait_window = Window_Base.new(220, 190, 200, 100)
@wait_window.contents = Bitmap.new(168, 68)
@wait_window.contents.draw_text(0, 16, 168, 32, 'Please wait.', 1)
@wait_window.hide; @wait_window.z = 999
end
def background_image
OPTION_CONFIG[:background]
end
def update
super
if @options_window.active;  update_system_window
elsif @skins_window.active; update_skins_window
elsif @font_window.active;  update_font_window
elsif @music_window.active; update_music_window
elsif @window_question.active; update_question
else update_wait
end
end
def update_system_window
@wait_window.hide
if $game_system.full_screen? != @fullscreen
@options_window.draw_item(@options_window.full_screen_index)
@fullscreen = $game_system.full_screen?
end
options_input_c if Input.trigger?(Input::C)
options_input_b if Input.trigger?(Input::B)
restore_default if Input.trigger?(Input::SHIFT && Input::CTRL)
cursor_left (Input.trigger?(Input::LEFT))  if Input.repeat?(Input::LEFT)
cursor_right(Input.trigger?(Input::RIGHT)) if Input.repeat?(Input::RIGHT)
end
def options_input_c
case @options_window.method
when :windowskin
Sound.play_se(:decision)
@options_window.deactivate
@skins_window.activate.show
when :battle_bgm
Sound.play_se(:decision)
@options_window.deactivate
@music_window.activate.show
when :font_name
Sound.play_se(:decision)
@options_window.deactivate
@font_window.activate.show
when :save_game then command_save
when :load_game then command_load
when :return_title then command_to_title
when :shutdown then command_shutdown
when :default then command_default
when :return_menu then command_cancel
end
end
def options_input_b
Sound.play_se(:cancel)
command_cancel
end
def cursor_right(wrap = false); cursor_change(Input::RIGHT); end
def cursor_left(wrap = false);  cursor_change(Input::LEFT);  end
def cursor_change(direction)
case @options_window.method
when :volume_bgm, :volume_bgs, :volume_sfx then change_volume(direction)
when :bar_opacity then change_opacity(direction)
when :bar_style then change_bar_style(direction)
when :full_screen, :auto_dash then change_toggle(direction)
else
change_custom_switch(direction)
change_custom_variables(direction)
end
end
def change_volume(direction)
value = direction == Input::LEFT ? -1 : 1
value *= 10 if Input.press?(Input::SHIFT)
case @options_window.method
when :volume_bgm
$game_system.volume_change(:bgm, value)
$game_system.bgm_play($game_system.bgm_memorize)
when :volume_bgs
$game_system.volume_change(:bgs, value)
$game_system.bgs_play($game_system.bgs_memorize)
when :volume_sfx  then $game_system.volume_change(:sfx, value)
end
Sound.play_se(:cursor)
@options_window.draw_item(@options_window.index)
end
def change_opacity(direction)
Sound.play_se(:cursor)
value = direction == Input::LEFT ? -1 : 1
value *= 25.5 if Input.press?(Input::SHIFT)
$game_system.opacity_change(value)
@options_window.refresh
@options_window.draw_item(@options_window.index)
end
def change_bar_style(direction)
Sound.play_se(:cursor)
value = direction == Input::LEFT ? -1 : 1
$game_system.set_bar_style(value)
@options_window.refresh
@options_window.draw_item(@options_window.index)
end
def change_toggle(direction)
value = direction == Input::LEFT ? false : true
case @options_window.method
when :full_screen
current_case = $game_system.full_screen?
$game_system.set_full_screen(value)
return if value == current_case
ACE::DataManager.full_screen
@options_window.deactivate
when :auto_dash
current_case = $game_system.autodash?
$game_system.set_autodash(value)
end
Sound.play_se(:cursor) if value != current_case
@options_window.draw_item(@options_window.index)
end
def change_custom_switch(direction)
return unless CUSTOM_SWITCHES.include?(@options_window.method)
value = direction == Input::LEFT ? false : true
ext = @options_window.method
current_case = $game_switches[CUSTOM_SWITCHES[ext][0]]
$game_switches[CUSTOM_SWITCHES[ext][0]] = value
Sound.play_se(:cursor) if value != current_case
@options_window.draw_item(@options_window.index)
end
def change_custom_variables(direction)
return unless CUSTOM_VARIABLES.include?(@options_window.method)
Sound.play_se(:cursor)
value = direction == Input::LEFT ? -1 : 1
value *= 10 if Input.press?(Input::SHIFT)
ext = @options_window.method
var = $game_variables[CUSTOM_VARIABLES[ext][0]]
minimum = CUSTOM_VARIABLES[ext][4]
maximum = CUSTOM_VARIABLES[ext][5]
$game_variables[var] += value
$game_variables[var] = [[$game_variables[var], minimum].max, maximum].min
@options_window.draw_item(@options_window.index)
end
def update_skins_window
update_skins
select_skins if Input.trigger?(Input::C)
cancel_skins if Input.trigger?(Input::B)
end
def select_skins
Sound.play_se(:decision)
@skins_window.deactivate.hide
@options_window.activate
end
def cancel_skins
Sound.play_se(:cancel)
@skins_window.deactivate.hide
@options_window.activate
end
def update_skins
return if @last_index == @skins_window.index
@last_index = @skins_window.index
$game_variables[WINDOWSKIN_VARIABLE] = @last_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
def update_font_window
update_fonts
select_font if Input.trigger?(Input::B)
cancel_font if Input.trigger?(Input::C)
end
def select_font
Sound.play_se(:decision)
@font_window.deactivate.hide
@options_window.activate
end
def cancel_font
Sound.play_se(:cancel)
@font_window.deactivate.hide
@options_window.activate
end
def update_fonts
return if @last_index == @font_window.index
@last_index = @font_window.index
$game_variables[FONT_VARIABLE] = @last_index + 1
@options_window.update_font
@options_window.refresh
@font_window.update_font
@font_window.refresh
@font_window.back_opacity = 255
@options_window.refresh
@options_window.draw_item(@options_window.index)
end
def update_music_window
update_songs
select_music if Input.trigger?(Input::B)
cancel_music if Input.trigger?(Input::C)
end
def select_music
Sound.play_se(:cancel)
@music_window.deactivate.hide
@options_window.activate
$game_system.bgm_play($game_system.bgm_memorize)
end
def cancel_music
Sound.play_se(:decision)
@music_window.deactivate.hide
@options_window.activate
$data_system.battle_bgm.name = BATTLE_HASH[@music_window.index]
end
def update_songs
return if @last_index == @music_window.index
@last_index = @music_window.index
$game_variables[MUSIC_VARIABLE] = @last_index + 1
@music_window.refresh
@music_window.back_opacity = 255
@options_window.draw_item(@options_window.index)
end
def command_default
@options_window.deactivate
@window_question.activate.show
end
def update_question
open_question if Input.trigger?(Input::C)
exit_question if Input.trigger?(Input::B)
end
def open_question
case @window_question.index
when 0 then restore_default
when 1 then Sound.play_se(:cancel); exit_question
end
end
def restore_default
ACE::DataManager.full_screen if $game_system.fullscreen
if $ace_script[:ace_title_screen]
$game_system.fullscreen = TITLE_CONFIG[:full_screen]
else $game_system.fullscreen = DEFAULT[:full_screen]
end
$game_system.autodash = DEFAULT[:autodash]
$game_system.bar_style = DEFAULT[:bar_style]
$game_system.opacity_change(255)
$game_system.volume_change(:bgm, 100)
$game_system.bgm_play($game_system.bgm_memorize)
$game_system.volume_change(:bgs, 100)
$game_system.bgs_play($game_system.bgs_memorize)
$game_system.volume_change(:sfx, 100)
@options_window.change_font_settings(FONT_HASH[DEFAULT[:font_value]])
$game_variables[FONT_VARIABLE] = DEFAULT[:font_value]
@options_window.change_window_settings(WINDOW_HASH[DEFAULT[:skin_value]])
$game_variables[WINDOWSKIN_VARIABLE] = DEFAULT[:skin_value]
$data_system.battle_bgm.name = BATTLE_HASH[DEFAULT[:music_value]]
$game_variables[MUSIC_VARIABLE] = DEFAULT[:music_value]
@options_window.refresh
exit_question
end
def exit_question
@window_question.deactivate.hide.select(0)
@options_window.activate
end
def update_wait
@wait_window.show
@a += 1
return unless @a == 100
@a = 0
@options_window.activate
end
def command_save
if !$game_system.save_disabled
Sound.play_se(:decision)
$return_option_save = true
$scene = Scene_Save.new
else Sound.play_se(:buzzer)
end
end
def command_load
if @options_window.continue_enabled
Sound.play_se(:decision)
$scene = Scene_Load.new
else Sound.play_se(:buzzer)
end
end
def command_to_title
fadeout_all(800)
$scene = Scene_Title.new
end
def command_shutdown
fadeout_all(800)
$scene = nil
end
def command_cancel
Sound.play_se(:cancel)
$game_temp.option_index = nil
if $ace_script[:ace_main_menu]
return unless $game_temp.menu_command_index.has_key?(:system)
$scene = Scene_Menu.new($game_temp.menu_command_index[:system])
else
$scene = Scene_Menu.new(OPTION_CONFIG[:menu_index])
end
end
end

if !$ace_script[:ace_save_system]
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# â-  Scene_File
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
class Scene_Save < Scene_File
alias :ace_on_decision :on_decision unless $@
alias :ace_on_cancel :on_cancel     unless $@
def on_decision(filename)
ace_on_decision(filename)
return_scene
end
def on_cancel
ace_on_cancel
return_scene
end
def return_scene
if $game_temp.save_calling && $game_temp.option_index.nil?
$game_temp.save_calling = false
$scene = Scene_Map.new
elsif $ace_script[:ace_main_menu] && $game_temp.option_index.nil?
return unless $game_temp.menu_command_index.has_key?(:save)
$scene = Scene_Menu.new($game_temp.menu_command_index[:save])
else $scene = Scene_End.new
end
end
end
class Scene_Load < Scene_File
alias :ace_on_cancel :on_cancel unless $@
def on_cancel
ace_on_cancel
if $game_temp.option_index.nil?
$scene = Scene_Title.new
else
$scene = Scene_End.new
end
end
end
end


Thanks a lot!  :D
Title: Re: [RMXP][RGSS] Three Scripts Modifications Help
Post by: KK20 on November 28, 2015, 12:53:20 am
Next time, use code tags. Makes things much nicer to read.

Run script request:
Spoiler: ShowHide

#################################################################
#######################  Autor PARA #############################
#################################################################
# O script permite que o personagem corra e mostre a animação da corrida
#para mosntrar a animação de corrida é nescessario que personagem
#tenha a o arquivo especifico para a animação da corrida
#Exemplo
#Se meu personagem se chama Pedro, o nome do arquivo deve ser
#Pedro_dash.png
#################################################################
class Game_Player < Game_Character

  SPEED_DASH = 4 #Velocidade da corrida 
  SPEED_NORMAL = 3 # Velocidade normal
  KEY_DASH = Input::A #Definição do botão de corrida
  NO_FILE_DASH = true #Ativar a animação de corrida
  NO_DASH_SWITCH = 999

end

#==============================================================================
# â-  Game_Player
#==============================================================================

class Game_Player < Game_Character
  alias set_dash_on initialize
  def initialize
    set_dash_on
    @move_speed = SPEED_NORMAL
    @dash_on = false
  end
 
  alias dash_update update
  def update
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      if !($game_switches[NO_DASH_SWITCH])
        if Input.press?(KEY_DASH)
          if (NO_FILE_DASH or dash_graphic_exist?($game_party.actors[0]))
            if @move_speed != SPEED_DASH
              @move_speed = SPEED_DASH
              @dash_on = true
            end
          end
        elsif @dash_on
          @move_speed = SPEED_NORMAL
          @dash_on = false
        end
      end
    end
    # If dash key held down and Input direction held
    if Input.dir4 != 0 and @dash_on
      # If the character is moving, change to run graphic
      if moving?
        fileplus = (dash_graphic_exist?($game_party.actors[0]) ? "_dash" : "")
        @character_name = $game_party.actors[0].character_name + fileplus
      # If character is not moving and the direction player wants to move in
      # is not passable.
      elsif !passable?(@x,@y,Input.dir4)
        @character_name.gsub!("_dash") {""}
      end
    else
      # Not pressing run key, so obviously normal graphic
      @character_name.gsub!("_dash") {""}
    end
    dash_update
  end
 
 
  def dash_graphic_exist?(actor)   
    begin
      RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue)
    rescue
      return false
    end
    return true
  end
 
end


The other requests have been satisfied according to PM.