Partagez
Aller en bas
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Script Video II reloaded ^^

le Ven 16 Jan 2009 - 17:42
Voila ! pour fêter la presque fin de mes partiels :P j'ai entrepris de créer un script video plug'n play.
Pourquoi ? parce que j'ai vu que le nombre de question au sujet de ces scripts...
C'est le script ultime !

fonctionnalité:
plein ecran, gestion du volume, redimensionnement et placement !

j'ai tenté de faire le plus simplement possible... et si vraiment vous n'y arrivez pas, je ne peux plus rien faire pour vous Shocked

les instructions sont au début du script !
a coller au dessus de main
Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                            -  Game_Film II - reloaded ^^
#  par berka
#                          www.rpgmakervx-fr.com                                         
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss 1 & 2                  v 1.0
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                              Utilisation
# écrivez dans un event, commande insérer un script:
#
# #minimum requis:
# [film]                # obligatoire !
# film = monfilm.avi    # ou mpg... nom du fichier à lire
#
# #configuration optionnelle, l'ordre n'est pas important
# mettre les 4 coordonnées sinon aucune !
# x = 12                # position horizontale
# y = 1                  # position verticale
# w = 150                # redimensionnement du film: largeur
# h = 150                # redimensionnement du film: hauteur
#
# full = true            # active (ou pas) le plein écran dans le mode fenetré
# vol = 750              # entre 0 et 1000 volume sonore du film
# bass = 999            # entre 0 et 1000 volume des basses: tres faible nuance
# aig = 250              # entre 0 et 1000 volume des aigus: tres faible nuance
# ret = Scene_Map
# #commandes:
# bouton B pour quitter, C pour interrompre/reprendre la lecture
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# pourquoi un nouveau script de video ?
# simplement pour ne plus avoir à répondre à toutes ces questions sur la video !
# ce script est le plus simple possible: j'ai testé toutes les erreurs possibles
# l'appel est personalisable
# le format de la video est auto-détecté
# ajout du plein écran
# de la gestion du volume
# Un dossier Films est automatiquement créé dans votre projet.
# vous y déposez les vidéos à lire !
# Il vaut mieux prendre de petites videos: parce que les démos de 200 Mo...
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

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 "
    @ret='$scene='<<hash[:ret]<<'.new' if hash.has_key?(:ret)
    @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='./Films/'+film
    (p "fichier #{@nom} 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','Title','',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 #{@nom} alias FILE#{@type} style child parent "+handle.to_s,0,0,0)
    @film.call("put FILE window at #{@x}#{@y}#{@w}#{@h}",status,255,0)
    @film.call("setaudio File volume to #{@vol}",status,255,0)
    @film.call("setaudio File bass to #{@bass}",status,255,0)
    @film.call("setaudio File trebble to #{@aig}",status,255,0)
    @film.call("play FILE #{@plee} 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=true
        else;@film.call("play FILE #{@plee} notify",status,255,handle);pause=false
        end     
      end
      (t=maj(t))if v=='xp'}
    @film.call("close FILE notify",0,0,handle)
    @ret.nil? ? $scene=Scene_Map.new : eval(@ret)
  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
