Script feito por Soundspawn permite que seu projeto ou game do RPG Maker XP rode filmes, parecido com o evento do RPG Maker 2000/2003. Por alguma razão a Enterbrain quis dificultar a vida, ao invés de deixar os comandos antigos… Mas isto quebra o galho.
É possível apenas reproduzir filmes em formato .AVI e o tamanho do vídeo deve ser de 640×480, pra caber direitinho na tela (a não ser que seu game use uma resolução diferente, sei lá). A resolução mínima do seu monitor deve ser de 800×600.
Nem todo e qualquer AVI irá rodar. Convém converter com outros codecs e achar os que funcionem, se for o caso. Programas como o Format Factory fazem isto, além de converter vários formatos de vídeos (se você tem um vídeo que você fez no formato MP4 você pode convertê-lo para .AVI, com este programa, que é gratuito).
O vídeo é reproduzido quando o código é chamado. Pode ser por um evento, ou chamado por outro script.
Copie e cole o código abaixo acima do script Main
:
#by Soundspawn class Scene_Movie def initialize(movie,length,exit_to_game=true) @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l' @movie_name = Dir.getwd()+"Movies"+movie+".avi" @counter = length*10 @exit_to_game = exit_to_game main end def main game_name = " " * 256 @readini.call('Game','Title','',game_name,255,".Game.ini") game_name.delete!(" ") Graphics.transition @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L') @temp = @wnd.call(0,0,nil,game_name).to_s @movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V') @movie.call("open ""+@movie_name+"" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0) @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V') @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L') @width = @detector.call(0) if @width == 640 fullscreen Screen::update sleep(1) Screen::update sleep(1) Screen::update sleep(1) end @movie.call("play FILE",0,0,0) loop do sleep(0.1) @message.call(@temp.to_i,11,0,0) Graphics.update @message.call(@temp.to_i,11,1,0) Input.update if Input.trigger?(Input::B) Input.update break end @counter = @counter - 1 if @counter <= 0 break end end @movie.call("close FILE",0,0,0) if @exit_to_game $scene = Scene_Map.new else $scene = nil end Graphics.freeze if @width == 640 fullscreen end end end def fullscreen() $full.call(18,0,0,0) $full.call(13,0,0,0) $full.call(18,0,2,0) $full.call(13,0,2,0) end $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
Depois disto, crie uma pasta chamada Movies dentro do seu projeto. Fica tipo assim: Projeto/Movies
e copie o vídeo neste diretório.
No RPG Maker XP, crie um evento que chama script (Chamar Script
, terceira aba) e digite: Scene_Movie.new("NomeDoArquivoSemExtensão",Duração)
Obviamente você vai ter que colocar em NomeDoArquivoSemExtensão e Duração de acordo com o seu vídeo. Se por exemplo, você quer que o seu projeto rode um arquivo de vídeo chamado IntroLegau.avi que tem duração de 2 minutos e 14 segundos, o código que o evento chama fica assim:
Scene_Movie.new("IntroLegau",134)
Visto que 2 minutos e 14 segundos são 134 segundos no total (cada minuto equivale a 60 segundos, se você ainda não entendeu).
Pronto, o vídeo já está pronto pra rodar.
Você pode colocar um, ou mais, vídeos como introdução antes da tela de título do seu game. Para isto você vai ter que colocar umas linhas do script Main
. Supondo que você queira que um filminho com um logotipo seu apareça antes do titulo, cujo o nome do arquivo é logo.avi
e dura 3 segundos, procure a linha $scene = Scene_Title.new
e cole o $scene = Scene_Movie.new("logo",3,false)
acima desta linha. Vai ficar assim:
$scene = Scene_Movie.new("logo",3,false) $scene = Scene_Title.new
Para colocar outros vídeos, basta colocar mais linhas (cuidado pra não ficar muito demorado e chato antes de efetivamente começar o jogo). Tipo isso:
$scene = Scene_Movie.new("logo1",3,false) $scene = Scene_Movie.new("logo2",2,false) $scene = Scene_Movie.new("logo3",4,false) $scene = Scene_Title.new
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!
Cara quando eu tento reproduzir o video não vaiiii não roda a tela fica pretaa
Eu gostaria de saber se da pra fazer um video eu sei que isso é muito simples mais quando eu coloco o script quando eu o chamo com o personagem da erro de sintaxy vc poderia me ajudar…