Mettre une vidéo dans RPG maker xp

okamishu Messages postés 11 Statut Membre -  
Blitz131 Messages postés 6 Statut Membre -
Bonjour,

Alors voilà, ça fait plusieurs jours que j'essaie d'insérer une vidéo de type "avi" dans mon jeu (j'utiliser RPG maker XP) j'ai testé un bon nombre de scripts (même en anglais) et aucun ne va... Soit ils font planter le jeu, soit la vidéo s'affiche en haut a gauche à part, etc...

Si quelqu'un a un script pour m'aider je suis preneuse !

2 réponses

  1. okamishu Messages postés 11 Statut Membre
     
    *J'utilise
    Oups, sorry !
    0
  2. Blitz131 Messages postés 6 Statut Membre
     
    Bonjour, alors j'avoue vouloir la même chose que toi, mai à quelque détail près.

    J'ai pris un script du site "Oniromancie", qui s'intitule "Scene_Movie" que j'ai mis au dessus du script "Main".
    Le résultat ? Ben j'entends les sons, mais les imags ne s'affichent pas :/ (à part quand je teste une vidéo du format du jeu de Sims 2 ;>)

    Donc le fait que tu vois ta vidéo s'afficher, c'est un truc que tu arrive et ça m'intéresserais de savoir quelle script tu "utiliser" (lol)
    Mais si tu n'as pas le script que j'ai, je te laisse le tester :) je te met dans la suite de ce message tout le contenu du script.

    Alors précision, dans un évènement, il faut utiliser le module "Insérer un script" puis insérer :
    " Scene_Movie.new("<Nom de la vidéo avec le ".avi" à la fin>") "

    En fait au début du script il y a des indications, regarde bien :)
    Voici le script :

    # ==============================
    # Affichage Video
    # Corwin - 24.03.2006
    # ==============================
    #
    # Principe : affiche une video dans la fenêtre du jeu (sans faire appel à un lecteur externe)
    #
    # Utilisation : dans l'évènement, insérer un script ainsi :
    # <> Scene_Movie.new("<NOM DE LA VIDEO AVEC EXTENSION>")
    #
    # Exemple d'evènement type :
    # <> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
    # <> attendre 20 frames
    # <> Scene_Movie.new("clock.avi")
    # <> attendre 20 frames
    # <> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
    #
    # Remarques:
    # >> vous devez avoir les bons codecs installés sur votre machine
    # >> vous devez créer un répertoire Movies, à la racine du jeu
    # >> la vidéo va paraître dans la fenêtre du jeu, donc je vous conseille de modifier avant le ton
    # de l'écran en noir
    # >> vous devez mettre dans la commande le nom de la vidéo AVEC l'extension
    #

    class Scene_Movie

    def initialize(movie)
    @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
    @movie_name = Dir.getwd()+"\\Movies\\"+movie
    main
    end

    def main

    game_name = "\0" * 256
    @readini.call('Game','Title','',game_name,255,".\\Game.ini")
    game_name.delete!("\0")
    @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
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    end

    status = " " * 255
    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
    movie.call("status FILE mode",status,255,0)
    true_status = status.unpack("aaaa")
    if true_status.to_s != "play"
    break
    end
    if Input.trigger?(Input::B)
    Input.update
    break
    end
    end
    movie.call("close FILE",0,0,0)

    end

    end

    ça se fini au dernier "end".
    Bonne journée, n'hésitez pas à me dire si ça marche ou pas ^^
    0