Ace 스크립트

출처:https://torigoya.hatenadiary.jp/entry/20111201/vxace

 

저 링크의 스크립트는 MV버전처럼 볼륨을 변경할 수 있게 해주는 스크립트입니다.

 

 

스크립트 본:

# encoding: utf-8
# 【注意:2011/12/26追記】
# このスクリプトは不具合を含む古いものです.
# 使用する場合はこれではなく,最新版をお使いくださいな.
#===============================================================================
# ■ 音量変更処理スクリプトさん for RGSS3
#-------------------------------------------------------------------------------
# 2011/12/01 Ru/むっくRu
#-------------------------------------------------------------------------------
# 全体の音量変更に関する機能を追加します
#
# ● Audioモジュールに以下のメソッドが追加されます
# Audio.volBGM …… BGMのマスターボリューム取得
# Audio.volBGS …… BGSのマスターボリューム取得
# Audio.volSE  …… SEのマスターボリューム取得
# Audio.volME  …… MEのマスターボリューム取得
# Audio.volBGM=数値 …… BGMのマスターボリューム設定(0〜100)
# Audio.volBGM=数値 …… BGSのマスターボリューム設定(0〜100)
# Audio.volSE=数値  …… SEのマスターボリューム設定(0〜100)
# Audio.volME=数値  …… MEのマスターボリューム設定(0〜100)
#
# ● メニュー画面に音量調整の項目が追加されます
#
#-------------------------------------------------------------------------------
# 【問題点など】
# そもそもVXAce発売前だからちゃんと動くか微妙
#-------------------------------------------------------------------------------

#==============================================================================
# ● 設定項目
#==============================================================================
module HZM_VXA
  module AudioVol
    # メニュー画面に音量調整を表示するか?
    #  true  …… 表示する
    #  false …… 表示しない
    MENU_FLAG = true
    
    # メニュー画面に表示する項目名
    MENU_NAME        = "音量設定"
    
    # 音量設定画面の項目名
    CONFIG_BGM_NAME  = "BGM"
    CONFIG_BGS_NAME  = "BGS"
    CONFIG_SE_NAME   = "SE"
    CONFIG_ME_NAME   = "ME"
    CONFIG_EXIT_NAME = "戻る"
    
    # 音量変更の変動量
    # ADD_VOL_NORMAL …… 左右キーの変動量
    # ADD_VOL_HIGH   …… LRキーの変動量
    ADD_VOL_NORMAL = 5
    ADD_VOL_HIGH   = 25
  end
end

#==============================================================================
# ↑   ここまで設定   ↑
# ↓ 以下、スクリプト部 ↓
#==============================================================================

# 追加メソッド群
module Audio
  def self.volBGM=(vol)
    vol=100 if vol>100
    vol=0 if vol<0
    @hzmVolBGM = vol
  end
  def self.volBGS=(vol)
    vol=100 if vol>100
    vol=0 if vol<0
    @hzmVolBGS = vol
  end
  def self.volSE=(vol)
    vol=100 if vol>100
    vol=0 if vol<0
    @hzmVolSE = vol
  end
  def self.volME=(vol)
    vol=100 if vol>100
    vol=0 if vol<0
    @hzmVolME = vol
  end
  def self.volBGM
    @hzmVolBGM = 100  if @hzmVolBGM == nil
    return @hzmVolBGM
  end
  def self.volBGS
    @hzmVolBGS = 100  if @hzmVolBGS == nil
    return @hzmVolBGS
  end
  def self.volSE
    @hzmVolSE = 100  if @hzmVolSE == nil
    return @hzmVolSE
  end
  def self.volME
    @hzmVolME = 100  if @hzmVolME == nil
    return @hzmVolME
  end
end

# 再生処理
class << Audio
  alias hzm_Vol_Audio_bgm_play bgm_play
  def bgm_play(filename, volume=100, pitch=100, pos=0)
    volume = self.volBGM * volume / 100
    hzm_Vol_Audio_bgm_play(filename, volume, pitch, pos)
  end
  alias hzm_Vol_Audio_bgs_play bgs_play
  def bgs_play(filename, volume=100, pitch=100)
    volume = self.volBGS * volume / 100
    hzm_Vol_Audio_bgs_play(filename, volume, pitch)
  end
  alias hzm_Vol_Audio_se_play se_play
  def se_play(filename, volume=100, pitch=100)
    volume = self.volSE * volume / 100
    hzm_Vol_Audio_se_play(filename, volume, pitch)
  end
  alias hzm_Vol_Audio_me_play me_play
  def me_play(filename, volume=100, pitch=100)
    volume = self.volME * volume / 100
    hzm_Vol_Audio_me_play(filename, volume, pitch)
  end
end

# メニューに追加
if HZM_VXA::AudioVol::MENU_FLAG
  class Window_MenuCommand
    alias hzm_Vol_Window_MenuCommand_add_original_commands add_original_commands
    def add_original_commands
      hzm_Vol_Window_MenuCommand_add_original_commands
      add_command(HZM_VXA::AudioVol::MENU_NAME, :hzm_vxa_vol)
    end
  end

  class Scene_Menu
    alias hzm_Vol_create_command_window create_command_window
    def create_command_window
      hzm_Vol_create_command_window
      @command_window.set_handler(:hzm_vxa_vol, method(:hzm_vxa_vol))
    end
    def hzm_vxa_vol
      SceneManager.call(HZM_VXA::AudioVol::Scene_VolConfig)
    end
  end
end

# 音量変更ウィンドウ
module HZM_VXA
  module AudioVol
    class Window_VolConfig < Window_Command
      def initialize
        super(0, 0)
        self.x = (Graphics.width - self.window_width)/2
        self.y = (Graphics.height - self.window_height)/2
      end
      def make_command_list
        add_command(HZM_VXA::AudioVol::CONFIG_BGM_NAME,  :bgm)
        add_command(HZM_VXA::AudioVol::CONFIG_BGS_NAME,  :bgs)
        add_command(HZM_VXA::AudioVol::CONFIG_SE_NAME,   :se)
        add_command(HZM_VXA::AudioVol::CONFIG_ME_NAME,   :me)
        add_command(HZM_VXA::AudioVol::CONFIG_EXIT_NAME, :cancel)
      end
      def draw_item(index)
        super
        return unless index < 4
        case index
        when 0
          vol = Audio.volBGM
        when 1
          vol = Audio.volBGS
        when 2
          vol = Audio.volSE
        when 3
          vol = Audio.volME
        end
        draw_text(item_rect_for_text(index), vol, 2)
      end
      def volAdd(index, val)
        case index
        when 0
          Audio.volBGM += val
          now = RPG::BGM.last 
          Audio.bgm_play('Audio/BGM/' + now.name, now.volume, now.pitch, now.pos) if now
        when 1
          Audio.volBGS += val
        when 2
          Audio.volSE += val
        when 3
          Audio.volME += val
        end
        Sound.play_cursor
        redraw_item(index)
      end
      def cursor_left(wrap = false)
        volAdd(@index, -HZM_VXA::AudioVol::ADD_VOL_NORMAL)
      end
      def cursor_right(wrap = false)
        volAdd(@index,  HZM_VXA::AudioVol::ADD_VOL_NORMAL)
      end
      def cursor_pageup
        volAdd(@index,  -HZM_VXA::AudioVol::ADD_VOL_HIGH)
      end
      def cursor_pagedown
        volAdd(@index,  HZM_VXA::AudioVol::ADD_VOL_HIGH)
      end
    end
    class Scene_VolConfig < Scene_MenuBase
      def start
        super
        @command_window = Window_VolConfig.new
        @command_window.viewport = @viewport
        @command_window.set_handler(:cancel,   method(:return_scene))
      end
      def terminate
        super
        @command_window.dispose
      end
    end
  end
end

# セーブ時に保存,読込
class << DataManager
  alias hzm_Vol_make_save_contents make_save_contents
  def make_save_contents
    contents = hzm_Vol_make_save_contents
    contents[:hzm_vxa_vol]   = {
      :bgm => Audio.volBGM,
      :bgs => Audio.volBGS,
      :se  => Audio.volSE,
      :me  => Audio.volME
    }
    contents
  end
  alias hzm_Vol_extract_save_contents extract_save_contents
  def extract_save_contents(contents)
    hzm_Vol_extract_save_contents(contents)
    Audio.volBGM = contents[:hzm_vxa_vol][:bgm]
    Audio.volBGS = contents[:hzm_vxa_vol][:bgs]
    Audio.volSE  = contents[:hzm_vxa_vol][:se]
    Audio.volME  = contents[:hzm_vxa_vol][:me]
  end
end

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 5111
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 28933
177 그래픽 Galy`s 캐릭터 그래픽 커스텀 3 스리아씨 2013.12.17 4895
176 기타 Gamepad Extender 습작 2015.01.02 718
175 타이틀/게임오버 GG침 스크립트 file 큔. 2018.07.18 840
174 버그픽스 Graphical Object Global Reference ACE (세부적인 에러메세지 없는 RGSS Player 크래쉬 디버거) by Mithran 1 Alkaid 2014.03.03 1522
173 전투 GTBS 2.4 버전 에코 2014.11.28 1889
172 전투 GTBS v2 for VX Ace by GubiD 1 Alkaid 2013.07.19 3057
171 기타 Hurt Faces V1.2 (상처에 고통스러워하는 액터의 얼굴을 출력해봅시다.) 5 file spice 2014.09.19 3006
170 기타 Icon_Character 8 file 허걱 2012.11.23 2595
169 키입력 Improved Imput System(part of DP Core) by DiamondandPlatinum3 1 Alkaid 2014.02.12 1263
168 기타 Improved Input System 1 습작 2015.01.02 976
167 메시지 Item Choice Help Window for Ace 2 file 습작 2016.02.15 1380
166 키입력 Key Simulator by Fantasist 1 습작 2013.05.01 1388
165 기타 KGC 스텟 포인트 분배 스크립트 4 file 스리아씨 2013.09.21 1812
164 그래픽 Khas Awesome Light Effects BugFix 12 file 허걱 2013.01.15 3294
163 이동 및 탈것 Khas Pathfinder(길찾기 스크립트) 15 찬잎 2015.07.10 1961
162 버그픽스 Large Sprite ☆ Display Fix by Neon Black Alkaid 2014.02.08 1242
161 메시지 ListBox - 선택지 확장 스크립트 11 file 허걱 2014.04.03 3368
160 전투 LNX11 전투 RPGXP 전투처럼 만들기 큔. 2018.11.23 1452
159 기타 Localization by ForeverZer0, KK20 file 습작 2013.04.26 1414
158 기타 LUD Script Package file LuD 2017.08.15 1081
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11