Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Pokémon Genesis Online! (PGO)
Qua 05 Jul 2017, 17:08 por Lexar

» Tileset Converter to MV
Sex 12 Maio 2017, 13:07 por Douggi

» [Dúvida] Como tirar a porcentagem de esquiva
Ter 09 Maio 2017, 22:15 por Neil Flame Runner

» Pack Resources, Sprites e etc
Qua 23 Dez 2015, 09:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Ter 22 Dez 2015, 08:14 por ::KimMax::

» Fantasy Art Online
Dom 18 Out 2015, 16:42 por daviih123

» Você vai ter medo do Nerve gear?
Sab 25 Jul 2015, 16:02 por Kirito-kun

» O Barato é louco
Sab 27 Jun 2015, 15:26 por Halt

» Download RPG Maker 2000 + RTP em português
Qui 21 Maio 2015, 19:28 por Wismael

» Divulgando meu grupo e página do Facebook
Ter 19 Maio 2015, 13:06 por Halt


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Script Script de Rádio em Sab 24 Nov 2012, 17:11

Halt

avatar
Administrador
Administrador
Introdução

Esse script permite que você crie uma Rádio em seu jogo. x]
Eu adicionei algumas coisinhas, como alguns comandos para facilitara configuração, possibilidade de usar Windowskins diferentes para cada janela. Além da compatibilidade com o Novo Modulo de Audio.
Adicionei também um ajuste de volume.

Características

• Cria uma "rádio" em seu jogo

Como usar

Para instalá-lo, apenas cole o script acima do main.

Para iniciar o rádio use o comando chamar script e adicione a ele
Código:
$scene = Scene_Radio.new

Para mudar a estação aperta Q ou W, e se o modo de movimento livre se tiver habilitado, pode usar as setas direita e esquerda.

Para alterar o voulme aperte A ou S, e se o modo de movimento livre se tiver habilitado, pode usar as setas cima e baixo.

A configurações pode sem ser feitas no "module Atoa"

As estações de Rádio podem ser configuradas no método "def search(hz)"

Demo

Não necessita de Demo

Script
Código:
#==============================================================================
# Script de Rádio
# por GoldenShadow a.k.a ????
# Modificado por Atoa
#==============================================================================
=begin
Esse script permite que você crie uma Rádio em seu jogo. x]

Basta colar o script acima do main e alterar as configurações
no proprio script.

Eu adicionei algumas coisinhas, como alguns comandos para facilitar
a configuração, possibilidade de usar Windowskins diferentes para
cada janela. Além da compatibilidade com o Novo Modulo de Audio.
Adicionei também um ajuste de volume.

Para iniciar o rádio use o comando chamar script e adicione a ele
$scene = Scene_Radio.new

Para mudar a estação aperta Q ou W, e se o modo de movimento livre
se tiver habilitado, pode usar as setas direita e esquerda.

Para alterar o voulme aperte A ou S, e se o modo de movimento livre
se tiver habilitado, pode usar as setas cima e baixo.

A configurações pode sem ser feitas no module "Atoa"

As estações de Rádio podem ser configuradas no método "def search(hz)"
=end
module Atoa
  #Freqüencia máxima do rádio
  Max_Hz = 110
 
  #Texto que irá aparecer junto da sintônia do rádio
  Radio_Text = "FM"
 
  #Nas próximas linhas você pode alterar as windowskins do
  #script de radio. Ex: Window_Skin1 = "001-Blue01"
  #Deixe = nil para usar a winsowskin do sistema
 
  #Window_skin da janela de sintonia
  Window_Skin1 = nil
  #Window_skin da janela de nome da estação
  Window_Skin2 = nil
  #Window_skin da janela de volume
  Window_Skin3 = nil
 
  #Se você estiver usando o sript Novo Módulo de Audio, deixe
  #essa linha true para que a música que estiver tocando não
  #reinicie após fechar o rádio
  Novo_Audio_Module = false
 
  #Se true, o personagem pode se movimentar livremente enquanto
  #ouve a rádio.
  Movimento_Livre = false
end

#==============================================================================
# Radio
#==============================================================================
class Radio
  #--------------------------------------------------------------------------
  def search(hz)
    #Aqui devem ser adicionados as estações de rádio
    if hz == 1
      $chan_name = "Radio Games" # Nome da Estação de Rádio
      $play = "023-Town01" #Nome da Música que toca
    elsif hz == 5
      $chan_name = "FlyBoyUnder FM"
      $play = "020-Field03"
    elsif hz == 13
      $chan_name = "Rádio do Nedson"
      $play = "003-Battle03"
    elsif hz == 21
      $chan_name = "Rádio Nero"
      $play = "004-Battle04"
    elsif hz == 32
      $chan_name = "Falco FM"
      $play = "005-Boss01"
    elsif hz == 40
      $chan_name = "Rádio RMB"
      $play = "006-Boss02"
    elsif hz == 67
      $chan_name = "Atoa FM"
      $play = "007-Boss03"
    #este é um exemplo de estação de rádio que só é liberada
    #atravéz da ativação de um switch.
    #No exemplo, a rádio so aparecerá se o switch 10 for ligado
    #com um conhecimento razoável sobre scripts, você pode criar
    #novas condições, como usar variáveis para tocar músicas aleatórias
    elsif hz == 101 
      if $game_switches[10] == true
        $chan_name = "Rádio Secreta"
        $play = "034-Heaven01"
      else
        $play = "none"
      end
  # PARA ADICIONAR MAIS ESTAÇÕES, VOCÊ DEVE CRIAR MAIS CONDIÇÕES
  # SEGINDO O MESMO PADRÃO DAS OUTRAS
  # elsif hz == Número da estação de rádio
  #  $chan_name = "Nome da Estação"
  #  Audio.bgm_stop
  #  $play = "Nome do arquivo de música que irá tocar"
    else
      $play = "none"
    end
  end
  #--------------------------------------------------------------------------
  def update_volume(hz)
    search(hz)
    if $play == "none"
      $chan_name = "Nemhum Canal de Radio"
      Audio.bgm_stop
    else
      $musica_atual = "Audio/BGM/" + $play
      Audio.bgm_play($musica_atual, $r_volume, 100)
    end
  end
  #--------------------------------------------------------------------------
  def play(hz)
    search(hz)
    if $play == "none"
      $chan_name = "Nemhum Canal de Radio"
      Audio.bgm_stop
    else
      Audio.bgm_stop
      $musica_atual = "Audio/BGM/" + $play
      Audio.bgm_play($musica_atual, $r_volume, 100)
    end
  end
end
 
#==============================================================================
# Window_RadioScreen
#==============================================================================
class Window_RadioScreen < Window_Base
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 320, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    if Atoa::Window_Skin3 != nil
      self.windowskin = RPG::Cache.windowskin(Atoa::Window_Skin1)
    end
    refresh
  end
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    rect_pos = ((286 * $radio_x)/Atoa::Max_Hz).to_i
    rect1 = Rect.new(0, 0, 304, 64)
    rect2 = Rect.new(0, 16, 304, 1)
    rect3 = Rect.new(rect_pos, 8, 1, 16)
    self.contents.fill_rect(rect1, Color.new(0, 0, 0))
    self.contents.fill_rect(rect2, Color.new(255, 0, 0))
    self.contents.fill_rect(rect3, Color.new(0, 0, 255))
    self.contents.draw_text(0, 0, 304, 32, $radio_x.to_s + " " + Atoa::Radio_Text , 1)
  end
end

#==============================================================================
# Window_RadioName
#==============================================================================
class Window_RadioName < Window_Base
  #--------------------------------------------------------------------------
  def initialize
    super(320, 0, 320, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    if Atoa::Window_Skin2 != nil
      self.windowskin = RPG::Cache.windowskin(Atoa::Window_Skin2)
    end
    refresh
  end
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if $chan_name != nil
      self.contents.draw_text(0, 0, self.width - 40, 32, $chan_name, 1)
    else
      self.contents.draw_text(0, 0, self.width - 40, 32, "Nemhum Canal De Radio", 1)
    end
  end
end

#==============================================================================
# Window_RadioVolume
#==============================================================================
class Window_RadioVolume < Window_Base
  #--------------------------------------------------------------------------
  def initialize
    super(0, 64, 96, 108)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    if Atoa::Window_Skin3 != nil
      self.windowskin = RPG::Cache.windowskin(Atoa::Window_Skin3)
    end
    refresh
  end
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    rect_volume = 100 - $r_volume
    rect1 = Rect.new(16, 24, 32, 68)
    rect2 = Rect.new(32, 24, 1, 68)
    rect3 = Rect.new(24, rect_volume + 24, 16, 2)
    self.contents.fill_rect(rect1, Color.new(0, 0, 0))
    self.contents.fill_rect(rect2, Color.new(0, 192, 0))
    self.contents.fill_rect(rect3, Color.new(255, 255, 0))
    self.contents.draw_text(0, 0, 64, 24, "Volume", 1)
  end
end

#==============================================================================
# Scene_Radio
#==============================================================================
class Scene_Radio
  #--------------------------------------------------------------------------
  def main
    $playingBGM=$game_system.playing_bgm
    $game_system.bgm_pause if Atoa::Novo_Audio_Module
    $radio_x = 0
    $radio_y = 300
    $r_volume = 100
    Audio.bgm_stop
    @sprite = Spriteset_Map.new
    @radio_window = Window_RadioScreen.new
    @name_window = Window_RadioName.new
    @volume_window = Window_RadioVolume.new
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @radio_window.dispose
    @name_window.dispose
    @volume_window.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  def update
    $game_map.update
    if Atoa::Movimento_Livre
      $game_player.update
    end
    $game_system.update
    $game_screen.update
    @sprite.update
    if Atoa::Movimento_Livre and Input.repeat?(Input::RIGHT) or Input.repeat?(Input::R)
      if $radio_x == Atoa::Max_Hz
        $radio_x = 0
      else
        $radio_x += 1
      end
      $radio.play($radio_x)
    end
    if  Atoa::Movimento_Livre and Input.repeat?(Input::LEFT) or Input.repeat?(Input::L)
      if $radio_x < 1
        $radio_x = Atoa::Max_Hz
      else
        $radio_x -= 1
      end
      $radio.play($radio_x)
    end
    if Atoa::Movimento_Livre and Input.repeat?(Input::UP) or Input.repeat?(Input::X)
      $radio_y += 1
      if $radio_y == 300
        $radio_y = 300
      end
      $r_volume = $radio_y/2 - 50
      if $r_volume > 100
        $r_volume = 100
      end
      if $r_volume < 50
        $r_volume = 50
      end
      $radio.update_volume($radio_x)
    end
    if Atoa::Movimento_Livre and Input.repeat?(Input::DOWN) or Input.repeat?(Input::Y)
      $radio_y -= 1
      $radio_y = 100 if $radio_y <= 100
      $r_volume = $radio_y/2 - 50
      if $r_volume > 100
        $r_volume = 100
      end
      if $r_volume < 50
        $r_volume = 50
      end
      $radio.update_volume($radio_x)
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $game_system.bgm_resume($playingBGM)
      $scene = Scene_Map.new
    end
    @radio_window.refresh
    @radio_window.update
    @name_window.refresh
    @name_window.update
    @volume_window.refresh
    @volume_window.update
  end
end

#==============================================================================
# Scene_Title
#==============================================================================
class Scene_Title
  #--------------------------------------------------------------------------
  alias ra_title_command_new_game command_new_game
  #--------------------------------------------------------------------------
  def command_new_game
    ra_title_command_new_game
    $radio = Radio.new
  end
end

#==============================================================================
# Scene_Save
#==============================================================================
class Scene_Save
  #--------------------------------------------------------------------------
  alias ra_write_save_data write_save_data
  #--------------------------------------------------------------------------
  def write_save_data(file)
    ra_write_save_data(file)
    Marshal.dump($radio, file)
  end
  #--------------------------------------------------------------------------
end

#==============================================================================
# Scene_Load
#==============================================================================
class Scene_Load
  #--------------------------------------------------------------------------
  alias ra_read_save_data read_save_data
  #--------------------------------------------------------------------------
  def read_save_data(file)
    ra_read_save_data(file)
    $radio = Marshal.load(file)
  end
end

Créditos:
GoldenShadow - Criador
Atoa - Modificação


__________________________________________
[Você precisa estar registrado e conectado para ver esta imagem.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
Fantasy - Fantasy - Fantasy - ~Razor - Darkmel

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum