Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy
Life RPG Maker 2.0

2ª versão do forum life rpg maker

Os membros mais ativos do mês

Últimos assuntos
» Kingdon 1.6
Ter Jun 09, 2015 3:02 pm por MasterKill

» Tempo dinâmico e Hora do Sistema
Seg Dez 09, 2013 5:42 pm por jonathas

» Sistema de Natação
Sab Dez 07, 2013 5:14 pm por jonathas

» Classificar Inventario
Sab Dez 07, 2013 12:07 pm por Samuka_Adm

» VOLTEI ALELUIA :D
Sab Dez 07, 2013 10:35 am por Samuka_Adm

» Netplay Master v4.0.7
Qua Jun 26, 2013 1:32 pm por xdario

» The League Of War [Season 1]
Sex Jan 18, 2013 6:02 pm por Warrior

» Meu primeiro desenho que posto :D
Qua Jan 09, 2013 1:37 pm por PedroMatoso

» Window Configurações
Qua Jan 09, 2013 1:36 pm por PedroMatoso

Parceiros
Fórum grátis

Fórum grátis


Mundo RPG Maker
MMORPG BRASIL

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

Sistema de Rádio

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

1 Sistema de Rádio em Dom Out 21, 2012 7:18 pm

leandroteix

avatar
Moderador G
Moderador G
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

Ver perfil do usuário

2 Re: Sistema de Rádio em Dom Out 21, 2012 8:04 pm

o visual nao é muito bonito porém pra kem kiser faser um jogo no estilo GTa ou algo parecido é uma boa xD

Ver perfil do usuário http://liferpgmakerv2.forumais.com

3 Re: Sistema de Rádio em Dom Out 21, 2012 9:38 pm

Warrior

avatar
Moderador
Moderador
Achei muito "Feio" o estilo disso e também deve dar um lag danado kk


_________________
[Você precisa estar registrado e conectado para ver este link.]
Ver perfil do usuário

Conteúdo patrocinado


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