Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

avi script

I'm using

Code:
class Scene_Movie
##Copy this into a new section of your game. 
##To play a file, move the avi file into a "movies" subdirectory (yourgame\data, 
##yourgame\graphics, yourgame\movies). 
##Then call "Scene_Movie.new(filename)" where filename is your movies actual filename
## (minus the .avi).         exp Scene_Movie.new("???")
## If you want to play multiple movies in a row 
##(for example before the game starts, maybe a "developed by", "produced by", "intro movie"
## set or something... Go to the "main" section of code and find the line "$scene = Scene_Title.new". 
##Just after that line add:
##CODE
##Scene_Movie.new("dev_by")
##Scene_Movie.new("pro_by")
##Scene_Movie.new("intro")
##$scene = Scene_Movie.new("intro",8,false)assuming the filename of the intro movie is "intro.avi" and it's 8 seconds long.
##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+".avi"
   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
     fullscreen
     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)
   bail
 end
 
 def bail
   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)','')
But I'm getting an error saying:

Name error occured while running script.
uninitialized constant interpreter::Scene_Movie

I swear I'm doing everything as written, proper directory, names and so forth. Any help?
 
Double_Fury":2juz0lul said:
I'm using
Name error occured while running script.
uninitialized constant interpreter::Scene_Movie

I swear I'm doing everything as written, proper directory, names and so forth. Any help?

Are you using RMXP or RPVX...? This could be a problem with RMVX, since many of the RGSS scripts won't go on RGSS2 without an "adaptation" script.
Also, I may be asking somethin' silly, but are you running the RM program on Linux? May I recall you that the Scene_Movie script you showed above uses the Windows API to run it, and even the Linux emulation of Windows lack some stuff.
 
I´ve a Problem with that Script. too...

I´m calling a Movie like this ( via Call Script ):
Code:
Scene_Movie.new("Intro")

The movie is 12 seconds long...
But i only got a secong of a black screen.. than my title appears.

Any idea why?

Os: Windows Vista Home Premium
Codecs: DivX, Music maker, avi, sync avi, windows media expansion
 
Its windows XP. But the strange thing is that it worked a week ago when I tryed it out. I can't remmeber what it was I did. Some minor tweak somewher made it work. But now it dies... >__<
 
Nope, tryed and failed. Somethings up, if anyone has used this and had it work- please post what you did. Even something stupid as putting to many letters in, or what you named something. Maybe we can figure out some kinda... Hehe, noob proof way to use this?
 
Sir Lord Biowulve":21yxumnc said:
I´ve a Problem with that Script. too...

I´m calling a Movie like this ( via Call Script ):
Code:
Scene_Movie.new("Intro")

The movie is 12 seconds long...
But i only got a secong of a black screen.. than my title appears.

Any idea why?

Os: Windows Vista Home Premium
Codecs: DivX, Music maker, avi, sync avi, windows media expansion

Well, your problem is that you're not defining a length for the movie. I'm not sure about the rest of the guys though.

EDIT: I just remembered that some scripts are case-sensitive. Not sure about this one.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top