end
Dir.open("./Films") rescue Dir::mkdir("./Films",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
def version;FileTest.exist?('./Data/scripts.rvdata') ? 'vx': 'xp';end
def call_film(script)
  version=='vx' ? i=Game_Interpreter : i=Interpreter
  i.new.cmd_eval(script)
end

exemple d'appel:

dans un event:
[film]
film = test.avi
aig = 999
bass = 0

dans un script:
script=<<__END__

[film]
film=test.avi
ret=Scene_Map
full=false

__END__
call_film(script)


Dernière édition par berka le Sam 28 Fév 2009 - 0:45, édité 1 fois
Coco'
Coco'
Staffeux retraité

Nombre de messages : 6577
Age : 26
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Script Video II reloaded ^^ Magikarpe Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
https://www.rpgmakervx-fr.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 17:47
Wow, c'est vraiment un script utile! affraid
Très facile a comprendre le script quand même Script Video II reloaded ^^ 434126

Merci berka Wink
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 17:50
en fait j'essaye d'alterner entre script débiles et utiles !
content que ca te plaise !
sharky0893
sharky0893
Membre

Nombre de messages : 59
Localisation : Dans ton Cul :')
Distinction : aucune
Date d'inscription : 16/12/2008

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 18:42
Génial, merci beaucoup pour ce script Berka je vais surement l'utiliser ( et te mettre en crédits evidemment ) =)
kordarr
kordarr
Modérateur

Nombre de messages : 1838
Age : 29
Localisation : île de la réunion, Le Tampon.
Distinction : Auto-proclamé sex-symbol de la commu'
Frère jumeau de Jonathan ( Secret Story )
Exhibitionniste en herbe
[Mist' & Coco' Smile]
Fan n°1 de Coco'
Psychopathe en chef
Date d'inscription : 05/11/2008

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 19:27
J'utilisai la première versin, et bien me voilà heureux de cette mise à jour...
C'est génial, magnifique, comme tu as dit c'est LE script ultime^^

en fait j'essaye d'alterner entre script débiles et utiles !
T'est passé du "indispensable parsqu'inutile" au indispensable parsque génial"...^^
Alexdream
Alexdream
Membre

Nombre de messages : 1400
Age : 30
Localisation : Rodez
Date d'inscription : 02/03/2008
http://alexdream.canalblog.com/

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 20:14
Simple question

Est ce que script ouvre une fenêtre d'un lecteur vidéo ou est tous simplement géré par RPG maker ?
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 21:59
tout est géré par rm !

si vous avez des idées d'amélioration
zoneneutre
zoneneutre
Membre

Nombre de messages : 129
Age : 31
Distinction : aucune
Date d'inscription : 17/03/2008

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 16 Jan 2009 - 23:42
même inutile un script peut s'avéré utile !
On peut toujours y modifier des ligne dans le script ^^
Merci berka !
Elscorto
Elscorto
Membre

Nombre de messages : 486
Age : 34
Localisation : Dans sa tombe en ce moment
Distinction : Homme de goût en chef.
Date d'inscription : 10/07/2008

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 13:48
Merci Berka,très bon script Script Video II reloaded ^^ 697634
Alexdream
Alexdream
Membre

Nombre de messages : 1400
Age : 30
Localisation : Rodez
Date d'inscription : 02/03/2008
http://alexdream.canalblog.com/

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 15:10
J'ai testé ton script et j'ai un petit problème j'ai le son mais pas la vidéo.Si c'est une question bête tu peux me bruler vif.
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 15:13
t'es en plein écran ?
t'as mis quoi dans ton event ?
Alexdream
Alexdream
Membre

Nombre de messages : 1400
Age : 30
Localisation : Rodez
Date d'inscription : 02/03/2008
http://alexdream.canalblog.com/

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 15:22
oui et voici ce que j'ai mis dans l'event

Spoiler:
Script Video II reloaded ^^ Yigyg10
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 15:38
informations sur ton fichier avi :
taille ?
et si possible, une copie de l'onglet Détails des propriétés du fichier !
Alexdream
Alexdream
Membre

Nombre de messages : 1400
Age : 30
Localisation : Rodez
Date d'inscription : 02/03/2008
http://alexdream.canalblog.com/

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 16:01
Spoiler:
Script Video II reloaded ^^ Kjojoj10

les voilas
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 17 Jan 2009 - 16:03
bizarre... tu as juste le son ? c'est peut etre un probleme d'encodage...
yamazaki
yamazaki
Membre

Nombre de messages : 74
Distinction : aucune
Date d'inscription : 26/12/2008

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 27 Fév 2009 - 17:13
Désolé pour le nécropost
mais ce script ne fonctionne pas chez moi.
lorsque je veux lancer la vidéo
rpg maker se bloque un instant avant de continuer normalement
sans lancer la vidéo
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Ven 27 Fév 2009 - 20:32
sans plus d'indications, je ne peux pas te repondre :
taille, duree, format de la video
ton appel dans l'event

...

berka
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 28 Fév 2009 - 0:47
Nouvelle version:

possibilité de choisir la scene de retour,
possibilité de lancer le film depuis un script
Gaki_59
Gaki_59
Membre

Nombre de messages : 24
Age : 26
Localisation : Zombieland
Distinction : aucune
Date d'inscription : 06/11/2009

Script Video II reloaded ^^ Empty Re: Script Video II reloaded ^^

le Sam 21 Nov 2009 - 0:05
Vraiment vraiment désolé pour le necropost T-T mais j'ai un souci

J'ai la video,mais pas de son
,et au lieu de durer 28 sec,elle en dure 2(acceleré o_O)
ah et la video et mal placé (sa ce doit etre a moi de gerer ^^)

Script Video II reloaded ^^ Sans_t14

je comprendrait parfaitement que vous me mettiez une sanction
mais pouvez vous m'aidez ?
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum