Sistema de Rádio Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Sistema de Rádio

5 participantes

Ir para baixo

Sistema de Rádio Empty Sistema de Rádio

Mensagem por Leandroteix Dom Set 30, 2012 5:24 pm

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

Screenshots
Spoiler:

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
Leandro(EU) - Disponibilizar para vocês =D

___________
Sistema de Rádio Killercommand


Última edição por Leandroteix em Dom Set 30, 2012 5:42 pm, editado 1 vez(es)
Leandroteix
Leandroteix
Semi-Experiente
Semi-Experiente

Mensagens : 103
Créditos : 19

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por heyitily Dom Set 30, 2012 5:41 pm

Parabens!! perfect + 1 cred

_________________
Sistema de Rádio SICBb4n
heyitily
heyitily
Experiente
Experiente

Mensagens : 421
Créditos : 12

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por Samuka_Maker Dom Set 30, 2012 6:33 pm

nyan 1° o script nem é dele praq os parabéns? O.o
mas msmo assim vlw pela disponibilização mesmo eu usando esse aqui:
http://www.aldeiarpgbr.com/t4304-script-de-radio

_________________

Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/

Sistema de Rádio 6f4EA

Sistema de Rádio Bxvno
Tópico original/Tópico de Recrutamento
Samuka_Maker
Samuka_Maker
Aldeia Friend
Aldeia Friend

Medalhas : Sistema de Rádio WBLhI
Mensagens : 1204
Créditos : 127

http://liferpgmaker.forumfacil.net

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por BrenoFodon Dom Set 30, 2012 6:37 pm

Não gostei muito Sistema de Rádio 1036251537, a tela do jogo fica muito poluida... Sistema de Rádio 1964351358
Mas obrigado por disponibilizar!

+1 Cred
BrenoFodon
BrenoFodon
Ocasional
Ocasional

Mensagens : 188
Créditos : 11

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por Leandroteix Dom Set 30, 2012 6:39 pm

Vish cara nem vi que existia um sistema desses aqui na Aldeia =S

Se algum MOD quiser trancar, enviar pro baú, joga no lixo sei lá oque eles fazem pode fazer =P

________
Sistema de Rádio Killercommand

_________________
"Verdadeiros Heróis Morrem Sorrindo"
Sistema de Rádio Herois
Leandroteix
Leandroteix
Semi-Experiente
Semi-Experiente

Mensagens : 103
Créditos : 19

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por Samuka_Maker Dom Set 30, 2012 6:42 pm

neem, aquele script tem a mesma função que o seu, mas o script é diferente,
ah já ia me esquecendo +1cred xD

_________________

Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
http://liferpgmakerv2.forumais.com/

Sistema de Rádio 6f4EA

Sistema de Rádio Bxvno
Tópico original/Tópico de Recrutamento
Samuka_Maker
Samuka_Maker
Aldeia Friend
Aldeia Friend

Medalhas : Sistema de Rádio WBLhI
Mensagens : 1204
Créditos : 127

http://liferpgmaker.forumfacil.net

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por LeonM² Dom Set 30, 2012 6:42 pm

Apesar dos scripts serem muito parecidos irei manter ambos os tópicos, esse esta mais arrumado e o script mais atualizado.
LeonM²
LeonM²
Lenda
Lenda

Mensagens : 1802
Créditos : 153

Ir para o topo Ir para baixo

Sistema de Rádio Empty Re: Sistema de Rádio

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos