Fehu

Distillia::Message_SE

Oct 1st, 2016
127
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #══════════════════════════════════════════════════════════════════════════
  2. #  ▼ Distillia::Message_SE
  3. #  Autor: Alisson
  4. #  Versão: 1.0
  5. #  Data: 1/10/2016
  6. #══════════════════════════════════════════════════════════════════════════
  7.  
  8. #--------------------------------------------------------------------------
  9. #  ▼ Histórico
  10. #--------------------------------------------------------------------------
  11. # v1.0. Criado.
  12. #--------------------------------------------------------------------------
  13. # ▼ Termos de Uso
  14. #--------------------------------------------------------------------------
  15. # Este script pode ser usado comercialmente.
  16. # > centrorpg.com
  17. #--------------------------------------------------------------------------
  18. # ▼ Introdução
  19. #--------------------------------------------------------------------------
  20. # Este script serve para reproduzir um som enquanto o texto de mensagem
  21. # é mostrado. Você pode alterar esse som durante o jogo quando quiser.
  22. #--------------------------------------------------------------------------
  23. # ▼ Instruções
  24. #--------------------------------------------------------------------------
  25. # Para alterar o som durante o jogo, use o seguinte comando dentro de um
  26. # Chamar Script: ms_sound("Som", Volume, Pitch)
  27. # -------------------------------------------------------------------------
  28. #  ● "Som" é, obviamente, o arquivo de som na pasta Audio/SE
  29. #  ● Volume é o volume (duh).
  30. #  ● Pitch é a velocidade. No maker você não pode inserir um valor menor que
  31. #   50 para o pitch, mas aqui você pode.
  32. #══════════════════════════════════════════════════════════════════════════
  33.  
  34. module Distillia; end; module Distillia::Dis_MSE
  35.     #══════════════════════════════════════════════════════════════════════════
  36.     # ■ - Configuração -
  37.     #══════════════════════════════════════════════════════════════════════════
  38.     # Aqui fica a configuração do efeito sonoro.
  39.     #══════════════════════════════════════════════════════════════════════════
  40.    
  41.     # Som padrão a ser reproduzido. Som, Volume, Pitch.
  42.     Sound_SE = ["Decision1", 100, 100]
  43.    
  44.     # Tempo em frames que leva para reproduzir o som novamente.
  45.     Sound_Delay = 5
  46.  
  47.  
  48. end # Distillia::Dis_MSE
  49.  
  50. #==============================================================================
  51. # ▼ - Fim das Configurações -
  52. # De acordo com a lenda, alterar algo após aqui pode fazer com que um
  53. # Yoshi seja sacrificado. Evite isso se você gosta dos Yoshis.
  54. #==============================================================================
  55.  
  56. #═══════════════════════════════════════════════════════════════════════════════
  57. # ■ Game_Interpreter
  58. #═══════════════════════════════════════════════════════════════════════════════
  59. class Game_Interpreter
  60.  
  61.  #--------------------------------------------------------------------------
  62.  # ● MS Sound
  63.  #--------------------------------------------------------------------------
  64.   def ms_sound(sound, volume, pitch)
  65.     s = Distillia::Dis_MSE::Sound_SE
  66.     s[0] = sound.to_s
  67.     s[1] = volume.to_i
  68.     s[2] = pitch.to_i
  69.   end
  70.  
  71. end # Game_Interpreter
  72.  
  73. #═══════════════════════════════════════════════════════════════════════════════
  74. # ■ Game_System
  75. #═══════════════════════════════════════════════════════════════════════════════
  76. class Game_System
  77.  
  78.  #--------------------------------------------------------------------------
  79.  # ● Public Variables
  80.  #--------------------------------------------------------------------------
  81.   attr_accessor :dis_mse_sound
  82.   attr_accessor :dis_mse_vol
  83.   attr_accessor :dis_mse_pit
  84.  
  85.  #--------------------------------------------------------------------------
  86.  # ● Setup Dis MSE Sound
  87.  #--------------------------------------------------------------------------
  88.   def setup_dis_mse_sound
  89.     @dis_mse_sound = Distillia::Dis_MSE::Sound_SE[0]
  90.     @dis_mse_vol = Distillia::Dis_MSE::Sound_SE[1]
  91.     @dis_mse_pit = Distillia::Dis_MSE::Sound_SE[2]
  92.   end
  93.  
  94. end # Game_System
  95.  
  96. #═══════════════════════════════════════════════════════════════════════════════
  97. # ■ Window_Message
  98. #═══════════════════════════════════════════════════════════════════════════════
  99. class Window_Message < Window_Base
  100.  
  101.  #--------------------------------------------------------------------------
  102.  # ● Initialize
  103.  #--------------------------------------------------------------------------
  104.   alias :dis_mse_init initialize
  105.   def initialize
  106.     dis_mse_init
  107.     setup_dis_mse
  108.   end
  109.  
  110.  #--------------------------------------------------------------------------
  111.  # ● Setup Dis MSE
  112.  #--------------------------------------------------------------------------
  113.   def setup_dis_mse
  114.     @dis_mmm = Distillia_MSE_Manager.new
  115.     @dis_mmm.save_init_config
  116.     @timer = Distillia::Dis_MSE::Sound_Delay
  117.   end
  118.  
  119.  #--------------------------------------------------------------------------
  120.  # ● Update
  121.  #--------------------------------------------------------------------------
  122.   alias :dis_mse_up update
  123.   def update
  124.     dis_mse_up
  125.     update_dis_mse
  126.   end
  127.  
  128.  #--------------------------------------------------------------------------
  129.  # ● Update Dis MSE
  130.  #--------------------------------------------------------------------------
  131.   def update_dis_mse
  132.     return if !@timer
  133.     @timer -= 1
  134.     if @timer <= 0
  135.       @timer = Distillia::Dis_MSE::Sound_Delay
  136.     end
  137.   end
  138.  
  139.  #--------------------------------------------------------------------------
  140.  # ● Wait For One Character
  141.  #--------------------------------------------------------------------------
  142.   alias :dis_mse_wfoc wait_for_one_character
  143.   def wait_for_one_character
  144.     $game_system.setup_dis_mse_sound
  145.     s = $game_system.dis_mse_sound
  146.     v = $game_system.dis_mse_vol
  147.     p = $game_system.dis_mse_pit
  148.     RPG::SE.new(s, v, p).play if @timer >= Distillia::Dis_MSE::Sound_Delay
  149.     dis_mse_wfoc
  150.   end
  151.  
  152.  #--------------------------------------------------------------------------
  153.  # ● Process Input
  154.  #--------------------------------------------------------------------------
  155.   alias :dis_mse_pi process_input
  156.   def process_input
  157.     dis_mse_pi
  158.     @dis_mmm.restore_init_config
  159.   end
  160.  
  161. end # Window_Message
  162.  
  163. #═══════════════════════════════════════════════════════════════════════════════
  164. # ■ Distillia_MSE_Manager
  165. #═══════════════════════════════════════════════════════════════════════════════
  166. class Distillia_MSE_Manager
  167.  
  168.  #--------------------------------------------------------------------------
  169.  # ● Save Init Config
  170.  #--------------------------------------------------------------------------
  171.   def save_init_config
  172.     ini = Distillia::Dis_MSE::Sound_SE
  173.     @init = [ini[0], ini[1], ini[2]]
  174.   end
  175.  
  176.  #--------------------------------------------------------------------------
  177.  # ● Restore Init Config
  178.  #--------------------------------------------------------------------------
  179.   def restore_init_config
  180.     res = Distillia::Dis_MSE::Sound_SE
  181.     res[0] = @init[0]; res[1] = @init[1]; res[2] = @init[2]
  182.   end
  183.  
  184. end # Distillia_MSE_Manager
RAW Paste Data