[RMXP][RGSS] Three Scripts Modifications Help

Started by Sepharin, November 23, 2015, 04:13:20 pm

Previous topic - Next topic

Sepharin

November 23, 2015, 04:13:20 pm Last Edit: November 27, 2015, 11:47:38 pm by KK20
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

KK20

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.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!