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
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
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:
Créditos:
GoldenShadow - Criador
Atoa - Modificação
Leandro(EU) - Disponibilizar para vocês =D
___________
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
___________
Última edição por Leandroteix em Dom Set 30, 2012 5:42 pm, editado 1 vez(es)