Aldeia RPG

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

Suporte ao desenvolvimento de jogos


5 participantes

    Sistema de Rádio

    Leandroteix
    Leandroteix
    Semi-Experiente
    Semi-Experiente


    Mensagens : 103
    Créditos : 19

    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)
    heyitily
    heyitily
    Experiente
    Experiente


    Mensagens : 421
    Créditos : 12

    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
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


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

    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
    BrenoFodon
    BrenoFodon
    Ocasional
    Ocasional


    Mensagens : 188
    Créditos : 11

    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
    Leandroteix
    Leandroteix
    Semi-Experiente
    Semi-Experiente


    Mensagens : 103
    Créditos : 19

    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
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


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

    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
    LeonM²
    LeonM²
    Lenda
    Lenda


    Mensagens : 1802
    Créditos : 153

    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.

    Conteúdo patrocinado


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

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Nov 21, 2024 8:45 pm