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

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

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

1[Download]Script de video Empty [Download]Script de video 21/2/2012, 19:32

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
{Script de Video VX e XP}
por {Berka}

Permisão

Permissão.png

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Introdução

{Este script faz com que você possa rodar um filme em seu game
de uma forma facil e rapida, precisando apenas do comando chamar
script em um evento qualaquer no mapa.}

Características




Screenshots
{N/A}

Não tá dando se tiverem enciem pra mim por mp


Como usar

{Primeiro crie uma pasta com o nome "Films" na pasta de seu projeto,
depois cole o script acima do "Main" no seu "Editor de Script" depois
crie um evento ou evento comun com o comando "Chamar Script" com o seguinte

codigo [film]
film = X.formato (no local do X você troca pelo nome do filme em formato é o formato do filme
ou seja (AVI,MPG e WMV))}

Esse é o codigo necessário para rodar o filme mais você pode variar se quiser deixar o filme sem som
ou com volume baixo ou até mesmo deixalo do tamanho que quiser existem outros codigos.

[film]
film = X.formato
# x = 12 # posiçao horizontal (todos esse numeros se limita ao tamanho que você quiser)
# y = 1 # posiçao vertical
# w = 150 # dimenssao do filme: largura
# h = 150 # dimenssao do filme: altura
# vol = 750 # entre 0 e 1000 volume sonoro do filme
# bass = 999 # entre 0 e 1000 volume dos bass
# aig = 250 # entre 0 e 1000 volume dos aigus

O que eu aconselho é usar este script em full screen com a tela de seu jogo não sendo em full screen
tamanho normal da tela de seu jogo pois eu testei em varios computadores e todos rodaram perfeitamente
isso evita o pisca pisca do video ou até mesmo o problema de sair apenas o som e não a imagem.
o codigo é este.


[film]
film = X.formato
full = true

Demo

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Script
{Em caso de códigos muito grandes, você pode diposnibilizar uma demo}


Código:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                            -  Game_Film II - reloaded ^^
#  par berka
#                                                               
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss 1&2                  v 1.0
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                          -utilizaçao-
# escreva em um evento um script#058
#
# #requerimento minimu;
# [film]                # obrigatorio !
# film = monfilm.avi    # ou mpg... nome do arquivo e livre
#
# #configuraçao opicional, a ordem e importante
# poe as 4 cordenadas !
# x = 12                # posiçao horizontal
# y = 1                  # posiçao vertical
# w = 150                # dimenssao do filme: largura
# h = 150                # dimenssao do filme: altura
#
# full = true            # ativa o modo fullscreen
# vol = 750              # entre 0 e 1000 volume sonoro do filme
# bass = 999            # entre 0 e 1000 volume dos bass
# aig = 250              # entre 0 e 1000 volume dos aigus
# #comandos:
# dependendo de como esta as teclas de seu teclado sao os basicos parar video e voltar
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# este novo script de video nao tem o problema de nao passar o video ou ficar piscando
# e surporta varios formatos de arquivos e ele detecta automaticamente o tipo de video
# o encontrei por que o "scenemovie no vx" nao estava muito bom e zarpiando por ai
# consegui encontrar este script que testei e deu tudo certo ele e muito facil de se lidar
# na demo vem dizendo tudo direitinho.
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
class Game_Film
  def initialize(hash)
    hash.has_key?(:film) ? film=hash[:film] : return
    hash.has_key?(:x) ? @x=hash[:x]+" " : @x="0"
    hash.has_key?(:y) ? @y=hash[:y]+" " : @y="0"
    hash.has_key?(:w) ? @w=hash[:w]+" " : @w=""
    hash.has_key?(:h) ? @h=hash[:h]+" " : @h=""
    hash.has_key?(:vol) ? @vol=hash[:vol]+" " : @vol="1000"
    hash.has_key?(:bass) ? @bass=hash[:bass]+" " : @bass="1000"
    hash.has_key?(:aig) ? @aig=hash[:aig]+" " : @aig="1000"
    hash.has_key?(:pos) ? @pos="at pos #{hash[:pos].to_i*1000} " : @pos="at pos 0 "
    @full=hash[:full] if hash.has_key?(:full)
    @full&&dim_ecran !=[640,480] ? @plee="fullscreen " : @plee=""
    @type=" "
    @type=" type mpegvideo" if File.extname(film)==(".mpg"||".mpeg")
    @type=" type avivideo" if File.extname(film)==".avi"
    @nom='./Audio/'+film
    (p "fichier [email=#{@nom]#{@nom[/email]} non trouvé";return) if !FileTest.exist?(@nom)
    @film=Win32API.new('winmm','mciSendString','ppll','v')
    lecture
  end
  def handle
    jeu="\0"*256
    ini=Win32API.new('kernel32','GetPrivateProfileStringA','pppplp', 'l')
    ini.call('Game','','',jeu,255,".\\Game.ini")
    return Win32API.new('user32','FindWindowEx','llpp','l').call(0,0,nil,jeu.delete!("\0"))
  end
  def lecture
    v,t,status,pause=version,Time.now," "*255,false
    @film.call("open [email=#{@nom]#{@nom[/email]} alias [email=FILE#{@type]FILE#{@type[/email]} style child parent "+handle.to_s,0,0,0)
    @film.call("put FILE window at [email=#{@x}#{@y}#{@w}#{@h}",status,255,0]#{@x}#{@y}#{@w}#{@h}",status,255,0[/email])
    @film.call("setaudio File volume to [email=#{@vol}",status,255,0]#{@vol}",status,255,0[/email])
    @film.call("setaudio File bass to [email=#{@bass}",status,255,0]#{@bass}",status,255,0[/email])
    @film.call("setaudio File trebble to [email=#{@bass}",status,255,0]#{@bass}",status,255,0[/email])
    @film.call("play FILE [email=#{@plee]#{@plee[/email]} notify",status,255,handle)
    loop{sleep(0.1)
      Input.update
      @film.call("status FILE mode notify",status,255,0)
      break if status.unpack("aaaa")=="stop".split(//)||Input.trigger?(Input::B)
      if Input.trigger?(Input::C)
        if !pause;@film.call("pause FILE notify",status,255,handle);pause=false
        else;@film.call("play FILE [email=#{@plee]#{@plee[/email]} notify",status,255,handle);pause=false
        end     
      end
      (t=maj(t))if v=='xp'}
    @film.call("close FILE notify",0,0,handle)
    $scene=Scene_Map.new
  end
  def dim_ecran
    lw=Win32API.new('user32','GetSystemMetrics','i','i')
    return lw.call(0),lw.call(1)
  end
  def maj(t)
    (Graphics.update;return Time.now)if t.sec<=Time.now.sec-9||t.min !=Time.now.min
    return t
  end
  def version;FileTest.exist?('./Data/scripts.rvdata') ? 'vx': 'xp';end
end
Dir.open("./Audio") rescue Dir::mkdir("./Audio",0777)
class Game_Interpreter;def eval(script);cmd_eval(script);end;end#rmvx
class Interpreter;def eval(script);cmd_eval(script);end;end#rmxp
def cmd_eval(script)
  if script.include?("[film]")
    hash={}
    script.gsub!("[film]"){}
    list=script.split("\n")
    list.each{|e|e.gsub!(" "){};f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
    Game_Film.new(hash)
  else;return Kernel.eval(script)
  end
end

Perguntas Frequentes


Citar
Pergunta:Aqui só sai o som ou fica piscando o que eu faço?
Resposta:Faça da forma que eu falei coloque em full screen que resolve.

Créditos e Agradecimentos

Feito por {Berka, encontrado e traduzido por ITHAN.}



Última edição por The Lucas Wugades em 22/2/2012, 20:43, editado 1 vez(es)

https://templorpgmakerbr.forumeiros.com/forum

BrunoFox

BrunoFox
Administrador
Administrador
Arrume o tópico e se der bote screens.

https://templorpgmakerbr.forumeiros.com

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Arrumei.

https://templorpgmakerbr.forumeiros.com/forum

BrunoFox

BrunoFox
Administrador
Administrador
Aii agora sim da pra testar / ver melhor kk

https://templorpgmakerbr.forumeiros.com

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Ver melhor kkkk

A unica coisa que atrapalha no vx é queando deixa a tela cheia.

Quando a tela tá cheia e reproduz o video buga.

https://templorpgmakerbr.forumeiros.com/forum

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

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